From d1507b88577384fc63956eaa5c2286ab521413ce Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Fri, 30 Oct 2026 06:36:43 +0000 Subject: [PATCH] docs: Claude Code v2.1.314 - blockWritesOutsideWorkingDirectories, Messages API server-held Threads beta, Usage & Cost Analytics API goes live Co-Authored-By: claude-yolo[bot] --- content/.metadata.json | 5492 ++-- content/CHANGELOG.md | 122 + content/claude-code-manifest.json | 44 +- content/claude/claude-science/overview.md | 2 +- .../claude/claude-tag/concepts/glossary.md | 2 +- content/claude/claude-tag/users/commands.md | 14 +- .../claude/claude-tag/users/proactivity.md | 4 +- .../claude/claude-tag/users/prompt-library.md | 2 +- content/claude/connectors/microsoft/365.md | 2 +- content/claude/cowork/changelog.md | 54 +- content/claude/government/changelog.md | 2 +- content/claude/government/config/settings.md | 6 +- .../deploy-claude-code/configure.md | 2 +- content/claude/government/desktop/import.md | 5 +- content/claude/government/moving-from-web.md | 2 +- .../office-agents/connectors-and-skills.md | 12 +- content/claude/office-agents/excel.md | 15 +- content/claude/office-agents/outlook.md | 25 +- content/claude/office-agents/powerpoint.md | 15 +- .../office-agents/third-party-platforms.md | 154 +- content/claude/office-agents/word.md | 15 +- .../claude/office-agents/work-across-apps.md | 13 +- .../claude-desktop/admin-console.md | 23 +- .../third-party/claude-desktop/bedrock.md | 6 +- .../third-party/claude-desktop/bootstrap.md | 24 +- .../claude/third-party/claude-desktop/chat.md | 16 +- .../claude/third-party/claude-desktop/code.md | 3 +- .../claude-desktop/configuration-changelog.md | 33 +- .../claude-desktop/configuration-format.md | 49 +- .../claude-desktop/configuration.md | 1891 +- .../claude-desktop/connectors-m365.md | 2 +- .../claude-desktop/data-storage.md | 49 +- .../third-party/claude-desktop/extensions.md | 59 + .../claude-desktop/feature-matrix.md | 2 + .../third-party/claude-desktop/foundry.md | 12 +- .../third-party/claude-desktop/gateway.md | 131 +- .../claude-desktop/installation.md | 2 +- .../third-party/claude-desktop/mantle.md | 6 +- .../claude/third-party/claude-desktop/mdm.md | 2 +- .../third-party/claude-desktop/overview.md | 2 +- .../third-party/claude-desktop/status-line.md | 163 + .../third-party/claude-desktop/telemetry.md | 2 +- .../claude-desktop/unified-claude.md | 24 +- .../third-party/claude-desktop/vertex.md | 20 +- .../optimizing-for-cost-and-intelligence.md | 69 +- .../agents-and-tools/tool-use/advisor-tool.md | 6 +- .../tool-use/computer-use-tool.md | 6 +- content/en/api/beta.md | 4702 ++- content/en/api/beta/agents.md | 24 + content/en/api/beta/agents/archive.md | 4 + content/en/api/beta/agents/create.md | 4 + content/en/api/beta/agents/list.md | 4 + content/en/api/beta/agents/retrieve.md | 4 + content/en/api/beta/agents/update.md | 4 + content/en/api/beta/agents/versions.md | 4 + content/en/api/beta/agents/versions/list.md | 4 + content/en/api/beta/deployment_runs.md | 8 + content/en/api/beta/deployment_runs/list.md | 4 + .../en/api/beta/deployment_runs/retrieve.md | 4 + content/en/api/beta/deployments.md | 32 + content/en/api/beta/deployments/archive.md | 4 + content/en/api/beta/deployments/create.md | 4 + content/en/api/beta/deployments/list.md | 4 + content/en/api/beta/deployments/pause.md | 4 + content/en/api/beta/deployments/retrieve.md | 4 + content/en/api/beta/deployments/run.md | 4 + content/en/api/beta/deployments/unpause.md | 4 + content/en/api/beta/deployments/update.md | 4 + content/en/api/beta/dreams.md | 20 + content/en/api/beta/dreams/archive.md | 4 + content/en/api/beta/dreams/cancel.md | 4 + content/en/api/beta/dreams/create.md | 4 + content/en/api/beta/dreams/list.md | 4 + content/en/api/beta/dreams/retrieve.md | 4 + content/en/api/beta/environments.md | 56 + content/en/api/beta/environments/archive.md | 4 + content/en/api/beta/environments/create.md | 4 + content/en/api/beta/environments/delete.md | 4 + content/en/api/beta/environments/list.md | 4 + content/en/api/beta/environments/retrieve.md | 4 + content/en/api/beta/environments/update.md | 4 + content/en/api/beta/environments/work.md | 32 + content/en/api/beta/environments/work/ack.md | 4 + .../api/beta/environments/work/heartbeat.md | 4 + content/en/api/beta/environments/work/list.md | 4 + content/en/api/beta/environments/work/poll.md | 4 + .../en/api/beta/environments/work/retrieve.md | 4 + .../en/api/beta/environments/work/stats.md | 4 + content/en/api/beta/environments/work/stop.md | 4 + .../en/api/beta/environments/work/update.md | 4 + content/en/api/beta/files.md | 20 + content/en/api/beta/files/delete.md | 4 + content/en/api/beta/files/download.md | 4 + content/en/api/beta/files/list.md | 4 + .../en/api/beta/files/retrieve_metadata.md | 4 + content/en/api/beta/files/upload.md | 4 + content/en/api/beta/memory_stores.md | 56 + content/en/api/beta/memory_stores/archive.md | 4 + content/en/api/beta/memory_stores/create.md | 4 + content/en/api/beta/memory_stores/delete.md | 4 + content/en/api/beta/memory_stores/list.md | 4 + content/en/api/beta/memory_stores/memories.md | 20 + .../api/beta/memory_stores/memories/create.md | 4 + .../api/beta/memory_stores/memories/delete.md | 4 + .../api/beta/memory_stores/memories/list.md | 4 + .../beta/memory_stores/memories/retrieve.md | 4 + .../api/beta/memory_stores/memories/update.md | 4 + .../api/beta/memory_stores/memory_versions.md | 12 + .../memory_stores/memory_versions/list.md | 4 + .../memory_stores/memory_versions/redact.md | 4 + .../memory_stores/memory_versions/retrieve.md | 4 + content/en/api/beta/memory_stores/retrieve.md | 4 + content/en/api/beta/memory_stores/update.md | 4 + content/en/api/beta/messages.md | 114 + content/en/api/beta/messages/batches.md | 44 + .../en/api/beta/messages/batches/cancel.md | 4 + .../en/api/beta/messages/batches/create.md | 24 + .../en/api/beta/messages/batches/delete.md | 4 + content/en/api/beta/messages/batches/list.md | 4 + .../en/api/beta/messages/batches/results.md | 4 + .../en/api/beta/messages/batches/retrieve.md | 4 + content/en/api/beta/messages/count_tokens.md | 4 + content/en/api/beta/messages/create.md | 24 + content/en/api/beta/models.md | 12 +- content/en/api/beta/models/list.md | 6 +- content/en/api/beta/models/retrieve.md | 6 +- content/en/api/beta/organization.md | 2040 +- content/en/api/beta/organization/analytics.md | 1998 +- .../api/beta/organization/analytics/cost.md | 1256 +- .../beta/organization/analytics/cost/list.md | 661 +- .../organization/analytics/cost_report.md | 9 +- .../analytics/cost_report/list.md | 9 +- .../api/beta/organization/analytics/usage.md | 1285 +- .../beta/organization/analytics/usage/list.md | 676 +- .../organization/analytics/usage_report.md | 9 +- .../analytics/usage_report/list.md | 9 +- .../analytics/user_cost_report.md | 14 +- .../analytics/user_cost_report/list.md | 14 +- .../analytics/user_usage_report.md | 14 +- .../analytics/user_usage_report/list.md | 14 +- .../en/api/beta/organization/cost_report.md | 8 +- .../beta/organization/cost_report/retrieve.md | 8 +- .../en/api/beta/organization/federation.md | 52 + .../beta/organization/federation/issuers.md | 20 + .../federation/issuers/archive.md | 4 + .../organization/federation/issuers/create.md | 4 + .../organization/federation/issuers/list.md | 4 + .../federation/issuers/retrieve.md | 4 + .../organization/federation/issuers/update.md | 4 + .../api/beta/organization/federation/rules.md | 32 + .../organization/federation/rules/archive.md | 4 + .../organization/federation/rules/create.md | 4 + .../organization/federation/rules/list.md | 4 + .../organization/federation/rules/retrieve.md | 4 + .../organization/federation/rules/update.md | 4 + .../federation/rules/workspaces.md | 12 + .../federation/rules/workspaces/add.md | 4 + .../federation/rules/workspaces/list.md | 4 + .../federation/rules/workspaces/remove.md | 4 + .../en/api/beta/organization/mcp_tunnels.md | 36 + .../beta/organization/mcp_tunnels/archive.md | 4 + .../api/beta/organization/mcp_tunnels/list.md | 4 + .../beta/organization/mcp_tunnels/retrieve.md | 4 + .../organization/mcp_tunnels/reveal_token.md | 4 + .../organization/mcp_tunnels/rotate_token.md | 4 + .../mcp_tunnels/tunnel_certificates.md | 16 + .../tunnel_certificates/archive.md | 4 + .../mcp_tunnels/tunnel_certificates/create.md | 4 + .../mcp_tunnels/tunnel_certificates/list.md | 4 + .../tunnel_certificates/retrieve.md | 4 + .../beta/organization/plugin_marketplaces.md | 20 + .../organization/plugin_marketplaces/list.md | 4 + .../plugin_marketplaces/retrieve.md | 4 + .../plugin_marketplaces/update.md | 4 + .../plugin_marketplaces/validate_archive.md | 4 + .../validate_repository.md | 4 + content/en/api/beta/organization/plugins.md | 52 + .../api/beta/organization/plugins/create.md | 4 + .../api/beta/organization/plugins/delete.md | 4 + .../plugins/installation_settings.md | 12 + .../plugins/installation_settings/list.md | 4 + .../plugins/installation_settings/remove.md | 4 + .../plugins/installation_settings/set.md | 4 + .../en/api/beta/organization/plugins/list.md | 4 + .../api/beta/organization/plugins/retrieve.md | 4 + .../api/beta/organization/plugins/shares.md | 4 + .../beta/organization/plugins/shares/list.md | 4 + .../api/beta/organization/plugins/update.md | 4 + .../api/beta/organization/plugins/versions.md | 16 + .../organization/plugins/versions/create.md | 4 + .../organization/plugins/versions/download.md | 4 + .../organization/plugins/versions/list.md | 4 + .../organization/plugins/versions/retrieve.md | 4 + .../api/beta/organization/service_accounts.md | 32 + .../organization/service_accounts/archive.md | 4 + .../organization/service_accounts/create.md | 4 + .../organization/service_accounts/list.md | 4 + .../organization/service_accounts/retrieve.md | 4 + .../organization/service_accounts/update.md | 4 + .../service_accounts/workspaces.md | 12 + .../service_accounts/workspaces/add.md | 4 + .../service_accounts/workspaces/list.md | 4 + .../service_accounts/workspaces/remove.md | 4 + .../en/api/beta/organization/spend_limits.md | 8 + .../beta/organization/spend_limits/list.md | 4 + .../api/beta/organization/spend_limits/set.md | 4 + .../organization/telemetry_destinations.md | 36 + .../telemetry_destinations/create.md | 4 + .../telemetry_destinations/delete.md | 4 + .../telemetry_destinations/list.md | 4 + .../telemetry_destinations/retrieve.md | 4 + .../telemetry_destinations/test.md | 4 + .../telemetry_destinations/update.md | 4 + .../telemetry_destinations/workspaces.md | 12 + .../telemetry_destinations/workspaces/add.md | 4 + .../telemetry_destinations/workspaces/list.md | 4 + .../workspaces/remove.md | 4 + .../en/api/beta/organization/usage_report.md | 14 +- .../usage_report/retrieve_messages.md | 12 +- content/en/api/beta/organization/webhooks.md | 24 + .../api/beta/organization/webhooks/create.md | 4 + .../api/beta/organization/webhooks/delete.md | 4 + .../en/api/beta/organization/webhooks/list.md | 4 + .../webhooks/regenerate_signing_secret.md | 4 + .../beta/organization/webhooks/retrieve.md | 4 + .../api/beta/organization/webhooks/update.md | 4 + .../en/api/beta/organization/workspaces.md | 24 + .../beta/organization/workspaces/create.md | 4 + .../workspaces/service_accounts.md | 20 + .../workspaces/service_accounts/add.md | 4 + .../workspaces/service_accounts/list.md | 4 + .../workspaces/service_accounts/remove.md | 4 + .../workspaces/service_accounts/retrieve.md | 4 + .../workspaces/service_accounts/update.md | 4 + content/en/api/beta/sessions.md | 76 + content/en/api/beta/sessions/archive.md | 4 + content/en/api/beta/sessions/create.md | 4 + content/en/api/beta/sessions/delete.md | 4 + content/en/api/beta/sessions/events.md | 12 + content/en/api/beta/sessions/events/list.md | 4 + content/en/api/beta/sessions/events/send.md | 4 + content/en/api/beta/sessions/events/stream.md | 4 + content/en/api/beta/sessions/list.md | 4 + content/en/api/beta/sessions/resources.md | 20 + content/en/api/beta/sessions/resources/add.md | 4 + .../en/api/beta/sessions/resources/delete.md | 4 + .../en/api/beta/sessions/resources/list.md | 4 + .../api/beta/sessions/resources/retrieve.md | 4 + .../en/api/beta/sessions/resources/update.md | 4 + content/en/api/beta/sessions/retrieve.md | 4 + content/en/api/beta/sessions/threads.md | 20 + .../en/api/beta/sessions/threads/archive.md | 4 + .../en/api/beta/sessions/threads/events.md | 8 + .../api/beta/sessions/threads/events/list.md | 4 + .../beta/sessions/threads/events/stream.md | 4 + content/en/api/beta/sessions/threads/list.md | 4 + .../en/api/beta/sessions/threads/retrieve.md | 4 + content/en/api/beta/sessions/update.md | 4 + content/en/api/beta/skills.md | 36 + content/en/api/beta/skills/create.md | 4 + content/en/api/beta/skills/delete.md | 4 + content/en/api/beta/skills/list.md | 4 + content/en/api/beta/skills/retrieve.md | 4 + content/en/api/beta/skills/versions.md | 20 + content/en/api/beta/skills/versions/create.md | 4 + content/en/api/beta/skills/versions/delete.md | 4 + .../en/api/beta/skills/versions/download.md | 4 + content/en/api/beta/skills/versions/list.md | 4 + .../en/api/beta/skills/versions/retrieve.md | 4 + content/en/api/beta/tunnels.md | 40 + content/en/api/beta/tunnels/archive.md | 4 + content/en/api/beta/tunnels/certificates.md | 16 + .../api/beta/tunnels/certificates/archive.md | 4 + .../api/beta/tunnels/certificates/create.md | 4 + .../en/api/beta/tunnels/certificates/list.md | 4 + .../api/beta/tunnels/certificates/retrieve.md | 4 + content/en/api/beta/tunnels/create.md | 4 + content/en/api/beta/tunnels/list.md | 4 + content/en/api/beta/tunnels/retrieve.md | 4 + content/en/api/beta/tunnels/reveal_token.md | 4 + content/en/api/beta/tunnels/rotate_token.md | 4 + content/en/api/beta/user_profiles.md | 28 + .../en/api/beta/user_profiles/action_urls.md | 4 + .../beta/user_profiles/action_urls/create.md | 4 + content/en/api/beta/user_profiles/create.md | 4 + .../user_profiles/create_enrollment_url.md | 4 + content/en/api/beta/user_profiles/delete.md | 4 + content/en/api/beta/user_profiles/list.md | 4 + content/en/api/beta/user_profiles/retrieve.md | 4 + content/en/api/beta/user_profiles/update.md | 4 + content/en/api/beta/vaults.md | 52 + content/en/api/beta/vaults/archive.md | 4 + content/en/api/beta/vaults/create.md | 4 + content/en/api/beta/vaults/credentials.md | 28 + .../en/api/beta/vaults/credentials/archive.md | 4 + .../en/api/beta/vaults/credentials/create.md | 4 + .../en/api/beta/vaults/credentials/delete.md | 4 + .../en/api/beta/vaults/credentials/list.md | 4 + .../vaults/credentials/mcp_oauth_validate.md | 4 + .../api/beta/vaults/credentials/retrieve.md | 4 + .../en/api/beta/vaults/credentials/update.md | 4 + content/en/api/beta/vaults/delete.md | 4 + content/en/api/beta/vaults/list.md | 4 + content/en/api/beta/vaults/retrieve.md | 4 + content/en/api/beta/vaults/update.md | 4 + ...cloud-anthropic-managed-iam-permissions.md | 11 +- .../api/claude-platform-on-aws-iam-actions.md | 26 +- content/en/api/cli/beta.md | 1114 +- content/en/api/cli/beta/messages.md | 46 + content/en/api/cli/beta/messages/create.md | 4 + content/en/api/cli/beta/models.md | 4 +- content/en/api/cli/beta/models/list.md | 2 +- content/en/api/cli/beta/models/retrieve.md | 2 +- content/en/api/cli/completions.md | 4 + content/en/api/cli/completions/create.md | 4 + content/en/api/cli/models.md | 4 +- content/en/api/cli/models/list.md | 2 +- content/en/api/cli/models/retrieve.md | 2 +- content/en/api/completions.md | 4 + content/en/api/completions/create.md | 4 + content/en/api/compliance.md | 8780 ++++-- content/en/api/compliance/activities.md | 26042 +++++++++------- content/en/api/compliance/activities/list.md | 8778 ++++-- content/en/api/compliance/apps.md | 2 +- content/en/api/compliance/apps/sessions.md | 2 +- .../en/api/compliance/apps/sessions/remote.md | 2 +- .../apps/sessions/remote/messages.md | 4 +- .../apps/sessions/remote/messages/list.md | 2 +- content/en/api/csharp/beta.md | 3321 +- content/en/api/csharp/beta/agents.md | 24 + content/en/api/csharp/beta/agents/archive.md | 4 + content/en/api/csharp/beta/agents/create.md | 4 + content/en/api/csharp/beta/agents/list.md | 4 + content/en/api/csharp/beta/agents/retrieve.md | 4 + content/en/api/csharp/beta/agents/update.md | 4 + content/en/api/csharp/beta/agents/versions.md | 4 + .../api/csharp/beta/agents/versions/list.md | 4 + content/en/api/csharp/beta/deployment_runs.md | 8 + .../api/csharp/beta/deployment_runs/list.md | 4 + .../csharp/beta/deployment_runs/retrieve.md | 4 + content/en/api/csharp/beta/deployments.md | 32 + .../en/api/csharp/beta/deployments/archive.md | 4 + .../en/api/csharp/beta/deployments/create.md | 4 + .../en/api/csharp/beta/deployments/list.md | 4 + .../en/api/csharp/beta/deployments/pause.md | 4 + .../api/csharp/beta/deployments/retrieve.md | 4 + content/en/api/csharp/beta/deployments/run.md | 4 + .../en/api/csharp/beta/deployments/unpause.md | 4 + .../en/api/csharp/beta/deployments/update.md | 4 + content/en/api/csharp/beta/environments.md | 56 + .../api/csharp/beta/environments/archive.md | 4 + .../en/api/csharp/beta/environments/create.md | 4 + .../en/api/csharp/beta/environments/delete.md | 4 + .../en/api/csharp/beta/environments/list.md | 4 + .../api/csharp/beta/environments/retrieve.md | 4 + .../en/api/csharp/beta/environments/update.md | 4 + .../en/api/csharp/beta/environments/work.md | 32 + .../api/csharp/beta/environments/work/ack.md | 4 + .../beta/environments/work/heartbeat.md | 4 + .../api/csharp/beta/environments/work/list.md | 4 + .../api/csharp/beta/environments/work/poll.md | 4 + .../csharp/beta/environments/work/retrieve.md | 4 + .../csharp/beta/environments/work/stats.md | 4 + .../api/csharp/beta/environments/work/stop.md | 4 + .../csharp/beta/environments/work/update.md | 4 + content/en/api/csharp/beta/files.md | 20 + content/en/api/csharp/beta/files/delete.md | 4 + content/en/api/csharp/beta/files/download.md | 4 + content/en/api/csharp/beta/files/list.md | 4 + .../csharp/beta/files/retrieve_metadata.md | 4 + content/en/api/csharp/beta/files/upload.md | 4 + content/en/api/csharp/beta/memory_stores.md | 56 + .../api/csharp/beta/memory_stores/archive.md | 4 + .../api/csharp/beta/memory_stores/create.md | 4 + .../api/csharp/beta/memory_stores/delete.md | 4 + .../en/api/csharp/beta/memory_stores/list.md | 4 + .../api/csharp/beta/memory_stores/memories.md | 20 + .../beta/memory_stores/memories/create.md | 4 + .../beta/memory_stores/memories/delete.md | 4 + .../beta/memory_stores/memories/list.md | 4 + .../beta/memory_stores/memories/retrieve.md | 4 + .../beta/memory_stores/memories/update.md | 4 + .../beta/memory_stores/memory_versions.md | 12 + .../memory_stores/memory_versions/list.md | 4 + .../memory_stores/memory_versions/redact.md | 4 + .../memory_stores/memory_versions/retrieve.md | 4 + .../api/csharp/beta/memory_stores/retrieve.md | 4 + .../api/csharp/beta/memory_stores/update.md | 4 + content/en/api/csharp/beta/messages.md | 99 + .../en/api/csharp/beta/messages/batches.md | 45 + .../csharp/beta/messages/batches/cancel.md | 4 + .../csharp/beta/messages/batches/create.md | 25 + .../csharp/beta/messages/batches/delete.md | 4 + .../api/csharp/beta/messages/batches/list.md | 4 + .../csharp/beta/messages/batches/results.md | 4 + .../csharp/beta/messages/batches/retrieve.md | 4 + .../api/csharp/beta/messages/count_tokens.md | 4 + content/en/api/csharp/beta/messages/create.md | 8 + content/en/api/csharp/beta/models.md | 12 +- content/en/api/csharp/beta/models/list.md | 6 +- content/en/api/csharp/beta/models/retrieve.md | 6 +- content/en/api/csharp/beta/sessions.md | 76 + .../en/api/csharp/beta/sessions/archive.md | 4 + content/en/api/csharp/beta/sessions/create.md | 4 + content/en/api/csharp/beta/sessions/delete.md | 4 + content/en/api/csharp/beta/sessions/events.md | 12 + .../api/csharp/beta/sessions/events/list.md | 4 + .../api/csharp/beta/sessions/events/send.md | 4 + .../api/csharp/beta/sessions/events/stream.md | 4 + content/en/api/csharp/beta/sessions/list.md | 4 + .../en/api/csharp/beta/sessions/resources.md | 20 + .../api/csharp/beta/sessions/resources/add.md | 4 + .../csharp/beta/sessions/resources/delete.md | 4 + .../csharp/beta/sessions/resources/list.md | 4 + .../beta/sessions/resources/retrieve.md | 4 + .../csharp/beta/sessions/resources/update.md | 4 + .../en/api/csharp/beta/sessions/retrieve.md | 4 + .../en/api/csharp/beta/sessions/threads.md | 20 + .../csharp/beta/sessions/threads/archive.md | 4 + .../csharp/beta/sessions/threads/events.md | 8 + .../beta/sessions/threads/events/list.md | 4 + .../beta/sessions/threads/events/stream.md | 4 + .../api/csharp/beta/sessions/threads/list.md | 4 + .../csharp/beta/sessions/threads/retrieve.md | 4 + content/en/api/csharp/beta/sessions/update.md | 4 + content/en/api/csharp/beta/skills.md | 36 + content/en/api/csharp/beta/skills/create.md | 4 + content/en/api/csharp/beta/skills/delete.md | 4 + content/en/api/csharp/beta/skills/list.md | 4 + content/en/api/csharp/beta/skills/retrieve.md | 4 + content/en/api/csharp/beta/skills/versions.md | 20 + .../api/csharp/beta/skills/versions/create.md | 4 + .../api/csharp/beta/skills/versions/delete.md | 4 + .../csharp/beta/skills/versions/download.md | 4 + .../api/csharp/beta/skills/versions/list.md | 4 + .../csharp/beta/skills/versions/retrieve.md | 4 + content/en/api/csharp/beta/tunnels.md | 40 + content/en/api/csharp/beta/tunnels/archive.md | 4 + .../api/csharp/beta/tunnels/certificates.md | 16 + .../beta/tunnels/certificates/archive.md | 4 + .../beta/tunnels/certificates/create.md | 4 + .../csharp/beta/tunnels/certificates/list.md | 4 + .../beta/tunnels/certificates/retrieve.md | 4 + content/en/api/csharp/beta/tunnels/create.md | 4 + content/en/api/csharp/beta/tunnels/list.md | 4 + .../en/api/csharp/beta/tunnels/retrieve.md | 4 + .../api/csharp/beta/tunnels/reveal_token.md | 4 + .../api/csharp/beta/tunnels/rotate_token.md | 4 + content/en/api/csharp/beta/user_profiles.md | 28 + .../api/csharp/beta/user_profiles/create.md | 4 + .../user_profiles/create_enrollment_url.md | 4 + .../en/api/csharp/beta/user_profiles/list.md | 4 + .../api/csharp/beta/user_profiles/retrieve.md | 4 + .../api/csharp/beta/user_profiles/update.md | 4 + content/en/api/csharp/beta/vaults.md | 52 + content/en/api/csharp/beta/vaults/archive.md | 4 + content/en/api/csharp/beta/vaults/create.md | 4 + .../en/api/csharp/beta/vaults/credentials.md | 28 + .../csharp/beta/vaults/credentials/archive.md | 4 + .../csharp/beta/vaults/credentials/create.md | 4 + .../csharp/beta/vaults/credentials/delete.md | 4 + .../csharp/beta/vaults/credentials/list.md | 4 + .../vaults/credentials/mcp_oauth_validate.md | 4 + .../beta/vaults/credentials/retrieve.md | 4 + .../csharp/beta/vaults/credentials/update.md | 4 + content/en/api/csharp/beta/vaults/delete.md | 4 + content/en/api/csharp/beta/vaults/list.md | 4 + content/en/api/csharp/beta/vaults/retrieve.md | 4 + content/en/api/csharp/beta/vaults/update.md | 4 + content/en/api/csharp/completions.md | 4 + content/en/api/csharp/completions/create.md | 4 + content/en/api/csharp/models.md | 4 +- content/en/api/csharp/models/list.md | 2 +- content/en/api/csharp/models/retrieve.md | 2 +- content/en/api/errors.md | 6 +- content/en/api/go/beta.md | 4622 ++- content/en/api/go/beta/agents.md | 24 + content/en/api/go/beta/agents/archive.md | 4 + content/en/api/go/beta/agents/create.md | 4 + content/en/api/go/beta/agents/list.md | 4 + content/en/api/go/beta/agents/retrieve.md | 4 + content/en/api/go/beta/agents/update.md | 4 + content/en/api/go/beta/agents/versions.md | 4 + .../en/api/go/beta/agents/versions/list.md | 4 + content/en/api/go/beta/deployment_runs.md | 8 + .../en/api/go/beta/deployment_runs/list.md | 4 + .../api/go/beta/deployment_runs/retrieve.md | 4 + content/en/api/go/beta/deployments.md | 32 + content/en/api/go/beta/deployments/archive.md | 4 + content/en/api/go/beta/deployments/create.md | 4 + content/en/api/go/beta/deployments/list.md | 4 + content/en/api/go/beta/deployments/pause.md | 4 + .../en/api/go/beta/deployments/retrieve.md | 4 + content/en/api/go/beta/deployments/run.md | 4 + content/en/api/go/beta/deployments/unpause.md | 4 + content/en/api/go/beta/deployments/update.md | 4 + content/en/api/go/beta/environments.md | 56 + .../en/api/go/beta/environments/archive.md | 4 + content/en/api/go/beta/environments/create.md | 4 + content/en/api/go/beta/environments/delete.md | 4 + content/en/api/go/beta/environments/list.md | 4 + .../en/api/go/beta/environments/retrieve.md | 4 + content/en/api/go/beta/environments/update.md | 4 + content/en/api/go/beta/environments/work.md | 32 + .../en/api/go/beta/environments/work/ack.md | 4 + .../go/beta/environments/work/heartbeat.md | 4 + .../en/api/go/beta/environments/work/list.md | 4 + .../en/api/go/beta/environments/work/poll.md | 4 + .../api/go/beta/environments/work/retrieve.md | 4 + .../en/api/go/beta/environments/work/stats.md | 4 + .../en/api/go/beta/environments/work/stop.md | 4 + .../api/go/beta/environments/work/update.md | 4 + content/en/api/go/beta/files.md | 20 + content/en/api/go/beta/files/delete.md | 4 + content/en/api/go/beta/files/download.md | 4 + content/en/api/go/beta/files/list.md | 4 + .../en/api/go/beta/files/retrieve_metadata.md | 4 + content/en/api/go/beta/files/upload.md | 4 + content/en/api/go/beta/memory_stores.md | 56 + .../en/api/go/beta/memory_stores/archive.md | 4 + .../en/api/go/beta/memory_stores/create.md | 4 + .../en/api/go/beta/memory_stores/delete.md | 4 + content/en/api/go/beta/memory_stores/list.md | 4 + .../en/api/go/beta/memory_stores/memories.md | 20 + .../go/beta/memory_stores/memories/create.md | 4 + .../go/beta/memory_stores/memories/delete.md | 4 + .../go/beta/memory_stores/memories/list.md | 4 + .../beta/memory_stores/memories/retrieve.md | 4 + .../go/beta/memory_stores/memories/update.md | 4 + .../go/beta/memory_stores/memory_versions.md | 12 + .../memory_stores/memory_versions/list.md | 4 + .../memory_stores/memory_versions/redact.md | 4 + .../memory_stores/memory_versions/retrieve.md | 4 + .../en/api/go/beta/memory_stores/retrieve.md | 4 + .../en/api/go/beta/memory_stores/update.md | 4 + content/en/api/go/beta/messages.md | 98 + content/en/api/go/beta/messages/batches.md | 44 + .../en/api/go/beta/messages/batches/cancel.md | 4 + .../en/api/go/beta/messages/batches/create.md | 24 + .../en/api/go/beta/messages/batches/delete.md | 4 + .../en/api/go/beta/messages/batches/list.md | 4 + .../api/go/beta/messages/batches/results.md | 4 + .../api/go/beta/messages/batches/retrieve.md | 4 + .../en/api/go/beta/messages/count_tokens.md | 4 + content/en/api/go/beta/messages/create.md | 8 + content/en/api/go/beta/models.md | 12 +- content/en/api/go/beta/models/list.md | 6 +- content/en/api/go/beta/models/retrieve.md | 6 +- content/en/api/go/beta/sessions.md | 76 + content/en/api/go/beta/sessions/archive.md | 4 + content/en/api/go/beta/sessions/create.md | 4 + content/en/api/go/beta/sessions/delete.md | 4 + content/en/api/go/beta/sessions/events.md | 12 + .../en/api/go/beta/sessions/events/list.md | 4 + .../en/api/go/beta/sessions/events/send.md | 4 + .../en/api/go/beta/sessions/events/stream.md | 4 + content/en/api/go/beta/sessions/list.md | 4 + content/en/api/go/beta/sessions/resources.md | 20 + .../en/api/go/beta/sessions/resources/add.md | 4 + .../api/go/beta/sessions/resources/delete.md | 4 + .../en/api/go/beta/sessions/resources/list.md | 4 + .../go/beta/sessions/resources/retrieve.md | 4 + .../api/go/beta/sessions/resources/update.md | 4 + content/en/api/go/beta/sessions/retrieve.md | 4 + content/en/api/go/beta/sessions/threads.md | 20 + .../api/go/beta/sessions/threads/archive.md | 4 + .../en/api/go/beta/sessions/threads/events.md | 8 + .../go/beta/sessions/threads/events/list.md | 4 + .../go/beta/sessions/threads/events/stream.md | 4 + .../en/api/go/beta/sessions/threads/list.md | 4 + .../api/go/beta/sessions/threads/retrieve.md | 4 + content/en/api/go/beta/sessions/update.md | 4 + content/en/api/go/beta/skills.md | 36 + content/en/api/go/beta/skills/create.md | 4 + content/en/api/go/beta/skills/delete.md | 4 + content/en/api/go/beta/skills/list.md | 4 + content/en/api/go/beta/skills/retrieve.md | 4 + content/en/api/go/beta/skills/versions.md | 20 + .../en/api/go/beta/skills/versions/create.md | 4 + .../en/api/go/beta/skills/versions/delete.md | 4 + .../api/go/beta/skills/versions/download.md | 4 + .../en/api/go/beta/skills/versions/list.md | 4 + .../api/go/beta/skills/versions/retrieve.md | 4 + content/en/api/go/beta/tunnels.md | 40 + content/en/api/go/beta/tunnels/archive.md | 4 + .../en/api/go/beta/tunnels/certificates.md | 16 + .../go/beta/tunnels/certificates/archive.md | 4 + .../go/beta/tunnels/certificates/create.md | 4 + .../api/go/beta/tunnels/certificates/list.md | 4 + .../go/beta/tunnels/certificates/retrieve.md | 4 + content/en/api/go/beta/tunnels/create.md | 4 + content/en/api/go/beta/tunnels/list.md | 4 + content/en/api/go/beta/tunnels/retrieve.md | 4 + .../en/api/go/beta/tunnels/reveal_token.md | 4 + .../en/api/go/beta/tunnels/rotate_token.md | 4 + content/en/api/go/beta/user_profiles.md | 28 + .../en/api/go/beta/user_profiles/create.md | 4 + .../user_profiles/create_enrollment_url.md | 4 + content/en/api/go/beta/user_profiles/list.md | 4 + .../en/api/go/beta/user_profiles/retrieve.md | 4 + .../en/api/go/beta/user_profiles/update.md | 4 + content/en/api/go/beta/vaults.md | 52 + content/en/api/go/beta/vaults/archive.md | 4 + content/en/api/go/beta/vaults/create.md | 4 + content/en/api/go/beta/vaults/credentials.md | 28 + .../api/go/beta/vaults/credentials/archive.md | 4 + .../api/go/beta/vaults/credentials/create.md | 4 + .../api/go/beta/vaults/credentials/delete.md | 4 + .../en/api/go/beta/vaults/credentials/list.md | 4 + .../vaults/credentials/mcp_oauth_validate.md | 4 + .../go/beta/vaults/credentials/retrieve.md | 4 + .../api/go/beta/vaults/credentials/update.md | 4 + content/en/api/go/beta/vaults/delete.md | 4 + content/en/api/go/beta/vaults/list.md | 4 + content/en/api/go/beta/vaults/retrieve.md | 4 + content/en/api/go/beta/vaults/update.md | 4 + content/en/api/go/completions.md | 4 + content/en/api/go/completions/create.md | 4 + content/en/api/go/models.md | 4 +- content/en/api/go/models/list.md | 2 +- content/en/api/go/models/retrieve.md | 2 +- content/en/api/java/beta.md | 4882 ++- content/en/api/java/beta/agents.md | 24 + content/en/api/java/beta/agents/archive.md | 4 + content/en/api/java/beta/agents/create.md | 4 + content/en/api/java/beta/agents/list.md | 4 + content/en/api/java/beta/agents/retrieve.md | 4 + content/en/api/java/beta/agents/update.md | 4 + content/en/api/java/beta/agents/versions.md | 4 + .../en/api/java/beta/agents/versions/list.md | 4 + content/en/api/java/beta/deployment_runs.md | 8 + .../en/api/java/beta/deployment_runs/list.md | 4 + .../api/java/beta/deployment_runs/retrieve.md | 4 + content/en/api/java/beta/deployments.md | 32 + .../en/api/java/beta/deployments/archive.md | 4 + .../en/api/java/beta/deployments/create.md | 4 + content/en/api/java/beta/deployments/list.md | 4 + content/en/api/java/beta/deployments/pause.md | 4 + .../en/api/java/beta/deployments/retrieve.md | 4 + content/en/api/java/beta/deployments/run.md | 4 + .../en/api/java/beta/deployments/unpause.md | 4 + .../en/api/java/beta/deployments/update.md | 4 + content/en/api/java/beta/environments.md | 56 + .../en/api/java/beta/environments/archive.md | 4 + .../en/api/java/beta/environments/create.md | 4 + .../en/api/java/beta/environments/delete.md | 4 + content/en/api/java/beta/environments/list.md | 4 + .../en/api/java/beta/environments/retrieve.md | 4 + .../en/api/java/beta/environments/update.md | 4 + content/en/api/java/beta/environments/work.md | 32 + .../en/api/java/beta/environments/work/ack.md | 4 + .../java/beta/environments/work/heartbeat.md | 4 + .../api/java/beta/environments/work/list.md | 4 + .../api/java/beta/environments/work/poll.md | 4 + .../java/beta/environments/work/retrieve.md | 4 + .../api/java/beta/environments/work/stats.md | 4 + .../api/java/beta/environments/work/stop.md | 4 + .../api/java/beta/environments/work/update.md | 4 + content/en/api/java/beta/files.md | 20 + content/en/api/java/beta/files/delete.md | 4 + content/en/api/java/beta/files/download.md | 4 + content/en/api/java/beta/files/list.md | 4 + .../api/java/beta/files/retrieve_metadata.md | 4 + content/en/api/java/beta/files/upload.md | 4 + content/en/api/java/beta/memory_stores.md | 56 + .../en/api/java/beta/memory_stores/archive.md | 4 + .../en/api/java/beta/memory_stores/create.md | 4 + .../en/api/java/beta/memory_stores/delete.md | 4 + .../en/api/java/beta/memory_stores/list.md | 4 + .../api/java/beta/memory_stores/memories.md | 20 + .../beta/memory_stores/memories/create.md | 4 + .../beta/memory_stores/memories/delete.md | 4 + .../java/beta/memory_stores/memories/list.md | 4 + .../beta/memory_stores/memories/retrieve.md | 4 + .../beta/memory_stores/memories/update.md | 4 + .../beta/memory_stores/memory_versions.md | 12 + .../memory_stores/memory_versions/list.md | 4 + .../memory_stores/memory_versions/redact.md | 4 + .../memory_stores/memory_versions/retrieve.md | 4 + .../api/java/beta/memory_stores/retrieve.md | 4 + .../en/api/java/beta/memory_stores/update.md | 4 + content/en/api/java/beta/messages.md | 98 + content/en/api/java/beta/messages/batches.md | 44 + .../api/java/beta/messages/batches/cancel.md | 4 + .../api/java/beta/messages/batches/create.md | 24 + .../api/java/beta/messages/batches/delete.md | 4 + .../en/api/java/beta/messages/batches/list.md | 4 + .../api/java/beta/messages/batches/results.md | 4 + .../java/beta/messages/batches/retrieve.md | 4 + .../en/api/java/beta/messages/count_tokens.md | 4 + content/en/api/java/beta/messages/create.md | 8 + content/en/api/java/beta/models.md | 12 +- content/en/api/java/beta/models/list.md | 6 +- content/en/api/java/beta/models/retrieve.md | 6 +- content/en/api/java/beta/sessions.md | 76 + content/en/api/java/beta/sessions/archive.md | 4 + content/en/api/java/beta/sessions/create.md | 4 + content/en/api/java/beta/sessions/delete.md | 4 + content/en/api/java/beta/sessions/events.md | 12 + .../en/api/java/beta/sessions/events/list.md | 4 + .../en/api/java/beta/sessions/events/send.md | 4 + .../api/java/beta/sessions/events/stream.md | 4 + content/en/api/java/beta/sessions/list.md | 4 + .../en/api/java/beta/sessions/resources.md | 20 + .../api/java/beta/sessions/resources/add.md | 4 + .../java/beta/sessions/resources/delete.md | 4 + .../api/java/beta/sessions/resources/list.md | 4 + .../java/beta/sessions/resources/retrieve.md | 4 + .../java/beta/sessions/resources/update.md | 4 + content/en/api/java/beta/sessions/retrieve.md | 4 + content/en/api/java/beta/sessions/threads.md | 20 + .../api/java/beta/sessions/threads/archive.md | 4 + .../api/java/beta/sessions/threads/events.md | 8 + .../java/beta/sessions/threads/events/list.md | 4 + .../beta/sessions/threads/events/stream.md | 4 + .../en/api/java/beta/sessions/threads/list.md | 4 + .../java/beta/sessions/threads/retrieve.md | 4 + content/en/api/java/beta/sessions/update.md | 4 + content/en/api/java/beta/skills.md | 36 + content/en/api/java/beta/skills/create.md | 4 + content/en/api/java/beta/skills/delete.md | 4 + content/en/api/java/beta/skills/list.md | 4 + content/en/api/java/beta/skills/retrieve.md | 4 + content/en/api/java/beta/skills/versions.md | 20 + .../api/java/beta/skills/versions/create.md | 4 + .../api/java/beta/skills/versions/delete.md | 4 + .../api/java/beta/skills/versions/download.md | 4 + .../en/api/java/beta/skills/versions/list.md | 4 + .../api/java/beta/skills/versions/retrieve.md | 4 + content/en/api/java/beta/tunnels.md | 40 + content/en/api/java/beta/tunnels/archive.md | 4 + .../en/api/java/beta/tunnels/certificates.md | 16 + .../java/beta/tunnels/certificates/archive.md | 4 + .../java/beta/tunnels/certificates/create.md | 4 + .../java/beta/tunnels/certificates/list.md | 4 + .../beta/tunnels/certificates/retrieve.md | 4 + content/en/api/java/beta/tunnels/create.md | 4 + content/en/api/java/beta/tunnels/list.md | 4 + content/en/api/java/beta/tunnels/retrieve.md | 4 + .../en/api/java/beta/tunnels/reveal_token.md | 4 + .../en/api/java/beta/tunnels/rotate_token.md | 4 + content/en/api/java/beta/user_profiles.md | 28 + .../en/api/java/beta/user_profiles/create.md | 4 + .../user_profiles/create_enrollment_url.md | 4 + .../en/api/java/beta/user_profiles/list.md | 4 + .../api/java/beta/user_profiles/retrieve.md | 4 + .../en/api/java/beta/user_profiles/update.md | 4 + content/en/api/java/beta/vaults.md | 52 + content/en/api/java/beta/vaults/archive.md | 4 + content/en/api/java/beta/vaults/create.md | 4 + .../en/api/java/beta/vaults/credentials.md | 28 + .../java/beta/vaults/credentials/archive.md | 4 + .../java/beta/vaults/credentials/create.md | 4 + .../java/beta/vaults/credentials/delete.md | 4 + .../api/java/beta/vaults/credentials/list.md | 4 + .../vaults/credentials/mcp_oauth_validate.md | 4 + .../java/beta/vaults/credentials/retrieve.md | 4 + .../java/beta/vaults/credentials/update.md | 4 + content/en/api/java/beta/vaults/delete.md | 4 + content/en/api/java/beta/vaults/list.md | 4 + content/en/api/java/beta/vaults/retrieve.md | 4 + content/en/api/java/beta/vaults/update.md | 4 + content/en/api/java/completions.md | 4 + content/en/api/java/completions/create.md | 4 + content/en/api/java/models.md | 4 +- content/en/api/java/models/list.md | 2 +- content/en/api/java/models/retrieve.md | 2 +- content/en/api/models.md | 4 +- content/en/api/models/list.md | 2 +- content/en/api/models/retrieve.md | 2 +- content/en/api/opentelemetry/spans.md | 16 +- content/en/api/php/beta.md | 602 +- content/en/api/php/beta/messages.md | 40 +- content/en/api/php/beta/messages/batches.md | 1 + .../api/php/beta/messages/batches/create.md | 1 + content/en/api/php/beta/messages/create.md | 7 +- content/en/api/php/beta/models.md | 4 +- content/en/api/php/beta/models/list.md | 2 +- content/en/api/php/beta/models/retrieve.md | 2 +- content/en/api/php/completions.md | 4 + content/en/api/php/completions/create.md | 4 + content/en/api/php/models.md | 4 +- content/en/api/php/models/list.md | 2 +- content/en/api/php/models/retrieve.md | 2 +- content/en/api/python/beta.md | 4126 ++- content/en/api/python/beta/agents.md | 24 + content/en/api/python/beta/agents/archive.md | 4 + content/en/api/python/beta/agents/create.md | 4 + content/en/api/python/beta/agents/list.md | 4 + content/en/api/python/beta/agents/retrieve.md | 4 + content/en/api/python/beta/agents/update.md | 4 + content/en/api/python/beta/agents/versions.md | 4 + .../api/python/beta/agents/versions/list.md | 4 + content/en/api/python/beta/deployment_runs.md | 8 + .../api/python/beta/deployment_runs/list.md | 4 + .../python/beta/deployment_runs/retrieve.md | 4 + content/en/api/python/beta/deployments.md | 32 + .../en/api/python/beta/deployments/archive.md | 4 + .../en/api/python/beta/deployments/create.md | 4 + .../en/api/python/beta/deployments/list.md | 4 + .../en/api/python/beta/deployments/pause.md | 4 + .../api/python/beta/deployments/retrieve.md | 4 + content/en/api/python/beta/deployments/run.md | 4 + .../en/api/python/beta/deployments/unpause.md | 4 + .../en/api/python/beta/deployments/update.md | 4 + content/en/api/python/beta/environments.md | 56 + .../api/python/beta/environments/archive.md | 4 + .../en/api/python/beta/environments/create.md | 4 + .../en/api/python/beta/environments/delete.md | 4 + .../en/api/python/beta/environments/list.md | 4 + .../api/python/beta/environments/retrieve.md | 4 + .../en/api/python/beta/environments/update.md | 4 + .../en/api/python/beta/environments/work.md | 32 + .../api/python/beta/environments/work/ack.md | 4 + .../beta/environments/work/heartbeat.md | 4 + .../api/python/beta/environments/work/list.md | 4 + .../api/python/beta/environments/work/poll.md | 4 + .../python/beta/environments/work/retrieve.md | 4 + .../python/beta/environments/work/stats.md | 4 + .../api/python/beta/environments/work/stop.md | 4 + .../python/beta/environments/work/update.md | 4 + content/en/api/python/beta/files.md | 20 + content/en/api/python/beta/files/delete.md | 4 + content/en/api/python/beta/files/download.md | 4 + content/en/api/python/beta/files/list.md | 4 + .../python/beta/files/retrieve_metadata.md | 4 + content/en/api/python/beta/files/upload.md | 4 + content/en/api/python/beta/memory_stores.md | 56 + .../api/python/beta/memory_stores/archive.md | 4 + .../api/python/beta/memory_stores/create.md | 4 + .../api/python/beta/memory_stores/delete.md | 4 + .../en/api/python/beta/memory_stores/list.md | 4 + .../api/python/beta/memory_stores/memories.md | 20 + .../beta/memory_stores/memories/create.md | 4 + .../beta/memory_stores/memories/delete.md | 4 + .../beta/memory_stores/memories/list.md | 4 + .../beta/memory_stores/memories/retrieve.md | 4 + .../beta/memory_stores/memories/update.md | 4 + .../beta/memory_stores/memory_versions.md | 12 + .../memory_stores/memory_versions/list.md | 4 + .../memory_stores/memory_versions/redact.md | 4 + .../memory_stores/memory_versions/retrieve.md | 4 + .../api/python/beta/memory_stores/retrieve.md | 4 + .../api/python/beta/memory_stores/update.md | 4 + content/en/api/python/beta/messages.md | 114 + .../en/api/python/beta/messages/batches.md | 44 + .../python/beta/messages/batches/cancel.md | 4 + .../python/beta/messages/batches/create.md | 24 + .../python/beta/messages/batches/delete.md | 4 + .../api/python/beta/messages/batches/list.md | 4 + .../python/beta/messages/batches/results.md | 4 + .../python/beta/messages/batches/retrieve.md | 4 + .../api/python/beta/messages/count_tokens.md | 4 + content/en/api/python/beta/messages/create.md | 24 + content/en/api/python/beta/models.md | 12 +- content/en/api/python/beta/models/list.md | 6 +- content/en/api/python/beta/models/retrieve.md | 6 +- content/en/api/python/beta/sessions.md | 76 + .../en/api/python/beta/sessions/archive.md | 4 + content/en/api/python/beta/sessions/create.md | 4 + content/en/api/python/beta/sessions/delete.md | 4 + content/en/api/python/beta/sessions/events.md | 12 + .../api/python/beta/sessions/events/list.md | 4 + .../api/python/beta/sessions/events/send.md | 4 + .../api/python/beta/sessions/events/stream.md | 4 + content/en/api/python/beta/sessions/list.md | 4 + .../en/api/python/beta/sessions/resources.md | 20 + .../api/python/beta/sessions/resources/add.md | 4 + .../python/beta/sessions/resources/delete.md | 4 + .../python/beta/sessions/resources/list.md | 4 + .../beta/sessions/resources/retrieve.md | 4 + .../python/beta/sessions/resources/update.md | 4 + .../en/api/python/beta/sessions/retrieve.md | 4 + .../en/api/python/beta/sessions/threads.md | 20 + .../python/beta/sessions/threads/archive.md | 4 + .../python/beta/sessions/threads/events.md | 8 + .../beta/sessions/threads/events/list.md | 4 + .../beta/sessions/threads/events/stream.md | 4 + .../api/python/beta/sessions/threads/list.md | 4 + .../python/beta/sessions/threads/retrieve.md | 4 + content/en/api/python/beta/sessions/update.md | 4 + content/en/api/python/beta/skills.md | 36 + content/en/api/python/beta/skills/create.md | 4 + content/en/api/python/beta/skills/delete.md | 4 + content/en/api/python/beta/skills/list.md | 4 + content/en/api/python/beta/skills/retrieve.md | 4 + content/en/api/python/beta/skills/versions.md | 20 + .../api/python/beta/skills/versions/create.md | 4 + .../api/python/beta/skills/versions/delete.md | 4 + .../python/beta/skills/versions/download.md | 4 + .../api/python/beta/skills/versions/list.md | 4 + .../python/beta/skills/versions/retrieve.md | 4 + content/en/api/python/beta/tunnels.md | 40 + content/en/api/python/beta/tunnels/archive.md | 4 + .../api/python/beta/tunnels/certificates.md | 16 + .../beta/tunnels/certificates/archive.md | 4 + .../beta/tunnels/certificates/create.md | 4 + .../python/beta/tunnels/certificates/list.md | 4 + .../beta/tunnels/certificates/retrieve.md | 4 + content/en/api/python/beta/tunnels/create.md | 4 + content/en/api/python/beta/tunnels/list.md | 4 + .../en/api/python/beta/tunnels/retrieve.md | 4 + .../api/python/beta/tunnels/reveal_token.md | 4 + .../api/python/beta/tunnels/rotate_token.md | 4 + content/en/api/python/beta/user_profiles.md | 28 + .../api/python/beta/user_profiles/create.md | 4 + .../user_profiles/create_enrollment_url.md | 4 + .../en/api/python/beta/user_profiles/list.md | 4 + .../api/python/beta/user_profiles/retrieve.md | 4 + .../api/python/beta/user_profiles/update.md | 4 + content/en/api/python/beta/vaults.md | 52 + content/en/api/python/beta/vaults/archive.md | 4 + content/en/api/python/beta/vaults/create.md | 4 + .../en/api/python/beta/vaults/credentials.md | 28 + .../python/beta/vaults/credentials/archive.md | 4 + .../python/beta/vaults/credentials/create.md | 4 + .../python/beta/vaults/credentials/delete.md | 4 + .../python/beta/vaults/credentials/list.md | 4 + .../vaults/credentials/mcp_oauth_validate.md | 4 + .../beta/vaults/credentials/retrieve.md | 4 + .../python/beta/vaults/credentials/update.md | 4 + content/en/api/python/beta/vaults/delete.md | 4 + content/en/api/python/beta/vaults/list.md | 4 + content/en/api/python/beta/vaults/retrieve.md | 4 + content/en/api/python/beta/vaults/update.md | 4 + content/en/api/python/completions.md | 4 + content/en/api/python/completions/create.md | 4 + content/en/api/python/models.md | 4 +- content/en/api/python/models/list.md | 2 +- content/en/api/python/models/retrieve.md | 2 +- content/en/api/ruby/beta.md | 3300 +- content/en/api/ruby/beta/agents.md | 24 + content/en/api/ruby/beta/agents/archive.md | 4 + content/en/api/ruby/beta/agents/create.md | 4 + content/en/api/ruby/beta/agents/list.md | 4 + content/en/api/ruby/beta/agents/retrieve.md | 4 + content/en/api/ruby/beta/agents/update.md | 4 + content/en/api/ruby/beta/agents/versions.md | 4 + .../en/api/ruby/beta/agents/versions/list.md | 4 + content/en/api/ruby/beta/deployment_runs.md | 8 + .../en/api/ruby/beta/deployment_runs/list.md | 4 + .../api/ruby/beta/deployment_runs/retrieve.md | 4 + content/en/api/ruby/beta/deployments.md | 32 + .../en/api/ruby/beta/deployments/archive.md | 4 + .../en/api/ruby/beta/deployments/create.md | 4 + content/en/api/ruby/beta/deployments/list.md | 4 + content/en/api/ruby/beta/deployments/pause.md | 4 + .../en/api/ruby/beta/deployments/retrieve.md | 4 + content/en/api/ruby/beta/deployments/run.md | 4 + .../en/api/ruby/beta/deployments/unpause.md | 4 + .../en/api/ruby/beta/deployments/update.md | 4 + content/en/api/ruby/beta/environments.md | 56 + .../en/api/ruby/beta/environments/archive.md | 4 + .../en/api/ruby/beta/environments/create.md | 4 + .../en/api/ruby/beta/environments/delete.md | 4 + content/en/api/ruby/beta/environments/list.md | 4 + .../en/api/ruby/beta/environments/retrieve.md | 4 + .../en/api/ruby/beta/environments/update.md | 4 + content/en/api/ruby/beta/environments/work.md | 32 + .../en/api/ruby/beta/environments/work/ack.md | 4 + .../ruby/beta/environments/work/heartbeat.md | 4 + .../api/ruby/beta/environments/work/list.md | 4 + .../api/ruby/beta/environments/work/poll.md | 4 + .../ruby/beta/environments/work/retrieve.md | 4 + .../api/ruby/beta/environments/work/stats.md | 4 + .../api/ruby/beta/environments/work/stop.md | 4 + .../api/ruby/beta/environments/work/update.md | 4 + content/en/api/ruby/beta/files.md | 20 + content/en/api/ruby/beta/files/delete.md | 4 + content/en/api/ruby/beta/files/download.md | 4 + content/en/api/ruby/beta/files/list.md | 4 + .../api/ruby/beta/files/retrieve_metadata.md | 4 + content/en/api/ruby/beta/files/upload.md | 4 + content/en/api/ruby/beta/memory_stores.md | 56 + .../en/api/ruby/beta/memory_stores/archive.md | 4 + .../en/api/ruby/beta/memory_stores/create.md | 4 + .../en/api/ruby/beta/memory_stores/delete.md | 4 + .../en/api/ruby/beta/memory_stores/list.md | 4 + .../api/ruby/beta/memory_stores/memories.md | 20 + .../beta/memory_stores/memories/create.md | 4 + .../beta/memory_stores/memories/delete.md | 4 + .../ruby/beta/memory_stores/memories/list.md | 4 + .../beta/memory_stores/memories/retrieve.md | 4 + .../beta/memory_stores/memories/update.md | 4 + .../beta/memory_stores/memory_versions.md | 12 + .../memory_stores/memory_versions/list.md | 4 + .../memory_stores/memory_versions/redact.md | 4 + .../memory_stores/memory_versions/retrieve.md | 4 + .../api/ruby/beta/memory_stores/retrieve.md | 4 + .../en/api/ruby/beta/memory_stores/update.md | 4 + content/en/api/ruby/beta/messages.md | 138 + content/en/api/ruby/beta/messages/batches.md | 44 + .../api/ruby/beta/messages/batches/cancel.md | 4 + .../api/ruby/beta/messages/batches/create.md | 24 + .../api/ruby/beta/messages/batches/delete.md | 4 + .../en/api/ruby/beta/messages/batches/list.md | 4 + .../api/ruby/beta/messages/batches/results.md | 4 + .../ruby/beta/messages/batches/retrieve.md | 4 + .../en/api/ruby/beta/messages/count_tokens.md | 4 + content/en/api/ruby/beta/messages/create.md | 24 + content/en/api/ruby/beta/models.md | 12 +- content/en/api/ruby/beta/models/list.md | 6 +- content/en/api/ruby/beta/models/retrieve.md | 6 +- content/en/api/ruby/beta/sessions.md | 76 + content/en/api/ruby/beta/sessions/archive.md | 4 + content/en/api/ruby/beta/sessions/create.md | 4 + content/en/api/ruby/beta/sessions/delete.md | 4 + content/en/api/ruby/beta/sessions/events.md | 12 + .../en/api/ruby/beta/sessions/events/list.md | 4 + .../en/api/ruby/beta/sessions/events/send.md | 4 + .../api/ruby/beta/sessions/events/stream.md | 4 + content/en/api/ruby/beta/sessions/list.md | 4 + .../en/api/ruby/beta/sessions/resources.md | 20 + .../api/ruby/beta/sessions/resources/add.md | 4 + .../ruby/beta/sessions/resources/delete.md | 4 + .../api/ruby/beta/sessions/resources/list.md | 4 + .../ruby/beta/sessions/resources/retrieve.md | 4 + .../ruby/beta/sessions/resources/update.md | 4 + content/en/api/ruby/beta/sessions/retrieve.md | 4 + content/en/api/ruby/beta/sessions/threads.md | 20 + .../api/ruby/beta/sessions/threads/archive.md | 4 + .../api/ruby/beta/sessions/threads/events.md | 8 + .../ruby/beta/sessions/threads/events/list.md | 4 + .../beta/sessions/threads/events/stream.md | 4 + .../en/api/ruby/beta/sessions/threads/list.md | 4 + .../ruby/beta/sessions/threads/retrieve.md | 4 + content/en/api/ruby/beta/sessions/update.md | 4 + content/en/api/ruby/beta/skills.md | 36 + content/en/api/ruby/beta/skills/create.md | 4 + content/en/api/ruby/beta/skills/delete.md | 4 + content/en/api/ruby/beta/skills/list.md | 4 + content/en/api/ruby/beta/skills/retrieve.md | 4 + content/en/api/ruby/beta/skills/versions.md | 20 + .../api/ruby/beta/skills/versions/create.md | 4 + .../api/ruby/beta/skills/versions/delete.md | 4 + .../api/ruby/beta/skills/versions/download.md | 4 + .../en/api/ruby/beta/skills/versions/list.md | 4 + .../api/ruby/beta/skills/versions/retrieve.md | 4 + content/en/api/ruby/beta/tunnels.md | 40 + content/en/api/ruby/beta/tunnels/archive.md | 4 + .../en/api/ruby/beta/tunnels/certificates.md | 16 + .../ruby/beta/tunnels/certificates/archive.md | 4 + .../ruby/beta/tunnels/certificates/create.md | 4 + .../ruby/beta/tunnels/certificates/list.md | 4 + .../beta/tunnels/certificates/retrieve.md | 4 + content/en/api/ruby/beta/tunnels/create.md | 4 + content/en/api/ruby/beta/tunnels/list.md | 4 + content/en/api/ruby/beta/tunnels/retrieve.md | 4 + .../en/api/ruby/beta/tunnels/reveal_token.md | 4 + .../en/api/ruby/beta/tunnels/rotate_token.md | 4 + content/en/api/ruby/beta/user_profiles.md | 28 + .../en/api/ruby/beta/user_profiles/create.md | 4 + .../user_profiles/create_enrollment_url.md | 4 + .../en/api/ruby/beta/user_profiles/list.md | 4 + .../api/ruby/beta/user_profiles/retrieve.md | 4 + .../en/api/ruby/beta/user_profiles/update.md | 4 + content/en/api/ruby/beta/vaults.md | 52 + content/en/api/ruby/beta/vaults/archive.md | 4 + content/en/api/ruby/beta/vaults/create.md | 4 + .../en/api/ruby/beta/vaults/credentials.md | 28 + .../ruby/beta/vaults/credentials/archive.md | 4 + .../ruby/beta/vaults/credentials/create.md | 4 + .../ruby/beta/vaults/credentials/delete.md | 4 + .../api/ruby/beta/vaults/credentials/list.md | 4 + .../vaults/credentials/mcp_oauth_validate.md | 4 + .../ruby/beta/vaults/credentials/retrieve.md | 4 + .../ruby/beta/vaults/credentials/update.md | 4 + content/en/api/ruby/beta/vaults/delete.md | 4 + content/en/api/ruby/beta/vaults/list.md | 4 + content/en/api/ruby/beta/vaults/retrieve.md | 4 + content/en/api/ruby/beta/vaults/update.md | 4 + content/en/api/ruby/completions.md | 4 + content/en/api/ruby/completions/create.md | 4 + content/en/api/ruby/models.md | 4 +- content/en/api/ruby/models/list.md | 2 +- content/en/api/ruby/models/retrieve.md | 2 +- content/en/api/typescript/beta.md | 4122 ++- content/en/api/typescript/beta/agents.md | 24 + .../en/api/typescript/beta/agents/archive.md | 4 + .../en/api/typescript/beta/agents/create.md | 4 + content/en/api/typescript/beta/agents/list.md | 4 + .../en/api/typescript/beta/agents/retrieve.md | 4 + .../en/api/typescript/beta/agents/update.md | 4 + .../en/api/typescript/beta/agents/versions.md | 4 + .../typescript/beta/agents/versions/list.md | 4 + .../en/api/typescript/beta/deployment_runs.md | 8 + .../typescript/beta/deployment_runs/list.md | 4 + .../beta/deployment_runs/retrieve.md | 4 + content/en/api/typescript/beta/deployments.md | 32 + .../typescript/beta/deployments/archive.md | 4 + .../api/typescript/beta/deployments/create.md | 4 + .../api/typescript/beta/deployments/list.md | 4 + .../api/typescript/beta/deployments/pause.md | 4 + .../typescript/beta/deployments/retrieve.md | 4 + .../en/api/typescript/beta/deployments/run.md | 4 + .../typescript/beta/deployments/unpause.md | 4 + .../api/typescript/beta/deployments/update.md | 4 + .../en/api/typescript/beta/environments.md | 56 + .../typescript/beta/environments/archive.md | 4 + .../typescript/beta/environments/create.md | 4 + .../typescript/beta/environments/delete.md | 4 + .../api/typescript/beta/environments/list.md | 4 + .../typescript/beta/environments/retrieve.md | 4 + .../typescript/beta/environments/update.md | 4 + .../api/typescript/beta/environments/work.md | 32 + .../typescript/beta/environments/work/ack.md | 4 + .../beta/environments/work/heartbeat.md | 4 + .../typescript/beta/environments/work/list.md | 4 + .../typescript/beta/environments/work/poll.md | 4 + .../beta/environments/work/retrieve.md | 4 + .../beta/environments/work/stats.md | 4 + .../typescript/beta/environments/work/stop.md | 4 + .../beta/environments/work/update.md | 4 + content/en/api/typescript/beta/files.md | 20 + .../en/api/typescript/beta/files/delete.md | 4 + .../en/api/typescript/beta/files/download.md | 4 + content/en/api/typescript/beta/files/list.md | 4 + .../beta/files/retrieve_metadata.md | 4 + .../en/api/typescript/beta/files/upload.md | 4 + .../en/api/typescript/beta/memory_stores.md | 56 + .../typescript/beta/memory_stores/archive.md | 4 + .../typescript/beta/memory_stores/create.md | 4 + .../typescript/beta/memory_stores/delete.md | 4 + .../api/typescript/beta/memory_stores/list.md | 4 + .../typescript/beta/memory_stores/memories.md | 20 + .../beta/memory_stores/memories/create.md | 4 + .../beta/memory_stores/memories/delete.md | 4 + .../beta/memory_stores/memories/list.md | 4 + .../beta/memory_stores/memories/retrieve.md | 4 + .../beta/memory_stores/memories/update.md | 4 + .../beta/memory_stores/memory_versions.md | 12 + .../memory_stores/memory_versions/list.md | 4 + .../memory_stores/memory_versions/redact.md | 4 + .../memory_stores/memory_versions/retrieve.md | 4 + .../typescript/beta/memory_stores/retrieve.md | 4 + .../typescript/beta/memory_stores/update.md | 4 + content/en/api/typescript/beta/messages.md | 114 + .../api/typescript/beta/messages/batches.md | 44 + .../beta/messages/batches/cancel.md | 4 + .../beta/messages/batches/create.md | 24 + .../beta/messages/batches/delete.md | 4 + .../typescript/beta/messages/batches/list.md | 4 + .../beta/messages/batches/results.md | 4 + .../beta/messages/batches/retrieve.md | 4 + .../typescript/beta/messages/count_tokens.md | 4 + .../en/api/typescript/beta/messages/create.md | 24 + content/en/api/typescript/beta/models.md | 12 +- content/en/api/typescript/beta/models/list.md | 6 +- .../en/api/typescript/beta/models/retrieve.md | 6 +- content/en/api/typescript/beta/sessions.md | 76 + .../api/typescript/beta/sessions/archive.md | 4 + .../en/api/typescript/beta/sessions/create.md | 4 + .../en/api/typescript/beta/sessions/delete.md | 4 + .../en/api/typescript/beta/sessions/events.md | 12 + .../typescript/beta/sessions/events/list.md | 4 + .../typescript/beta/sessions/events/send.md | 4 + .../typescript/beta/sessions/events/stream.md | 4 + .../en/api/typescript/beta/sessions/list.md | 4 + .../api/typescript/beta/sessions/resources.md | 20 + .../typescript/beta/sessions/resources/add.md | 4 + .../beta/sessions/resources/delete.md | 4 + .../beta/sessions/resources/list.md | 4 + .../beta/sessions/resources/retrieve.md | 4 + .../beta/sessions/resources/update.md | 4 + .../api/typescript/beta/sessions/retrieve.md | 4 + .../api/typescript/beta/sessions/threads.md | 20 + .../beta/sessions/threads/archive.md | 4 + .../beta/sessions/threads/events.md | 8 + .../beta/sessions/threads/events/list.md | 4 + .../beta/sessions/threads/events/stream.md | 4 + .../typescript/beta/sessions/threads/list.md | 4 + .../beta/sessions/threads/retrieve.md | 4 + .../en/api/typescript/beta/sessions/update.md | 4 + content/en/api/typescript/beta/skills.md | 36 + .../en/api/typescript/beta/skills/create.md | 4 + .../en/api/typescript/beta/skills/delete.md | 4 + content/en/api/typescript/beta/skills/list.md | 4 + .../en/api/typescript/beta/skills/retrieve.md | 4 + .../en/api/typescript/beta/skills/versions.md | 20 + .../typescript/beta/skills/versions/create.md | 4 + .../typescript/beta/skills/versions/delete.md | 4 + .../beta/skills/versions/download.md | 4 + .../typescript/beta/skills/versions/list.md | 4 + .../beta/skills/versions/retrieve.md | 4 + content/en/api/typescript/beta/tunnels.md | 40 + .../en/api/typescript/beta/tunnels/archive.md | 4 + .../typescript/beta/tunnels/certificates.md | 16 + .../beta/tunnels/certificates/archive.md | 4 + .../beta/tunnels/certificates/create.md | 4 + .../beta/tunnels/certificates/list.md | 4 + .../beta/tunnels/certificates/retrieve.md | 4 + .../en/api/typescript/beta/tunnels/create.md | 4 + .../en/api/typescript/beta/tunnels/list.md | 4 + .../api/typescript/beta/tunnels/retrieve.md | 4 + .../typescript/beta/tunnels/reveal_token.md | 4 + .../typescript/beta/tunnels/rotate_token.md | 4 + .../en/api/typescript/beta/user_profiles.md | 28 + .../typescript/beta/user_profiles/create.md | 4 + .../user_profiles/create_enrollment_url.md | 4 + .../api/typescript/beta/user_profiles/list.md | 4 + .../typescript/beta/user_profiles/retrieve.md | 4 + .../typescript/beta/user_profiles/update.md | 4 + content/en/api/typescript/beta/vaults.md | 52 + .../en/api/typescript/beta/vaults/archive.md | 4 + .../en/api/typescript/beta/vaults/create.md | 4 + .../api/typescript/beta/vaults/credentials.md | 28 + .../beta/vaults/credentials/archive.md | 4 + .../beta/vaults/credentials/create.md | 4 + .../beta/vaults/credentials/delete.md | 4 + .../beta/vaults/credentials/list.md | 4 + .../vaults/credentials/mcp_oauth_validate.md | 4 + .../beta/vaults/credentials/retrieve.md | 4 + .../beta/vaults/credentials/update.md | 4 + .../en/api/typescript/beta/vaults/delete.md | 4 + content/en/api/typescript/beta/vaults/list.md | 4 + .../en/api/typescript/beta/vaults/retrieve.md | 4 + .../en/api/typescript/beta/vaults/update.md | 4 + content/en/api/typescript/completions.md | 4 + .../en/api/typescript/completions/create.md | 4 + content/en/api/typescript/models.md | 4 +- content/en/api/typescript/models/list.md | 2 +- content/en/api/typescript/models/retrieve.md | 2 +- content/en/api/versioning.md | 4 +- .../anthropic-managed.md | 2 +- .../claude-platform-on-aws.md | 4 +- .../compaction-thinking-blocks.md | 8 +- .../build-with-claude/compaction-threshold.md | 8 +- content/en/build-with-claude/compaction.md | 20 +- .../en/build-with-claude/context-editing.md | 2 +- .../en/build-with-claude/fallback-credit.md | 2 +- content/en/build-with-claude/fast-mode.md | 2 +- .../mid-conversation-system-messages.md | 6 +- content/en/build-with-claude/overview.md | 2 +- .../build-with-claude/preserved-thinking.md | 121 +- .../en/build-with-claude/prompt-caching.md | 4 +- .../claude-prompting-best-practices.md | 2 +- .../prompting-claude-fable-5-1.md | 6 +- .../prompting-claude-opus-5-5.md | 6 +- .../en/build-with-claude/search-results.md | 8 +- .../build-with-claude/structured-outputs.md | 2 +- .../thinking-troubleshooting.md | 18 +- content/en/build-with-claude/thinking.md | 16 +- content/en/build-with-claude/vision.md | 2 +- content/en/cli-sdks-libraries/cli/using.md | 2 - .../agent-sdk/claude-code-features.md | 4 +- .../en/docs/claude-code/agent-sdk/python.md | 2 +- .../claude-code/agent-sdk/session-storage.md | 8 +- .../docs/claude-code/agent-sdk/typescript.md | 9 +- content/en/docs/claude-code/artifacts.md | 2 +- content/en/docs/claude-code/changelog.md | 135 + content/en/docs/claude-code/chrome.md | 9 + .../docs/claude-code/claude-apps-gateway.md | 8 +- .../claude-code/claude-code-on-the-web.md | 13 +- .../en/docs/claude-code/claude-projects.md | 2 +- .../en/docs/claude-code/cloud-environments.md | 2 +- .../en/docs/claude-code/code-review-costs.md | 1 + content/en/docs/claude-code/commands.md | 3 +- content/en/docs/claude-code/costs.md | 7 +- content/en/docs/claude-code/deep-links.md | 11 +- .../en/docs/claude-code/desktop-changelog.md | 18 + content/en/docs/claude-code/desktop.md | 18 + content/en/docs/claude-code/env-vars.md | 3 +- content/en/docs/claude-code/errors.md | 8 +- content/en/docs/claude-code/goal.md | 2 +- content/en/docs/claude-code/hipaa-setup.md | 6 +- content/en/docs/claude-code/hooks.md | 14 +- .../en/docs/claude-code/interactive-mode.md | 4 +- content/en/docs/claude-code/model-config.md | 20 +- .../en/docs/claude-code/monitoring-usage.md | 3 +- content/en/docs/claude-code/prompt-caching.md | 2 +- content/en/docs/claude-code/sandboxing.md | 2 + .../self-hosted-environments-configuration.md | 7 +- .../self-hosted-environments-deploy.md | 56 +- .../self-hosted-environments-identity.md | 10 +- .../self-hosted-environments-reference.md | 2 +- .../claude-code/self-hosted-environments.md | 7 +- .../en/docs/claude-code/settings-reference.md | 4 +- content/en/docs/claude-code/setup.md | 14 +- content/en/docs/claude-code/skills.md | 2 +- content/en/docs/claude-code/slack.md | 2 +- content/en/docs/claude-code/slash-commands.md | 2 +- content/en/docs/claude-code/statusline.md | 2 +- .../en/docs/claude-code/terminal-config.md | 8 +- .../docs/claude-code/troubleshoot-install.md | 38 +- content/en/docs/claude-code/ultrareview.md | 4 +- content/en/home.md | 4 +- content/en/manage-claude/admin-api-keys.md | 12 +- content/en/manage-claude/admin-api.md | 7 +- content/en/manage-claude/analytics-api.md | 16 +- .../claude-code-analytics-api.md | 2 +- content/en/manage-claude/claude-tag-api.md | 2 +- .../cmek-coverage-claude-enterprise.md | 29 +- .../cmek-coverage-claude-platform.md | 33 +- content/en/manage-claude/data-residency.md | 4 +- content/en/manage-claude/opentelemetry.md | 2 +- content/en/manage-claude/rate-limits-api.md | 6 +- content/en/manage-claude/spend-limits-api.md | 224 +- .../manage-claude/usage-cost-analytics-api.md | 1584 + content/en/manage-claude/usage-cost-api.md | 26 +- content/en/manage-claude/user-management.md | 22 +- content/en/manage-claude/user-profiles.md | 4 +- content/en/manage-claude/wif-reference.md | 2 +- content/en/manage-claude/workspaces.md | 179 +- .../multiagent-orchestration.md | 2 +- .../managed-agents/session-observability.md | 15 +- content/en/managed-agents/vaults.md | 2 +- .../en/models/fable-5-1/migration-guide.md | 105 +- .../models/fable-5-1/whats-new-fable-5-1.md | 20 +- .../en/models/haiku-5-5/migration-guide.md | 4 +- content/en/models/opus-5-5/migration-guide.md | 2 +- .../en/models/opus-5-5/whats-new-opus-5-5.md | 4 +- .../en/models/sonnet-5-5/migration-guide.md | 2 +- .../models/sonnet-5-5/whats-new-sonnet-5-5.md | 4 +- content/en/release-notes/overview.md | 9 + .../mitigate-jailbreaks.md | 2 +- ...how-do-i-log-out-of-all-active-sessions.md | 2 +- ...k-settings-on-team-and-enterprise-plans.md | 2 +- .../10593882-share-and-unshare-chats.md | 6 +- ...ith-local-mcp-servers-on-claude-desktop.md | 2 +- content/support/11101966-use-voice-mode.md | 8 +- ...the-claude-lti-in-canvas-by-instructure.md | 2 +- ...and-memory-to-build-on-previous-context.md | 8 +- ...being-asked-to-verify-my-payment-method.md | 2 +- .../11869629-use-claude-with-android-apps.md | 2 +- ...or-team-and-seat-based-enterprise-plans.md | 10 +- ...12173-get-started-with-claude-in-chrome.md | 2 +- ...eam-plan-from-monthly-to-annual-billing.md | 4 +- ...11783-create-and-edit-files-with-claude.md | 6 +- .../12157520-claude-code-usage-analytics.md | 2 +- .../support/12260368-use-incognito-chats.md | 2 +- .../support/12293051-use-claude-in-xcode.md | 2 +- ...age-usage-credits-for-paid-claude-plans.md | 2 +- ...6728-troubleshoot-claude-error-messages.md | 2 +- .../support/12512180-use-skills-in-claude.md | 2 +- ...d-using-the-desktop-extension-allowlist.md | 8 +- .../12618689-use-claude-code-in-the-cloud.md | 6 +- ...-quick-entry-with-claude-desktop-on-mac.md | 2 +- ...analytics-for-team-and-enterprise-plans.md | 24 +- ...2446-claude-in-chrome-permissions-guide.md | 4 +- .../12997503-team-plan-billing-faqs.md | 2 +- .../13132885-set-up-single-sign-on-sso.md | 8 +- ...3133195-set-up-jit-or-scim-provisioning.md | 6 +- ...1-configuring-session-security-settings.md | 6 +- .../13189465-log-in-to-your-claude-account.md | 2 +- .../13325567-account-management-faqs.md | 2 +- ...13345190-get-started-with-claude-cowork.md | 2 +- ...13371040-log-in-to-your-console-account.md | 2 +- ...13641943-visual-and-interactive-content.md | 6 +- .../support/13837440-use-plugins-in-claude.md | 4 +- ...gn-tasks-from-anywhere-in-claude-cowork.md | 4 +- ...ur-tasks-with-projects-in-claude-cowork.md | 12 +- ...sync-works-for-enterprise-organizations.md | 4 +- .../14604842-cyber-verification-program.md | 4 +- ...t-a-default-model-for-your-organization.md | 2 +- ...nage-model-access-for-your-organization.md | 8 +- ...1-get-started-with-1password-for-claude.md | 2 +- ...rstanding-your-pro-or-max-plan-invoices.md | 2 +- ...16893491-get-started-with-smart-reports.md | 14 +- ...claude-in-google-docs-sheets-and-slides.md | 4 +- ...ooled-group-budgets-on-enterprise-plans.md | 2 +- .../17203415-set-up-claude-for-intune.md | 22 +- ...rience-for-your-enterprise-organization.md | 4 +- .../8114491-get-started-with-claude.md | 2 +- ...8230524-delete-or-rename-a-conversation.md | 16 +- .../support/8325618-paid-plan-billing-faqs.md | 2 +- ...27-customizing-your-appearance-settings.md | 6 +- ...nt-to-a-team-or-enterprise-organization.md | 2 +- ...77-how-can-i-create-and-manage-projects.md | 6 +- discovery.json | 2 +- tombstones.json | 22 +- 1370 files changed, 74158 insertions(+), 30328 deletions(-) create mode 100644 content/claude/third-party/claude-desktop/status-line.md create mode 100644 content/en/manage-claude/usage-cost-analytics-api.md diff --git a/content/.metadata.json b/content/.metadata.json index d01a6d5e68..e0d2c49a5e 100644 --- a/content/.metadata.json +++ b/content/.metadata.json @@ -1,7 +1,7 @@ { "metadata": { "version": "2.0", - "fetch_date": "2026-10-29T17:09:28.821692Z", + "fetch_date": "2026-10-30T06:35:07.830438Z", "section": "all" }, "items": [ @@ -9,8 +9,8 @@ "url": "https://platform.claude.com/docs/en/home", "status": "success", "path": "en/home.md", - "sha256": "a6a02ea552d0a34ebddb93501585f6af1a4900c21abb653ff8fc3dca78666f8b", - "size": 15700 + "sha256": "32b47c3b6d50e1b10c7045839313d27080ad491bccce629e11391670072b5535", + "size": 15720 }, { "url": "https://platform.claude.com/docs/en/intro", @@ -44,8 +44,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/overview", "status": "success", "path": "en/build-with-claude/overview.md", - "sha256": "54fef211436a1418d4431ce99fa4c81af9bff550c1ba57e2f4f27ba72cd6f687", - "size": 31420 + "sha256": "10a016a7a96fb3afec5d2eeea38c8f6cad4de015a9aff6e15f804295af8d05c9", + "size": 31440 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/working-with-messages", @@ -72,7 +72,7 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/fallback-credit", "status": "success", "path": "en/build-with-claude/fallback-credit.md", - "sha256": "f9832cfbc5a64e4d0c93870692cae90a53774037af8a52b32a92c4809b297b68", + "sha256": "cb419a76995029a1c7af32f1d4659f271c453976ccda388217628560c2b370e9", "size": 37834 }, { @@ -93,14 +93,14 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/fast-mode", "status": "success", "path": "en/build-with-claude/fast-mode.md", - "sha256": "567b6245d5eac730b609b1bd42ede29d3dc52eaafc4796c581cede5655cf5d06", - "size": 29096 + "sha256": "0ad296a7d95e13044c8bd07f729023eba5c718999e61361d1fe91c92b76d9ceb", + "size": 29116 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/structured-outputs", "status": "success", "path": "en/build-with-claude/structured-outputs.md", - "sha256": "ab40fa658ea4828abe1faa9a0e202fd29819413db1adc45ea4884b9d95f47b3e", + "sha256": "6041b23aea21021a7272aaf1ea9b1177286b6f83ac9d519a64ee8397e9add9b0", "size": 105805 }, { @@ -128,8 +128,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/search-results", "status": "success", "path": "en/build-with-claude/search-results.md", - "sha256": "a2c74b0ea9ca767d37cd3f9dc0e39e2dea506837bc46bbb516480c9a3104e017", - "size": 88679 + "sha256": "2607ad72fd094ace1cbed3598ac30180c28612645bcded5cf0795515c934589e", + "size": 88691 }, { "url": "https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/handle-streaming-refusals", @@ -156,8 +156,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/thinking", "status": "success", "path": "en/build-with-claude/thinking.md", - "sha256": "5fd46d0b2b0385ccad039168e5a6f9da3a38c84db71d2b49cd788775c5d6a552", - "size": 87893 + "sha256": "0bce9ad3d426bfac13dad998a161e1788ca0cca5a55c43a2dcaede249af4c4aa", + "size": 87632 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/thinking-steering-and-cost", @@ -177,15 +177,15 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/preserved-thinking", "status": "success", "path": "en/build-with-claude/preserved-thinking.md", - "sha256": "fcf797cce272a1cff3c3cbc8ed8be312d124b342e3e209120021502a3fb6b70f", - "size": 121784 + "sha256": "df1f5426380c57942b8765514e289854ebba24c836985f741b435eaa6c993723", + "size": 121847 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting", "status": "success", "path": "en/build-with-claude/thinking-troubleshooting.md", - "sha256": "831fd8f3a6b027dc9a2bebbf81d4b2d0667b2d8df646e2d1d37bbda9cc06c754", - "size": 23145 + "sha256": "0787e55331a3a957be4b56c4feff59e0cf0845c0d454d04c1a31a2fc7c9fada1", + "size": 23207 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/extended-thinking", @@ -282,8 +282,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool", "status": "success", "path": "en/agents-and-tools/tool-use/advisor-tool.md", - "sha256": "4d7a2a12003bbbd9ba46becd78acc40391786022aab53d0e961e51119862f3cc", - "size": 116897 + "sha256": "d19938a4a290f9852a7c6224efc756399748592b094a85052efb07d8365a79d4", + "size": 116939 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool", @@ -324,8 +324,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool", "status": "success", "path": "en/agents-and-tools/tool-use/computer-use-tool.md", - "sha256": "a35c122a17bfccb46176d7f5c32dff23f788a0bf7dffbc7be62c8d53d3573f6c", - "size": 135407 + "sha256": "982e4af2c3b2ba5a5b12927d922cb190d34ef4f2734f3fd20a72559a3924026c", + "size": 135226 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool", @@ -394,22 +394,22 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/context-editing", "status": "success", "path": "en/build-with-claude/context-editing.md", - "sha256": "c0c12997bbb0b92172009f7f513d2330493ee373ed23eb24bd86bc6cdd01a9d9", - "size": 107545 + "sha256": "fdbee351fa4c5480b0903ccd16030b8d853f2e2a807d6ab89f360f444c6c2224", + "size": 107355 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-caching", "status": "success", "path": "en/build-with-claude/prompt-caching.md", - "sha256": "e8dd46e73676cfc1c18a99d792b6049293d59ff67cbfa4c4530d33b102b197ac", - "size": 165990 + "sha256": "10199b389d81c4999ad5088802b117e0ac6d8da4a48fba024d8798a1262471a8", + "size": 165999 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages", "status": "success", "path": "en/build-with-claude/mid-conversation-system-messages.md", - "sha256": "f41573ac0d91d687d3b173ee18548d637f0232f97b1c28fd3deb6973f9ecf0ec", - "size": 114061 + "sha256": "267e71bb52201058fbea00975dc0009108db59f4bf35b71d323f9a46e8c8c85e", + "size": 113948 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/mid-conversation-effort-example", @@ -436,8 +436,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/compaction", "status": "success", "path": "en/build-with-claude/compaction.md", - "sha256": "0cd06c0c08821e8fc3244dc3c7e9af637e8cdb523b98c10129136d29dd46cb17", - "size": 12439 + "sha256": "c1fc0637912dc2890497dbc786e5279cba28d578c11e2a6a531e69e550fe0dd8", + "size": 12339 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand", @@ -464,15 +464,15 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks", "status": "success", "path": "en/build-with-claude/compaction-thinking-blocks.md", - "sha256": "87f0fa30f89f9a670034c193f6e61858cef652a1902aff720b96e4c688a18a91", - "size": 36395 + "sha256": "03f95f843dd8bb66bbcb5aa1215829cee9f2955e0c0e0a0d9c4eb5c3dc4a879c", + "size": 35993 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/compaction-threshold", "status": "success", "path": "en/build-with-claude/compaction-threshold.md", - "sha256": "1d391fcdf1b4f2511e2285a714beb368c2ac6e19340eca5b883fee0b6990c98f", - "size": 125952 + "sha256": "f68d28f54e4c97a1e41f2bbc7a18768170aaa45cb9f02c0b221237f502c52ca5", + "size": 125666 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/files", @@ -492,8 +492,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/vision", "status": "success", "path": "en/build-with-claude/vision.md", - "sha256": "7a2d25a14cdec9c27c6b345d88eefff68218943433738d9ed29aa3edb07b5066", - "size": 51748 + "sha256": "954f445768943b6cd5a3c16c84815a257efe3a91c17ec5b5e30aeff892811cd5", + "size": 51750 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/vision-coordinates", @@ -632,8 +632,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws", "status": "success", "path": "en/build-with-claude/claude-platform-on-aws.md", - "sha256": "77d137508179d76f68198c22157c7d6914b1854e5ebd2c1aeff150c0b87afe80", - "size": 103175 + "sha256": "4e208a43c39745e9caa41c989692d025859bd73f016fd4ec56de84b297522984", + "size": 103219 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry", @@ -653,8 +653,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed", "status": "success", "path": "en/build-with-claude/claude-models-on-google-cloud/anthropic-managed.md", - "sha256": "6cc83455707dde955f6db99b0f0ef8de30f54a6a44070a49556701fc0fe42472", - "size": 50862 + "sha256": "9f9e0da919f188a550e620cddb47b8712a7956d4a245be9802eff2574a3e55f0", + "size": 50991 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/google-managed", @@ -835,8 +835,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/session-observability", "status": "success", "path": "en/managed-agents/session-observability.md", - "sha256": "a045c8a0e0312c4cf19e3b5ad5208bdc62b88dab1b271c5cd87a08b2f37e267e", - "size": 14609 + "sha256": "15580aa38a785e828f46a75769248e39f5c236fcc208af3496c9554514f2180c", + "size": 16324 }, { "url": "https://platform.claude.com/docs/en/managed-agents/budgets", @@ -863,7 +863,7 @@ "url": "https://platform.claude.com/docs/en/managed-agents/vaults", "status": "success", "path": "en/managed-agents/vaults.md", - "sha256": "d05c0aa2c37bc634799eb9eaba32018e8bb02d74701f67efc3539de5f8c4cbb4", + "sha256": "15cf3dac457b5ff2e5b6b4195737d1d0b8e6a974aa2ad18f1b57b61b13c005b4", "size": 50879 }, { @@ -898,8 +898,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/multiagent-orchestration", "status": "success", "path": "en/managed-agents/multiagent-orchestration.md", - "sha256": "5b6c7f252c92b5e815bb1193143b7044775d1411056106723a35bec898cba337", - "size": 73369 + "sha256": "fc00c5826871e9969e7401bec40ed30ba069434d9d66e57f14dcd7a7077d744f", + "size": 73356 }, { "url": "https://platform.claude.com/docs/en/managed-agents/session-threads", @@ -954,15 +954,15 @@ "url": "https://platform.claude.com/docs/en/manage-claude/admin-api", "status": "success", "path": "en/manage-claude/admin-api.md", - "sha256": "b4480c81006c6f12960e20446fa42a996e61a4e79601e85f752358068d130a4e", - "size": 54488 + "sha256": "96728210371422b629e53c76520cb8ae89306a4ad4c13ab2f0d198f4c131108d", + "size": 55111 }, { "url": "https://platform.claude.com/docs/en/manage-claude/user-management", "status": "success", "path": "en/manage-claude/user-management.md", - "sha256": "360efd1df362d4b34ff6f1faa07eda22707e7e1ff39555460b7422fa3adc7460", - "size": 87622 + "sha256": "5a35f9fefe30a3e71a2b2634123d0929aab21a783680658ac1df6dc69f59c7e5", + "size": 88838 }, { "url": "https://platform.claude.com/docs/en/manage-claude/plugins-api", @@ -975,8 +975,8 @@ "url": "https://platform.claude.com/docs/en/manage-claude/workspaces", "status": "success", "path": "en/manage-claude/workspaces.md", - "sha256": "f8be8e5270d79eeb665440d5025fad2ba68c45dc59f8a2e327be4bab88df72f3", - "size": 47970 + "sha256": "50fb9f2f9822a8a4d1ccb416267a5c656e183d334bf019c15fe4b4e14d283206", + "size": 53467 }, { "url": "https://platform.claude.com/docs/en/manage-claude/organization-webhooks", @@ -989,8 +989,8 @@ "url": "https://platform.claude.com/docs/en/manage-claude/user-profiles", "status": "success", "path": "en/manage-claude/user-profiles.md", - "sha256": "0d97794f91eeeb8a57c57a7e31837c8f447450454201cefa561e6ac4e6f9e75c", - "size": 35677 + "sha256": "aae63dd1b74a098d565e5ab5c06093c89e6745236ac2cfa596887f5a6adc0772", + "size": 35693 }, { "url": "https://platform.claude.com/docs/en/manage-claude/user-profiles-verification-portal", @@ -1003,8 +1003,8 @@ "url": "https://platform.claude.com/docs/en/manage-claude/admin-api-keys", "status": "success", "path": "en/manage-claude/admin-api-keys.md", - "sha256": "a22344b47b2fa56c26a3346b922bfe8e28633e817a2c29df561d1759fe030bb9", - "size": 19012 + "sha256": "6728fa7f15ba92384bb036bcd6979c80defc5c539c8a7c1def31df9d9f3cd8df", + "size": 19552 }, { "url": "https://platform.claude.com/docs/en/manage-claude/app-attest", @@ -1031,7 +1031,7 @@ "url": "https://platform.claude.com/docs/en/manage-claude/wif-reference", "status": "success", "path": "en/manage-claude/wif-reference.md", - "sha256": "feee6ef1201e5b78a02ae63dde130d5d188f4266be6756c0f2f449112b6813e5", + "sha256": "9fffb75d2c381900a6654fa3cfc4866679a4329ec0f655e5f53cefc2f43adf79", "size": 47930 }, { @@ -1083,47 +1083,54 @@ "sha256": "e363ef00ba95d462022670696a148142e0c9311f77e9f819d95925c792d0c6c7", "size": 24074 }, + { + "url": "https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api", + "status": "success", + "path": "en/manage-claude/usage-cost-analytics-api.md", + "sha256": "6989aa5f51b7cb6d6600a2ad4d9844406a9c94ca934328135a7ca5920c8d8bef", + "size": 73739 + }, { "url": "https://platform.claude.com/docs/en/manage-claude/usage-cost-api", "status": "success", "path": "en/manage-claude/usage-cost-api.md", - "sha256": "d3ea0a289bff5208121ce715650eb32f01d2ffce8a06dfc556de3d5a383409fd", - "size": 17758 + "sha256": "06f179ec849456a4619451d6aa8a7940a2df9dbd697d605cf4c726a6520309ad", + "size": 19478 }, { "url": "https://platform.claude.com/docs/en/manage-claude/rate-limits-api", "status": "success", "path": "en/manage-claude/rate-limits-api.md", - "sha256": "449d3d9574e5f4ad6c7479622406ce8d57777f7cb7cadc401dd2d2c6c56bcaf9", - "size": 39746 + "sha256": "20f389d39f48bfdc6ff88b195acba762ec532c37ebaedee77d7de9ce582d3377", + "size": 39786 }, { "url": "https://platform.claude.com/docs/en/manage-claude/analytics-api", "status": "success", "path": "en/manage-claude/analytics-api.md", - "sha256": "7acb416b69a2a348a189cfb193beb7e3e21162099cbd902f1ed3089524abdead", - "size": 15400 + "sha256": "21356d95c15ae824132bda4b9bf70aafd9f67876cf4cb67674842b3b4bef2810", + "size": 16238 }, { "url": "https://platform.claude.com/docs/en/manage-claude/claude-code-analytics-api", "status": "success", "path": "en/manage-claude/claude-code-analytics-api.md", - "sha256": "85767e3b8d50b5882d84c032a78647215bcc4d9be5baed458b4bea8767c9f399", - "size": 14139 + "sha256": "9fa06ca987b4e1f27df70c544ac213d21de04e069572998338f8c1f6d7183dfc", + "size": 14165 }, { "url": "https://platform.claude.com/docs/en/manage-claude/spend-limits-api", "status": "success", "path": "en/manage-claude/spend-limits-api.md", - "sha256": "8be21787556c978c1dbf7b8e49bce372bb410899d753296298216998dd7a799d", - "size": 82803 + "sha256": "26a6f2b8343874015475eec00457f48ca0b16ab04b034a2f0ff6b54e7fd315a3", + "size": 86696 }, { "url": "https://platform.claude.com/docs/en/manage-claude/opentelemetry", "status": "success", "path": "en/manage-claude/opentelemetry.md", - "sha256": "ec12749e8f6c580adfc57d74fc8f01f5c545763af6c51e93bef0d60b7141429a", - "size": 30101 + "sha256": "7e5d104262b8cf26152d16d47319c057c94cecc257430f9beb71a89be6ef5386", + "size": 30303 }, { "url": "https://platform.claude.com/docs/en/manage-claude/opentelemetry/sdk", @@ -1143,8 +1150,8 @@ "url": "https://platform.claude.com/docs/en/manage-claude/data-residency", "status": "success", "path": "en/manage-claude/data-residency.md", - "sha256": "79ff32fe207677083342ff4e4c44b834248df2062b04c74d01797cf14e657bb4", - "size": 29796 + "sha256": "51591c5c8d4cbfbe1b4fbf809a55983f0d6346f193893e6e97e5deb281ddc9ee", + "size": 29815 }, { "url": "https://platform.claude.com/docs/en/manage-claude/api-and-data-retention", @@ -1192,15 +1199,15 @@ "url": "https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-platform", "status": "success", "path": "en/manage-claude/cmek-coverage-claude-platform.md", - "sha256": "4e1a1c6bbe7dd2854f553cbc9cca501976dbcabc531cff7d213d812c0b8749b6", - "size": 8304 + "sha256": "d1e5338ab6e7c75993615c66517b018e21d7b02ace281360d3365b576f28245c", + "size": 10735 }, { "url": "https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-enterprise", "status": "success", "path": "en/manage-claude/cmek-coverage-claude-enterprise.md", - "sha256": "1ae1cea603b77918501ad2b49060d3fb4ffb8a97df0ac8068f61b7cb6562ed7e", - "size": 11369 + "sha256": "9cf379e614e2c92582c7019105d85742e279e1fbbd2f6725cf1ed1de7bc81ba2", + "size": 11438 }, { "url": "https://platform.claude.com/docs/en/manage-claude/cmek-aws-kms", @@ -1395,15 +1402,15 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices", "status": "success", "path": "en/build-with-claude/prompt-engineering/claude-prompting-best-practices.md", - "sha256": "69702192c227a9d9b9cef8b44feb8551406af208cfc4b2c893fe48896fbeede1", - "size": 74768 + "sha256": "f26d54cb69de0c797727a21c370e8087b681578e453d480679206876ad5954dc", + "size": 74594 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1", "status": "success", "path": "en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1.md", - "sha256": "f83d5723aade3f7f5fd21f856df38903d6d4a1c2802f628c511b022aadbe788c", - "size": 55059 + "sha256": "8f323d95472724ec2eb3032be174471bbda1433452138a47c332522a43feab33", + "size": 55128 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5", @@ -1416,8 +1423,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5", "status": "success", "path": "en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5.md", - "sha256": "73d47a61306336fe49765abfdc1e6e20fe8617b90424715e799547cbd895ef40", - "size": 28963 + "sha256": "0203e04ee828c0ad41c99a814aeaf45f2e2e76ffec7a88da7b724a86ba01d9ea", + "size": 28916 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5", @@ -1486,7 +1493,7 @@ "url": "https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks", "status": "success", "path": "en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks.md", - "sha256": "364ffd0870cb3b651a610eacbc48e0f3bd7cc8e490d34462269142a870adb65a", + "sha256": "6cc36ea7cd1429c61fae7b5fc922ef2b0a5da82f1ce631f04b806c7c4c6e596e", "size": 12569 }, { @@ -1528,15 +1535,15 @@ "url": "https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1", "status": "success", "path": "en/models/fable-5-1/whats-new-fable-5-1.md", - "sha256": "4be8bc0b2d7f607e40f3813ec45b3cfbc1f1f984e415a875fdfbf834489733a4", - "size": 40562 + "sha256": "f4753dd8704a81fbe7344e8c0738580d9d584e7a821d2cd4ba961a466f6dcddb", + "size": 40522 }, { "url": "https://platform.claude.com/docs/en/models/fable-5-1/migration-guide", "status": "success", "path": "en/models/fable-5-1/migration-guide.md", - "sha256": "2dbf43dac5dec441d26839c03ca4bf48a0bd12b5783373052a3d36a3e4f80a61", - "size": 95365 + "sha256": "048ec251d132c402a134bc138c27e0797d98f620178000a080331faa18d3e4c2", + "size": 94724 }, { "url": "https://platform.claude.com/docs/en/models/opus-5-5/overview", @@ -1549,15 +1556,15 @@ "url": "https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5", "status": "success", "path": "en/models/opus-5-5/whats-new-opus-5-5.md", - "sha256": "9db157bdc0796b489f59b125f44f9f615f1f112f2c2b886ddb50f2aa8773943b", - "size": 22828 + "sha256": "42360dc4cce9dd45364bcfa0c2c2c6d10c1fce846b9927a74b6907da196227e7", + "size": 22790 }, { "url": "https://platform.claude.com/docs/en/models/opus-5-5/migration-guide", "status": "success", "path": "en/models/opus-5-5/migration-guide.md", - "sha256": "35ce3b74d30abfd2d598fb03e42fc7abc93cab942fc02fd7a0bb2b6b6e177819", - "size": 90605 + "sha256": "e04220bd1f3b94f2b85a7701a70782dc2a39576cd60a1d4b6e82a997b59a1dcd", + "size": 90656 }, { "url": "https://platform.claude.com/docs/en/models/sonnet-5-5/overview", @@ -1570,15 +1577,15 @@ "url": "https://platform.claude.com/docs/en/models/sonnet-5-5/whats-new-sonnet-5-5", "status": "success", "path": "en/models/sonnet-5-5/whats-new-sonnet-5-5.md", - "sha256": "f61ee7c295ee3a60d02a436f7b6077463cb0c77c918db4f436c90bc9c7860da1", - "size": 23823 + "sha256": "08b0073077cbdf42c47b3165d6c444ca39f55f9a0ab7466854f3ee8bdbe5ac42", + "size": 23883 }, { "url": "https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide", "status": "success", "path": "en/models/sonnet-5-5/migration-guide.md", - "sha256": "abbdf39bcadba0d1301a45d16c915b9bf08fd34e2c0b9c823072eed12c3bd680", - "size": 55162 + "sha256": "7f550855cb3d4f732c0e237ad0fb2caf001c430e10d318c0a9c52db5396efbbf", + "size": 55183 }, { "url": "https://platform.claude.com/docs/en/models/haiku-5-5/overview", @@ -1598,8 +1605,8 @@ "url": "https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide", "status": "success", "path": "en/models/haiku-5-5/migration-guide.md", - "sha256": "ea1b28a456172ba73f1028aa56e9efc27ddd9215284dd9925fd603e73f720165", - "size": 18542 + "sha256": "fc840372ba41d4966c3a35c64ad604d4dc10fe9466dfb5b2d63a906d7d723f2c", + "size": 18642 }, { "url": "https://platform.claude.com/docs/en/models/mythos-5-1/overview", @@ -1696,8 +1703,8 @@ "url": "https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence", "status": "success", "path": "en/about-claude/models/optimizing-for-cost-and-intelligence.md", - "sha256": "30fb48af4595ca03d83cdeb0211846d47aa415ad4e0b6d740491778d9a81078e", - "size": 198202 + "sha256": "72689d7def8354577516df2c48403653f38f7f4fd8c7eef53a133339a39dc708", + "size": 197824 }, { "url": "https://platform.claude.com/docs/en/about-claude/models/migration-guide", @@ -1927,8 +1934,8 @@ "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using", "status": "success", "path": "en/cli-sdks-libraries/cli/using.md", - "sha256": "be58f138a356648ac2273c8e67ca6a7bd5bd5bb111c268be5d2de408c809f008", - "size": 14132 + "sha256": "a804fbda5ae924554fa50832b0632a92903781eaaa2a077b3a1d8b0e462fdf7f", + "size": 14067 }, { "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/scripting", @@ -2039,15 +2046,15 @@ "url": "https://platform.claude.com/docs/en/api/errors", "status": "success", "path": "en/api/errors.md", - "sha256": "f124b412ae16569b86b006d56d30c57dbd11d83ffd39b12f13791a14c1211dd3", - "size": 33737 + "sha256": "47fe2413900d447a711e786ea814c81491c29c783f13e389c19ea60bf3424856", + "size": 33857 }, { "url": "https://platform.claude.com/docs/en/api/opentelemetry/spans", "status": "success", "path": "en/api/opentelemetry/spans.md", - "sha256": "e5c133280f2b7e03db2444a20d498167bad7ee7860390bbfd38b321e804bb1ac", - "size": 95382 + "sha256": "07b6eb3bdda18fbd4c6dea91699834201da082719d068b34f1745c2df7c399ff", + "size": 96629 }, { "url": "https://platform.claude.com/docs/en/api/rate-limits", @@ -2067,23 +2074,30 @@ "url": "https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions", "status": "success", "path": "en/api/claude-platform-on-aws-iam-actions.md", - "sha256": "5adceb1aaca56e0248a552ab2c3d271f54c876a9ab6d02efde7a6697777172b3", - "size": 58747 + "sha256": "ef9863adfe5e79df9ec37d7085c7d361642e8d611a6ea42a1afa06a28ff749be", + "size": 60007 }, { "url": "https://platform.claude.com/docs/en/api/claude-models-on-google-cloud-anthropic-managed-iam-permissions", "status": "success", "path": "en/api/claude-models-on-google-cloud-anthropic-managed-iam-permissions.md", - "sha256": "27e23467b5ed73f883499a7e2b9af3b9e750ee9bddb70b74ecb572cf699ebeeb", - "size": 28790 + "sha256": "ca9b81d81e274271b1ad1df74db3db8584634a3addde50cfdb1485a0a79f6243", + "size": 29077 }, { "url": "https://platform.claude.com/docs/en/api/versioning", "status": "success", "path": "en/api/versioning.md", - "sha256": "6213f5bf7d4d6f89fb5849c2f5117000e385e6a61219445a06f33856ee6df9ae", + "sha256": "5ce7b399277d244cae7fd6469046835508e3d741a6f50b836198c12b57d0809a", "size": 4688 }, + { + "url": "https://platform.claude.com/docs/en/api/migration-2026-10-21", + "status": "success", + "path": "en/api/migration-2026-10-21.md", + "sha256": "42cd3afc7c867f890f1ad208c4c505ac5380040b52f71e6edf2e676822cefb53", + "size": 81034 + }, { "url": "https://platform.claude.com/docs/en/api/ip-addresses", "status": "success", @@ -2116,22 +2130,22 @@ "url": "https://platform.claude.com/docs/en/release-notes/overview", "status": "success", "path": "en/release-notes/overview.md", - "sha256": "ed5cbe237ac9fcb2a746c2d1ff342d1b2d14723974cb0d0e150e29aac7f8f8ea", - "size": 133980 + "sha256": "24ae059a5725bda532ed2ae5b5c1e46602105dcb016e8e4cb330f45be65f3e5e", + "size": 135456 }, { "url": "https://platform.claude.com/docs/en/api/completions", "status": "success", "path": "en/api/completions.md", - "sha256": "1f49185927016030d57f1c441583f14dcc137e38b2de59745b66e5c47db2fe05", - "size": 16606 + "sha256": "4ab1a33f9b931d0a7778254d91d04f88fc0a7e2bf4d702f43289c5b3519677f8", + "size": 16683 }, { "url": "https://platform.claude.com/docs/en/api/completions/create", "status": "success", "path": "en/api/completions/create.md", - "sha256": "d190ad8ac2716ab8f49a17276a62bb0eb86cdb45a3bc0de24b747330bc61f00b", - "size": 13303 + "sha256": "810732208746cd0e0dcf46e883acbe43a97b0c3f69304913f98f816679446830", + "size": 13380 }, { "url": "https://platform.claude.com/docs/en/api/messages", @@ -2207,22 +2221,22 @@ "url": "https://platform.claude.com/docs/en/api/models", "status": "success", "path": "en/api/models.md", - "sha256": "e6c0785135ee5a813ee8ee45bb885d31eb5aa44759e8ed50cafecffa5dccd831", - "size": 37109 + "sha256": "c6044e2a13a6ea2dea2e034e102d6a1ed1339e7edf6161b0a8ef0ea5f8701a56", + "size": 37107 }, { "url": "https://platform.claude.com/docs/en/api/models/list", "status": "success", "path": "en/api/models/list.md", - "sha256": "a0367dd371c16f5c0f748b44ad2e0c5a8f57b2a56428ae2e023212f5e10727e3", - "size": 11192 + "sha256": "86100791562be7a50d53b57c7f9f1329119699bae4f531b8f85189cf98f3f90d", + "size": 11191 }, { "url": "https://platform.claude.com/docs/en/api/models/retrieve", "status": "success", "path": "en/api/models/retrieve.md", - "sha256": "20db10de7d96b30cff9e0b0150c80d64f2c26154237e3793d324946ffc34c3e0", - "size": 9597 + "sha256": "954ff9bf8229dab6d50c69bff347ca84d1cd88b486edd5e7e55d52560d68f5de", + "size": 9596 }, { "url": "https://platform.claude.com/docs/en/api/files", @@ -2928,1058 +2942,1058 @@ "url": "https://platform.claude.com/docs/en/api/beta", "status": "success", "path": "en/api/beta.md", - "sha256": "d5e000e13c8fe2028d381b4dc1776e86feb048104aaad8e4e54d5725d41995c9", - "size": 3558701 + "sha256": "c2567b212376b01b1094409fd3496cc1a688b0ea26652a83d2778e7d29bca68d", + "size": 3633525 }, { "url": "https://platform.claude.com/docs/en/api/beta/models", "status": "success", "path": "en/api/beta/models.md", - "sha256": "1967b217a94e91e9dcbd445e32b474cce85f3cba7c5ed0baad41055b2a2e2e17", - "size": 44700 + "sha256": "8a2fdb51711a60597fe55dfc9da78755afb0480e938c27b7f8c2f9c7861055ca", + "size": 44852 }, { "url": "https://platform.claude.com/docs/en/api/beta/models/list", "status": "success", "path": "en/api/beta/models/list.md", - "sha256": "417bb3907b9debabf2ae0c94c5a2dc97404c29c373d03fb8a69108b596983882", - "size": 14101 + "sha256": "e607ecdc44ee7856c800b88b7aa5431007dacd66c12ef19a688a254c921a5d4c", + "size": 14177 }, { "url": "https://platform.claude.com/docs/en/api/beta/models/retrieve", "status": "success", "path": "en/api/beta/models/retrieve.md", - "sha256": "7905a143c738ed794f42d3b9a31a864dd3d5535d43e53b6e236769325487a9e7", - "size": 12470 + "sha256": "8466664578813080fad4a665e08ed316ed4ac806aa96424ae13c23a42831d774", + "size": 12546 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages", "status": "success", "path": "en/api/beta/messages.md", - "sha256": "6e902b1fb11c6131675220ffa0e0d3df8113e961904f635f445a39d877bd3220", - "size": 3466487 + "sha256": "2d8e9cf828f9008d622e377eeca049c17c2e9739afe81f694021545e1aaa89fd", + "size": 3469710 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/create", "status": "success", "path": "en/api/beta/messages/create.md", - "sha256": "1122368b1c25694de74f6c3d1590070a931a46020bd5c25f03a4d06d10852520", - "size": 318629 + "sha256": "309032523895657cd285ce0196b1148d922b4e6aec4e57bfff6d07fdabac1487", + "size": 319410 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/count_tokens", "status": "success", "path": "en/api/beta/messages/count_tokens.md", - "sha256": "07e0feebed030945491757937a2aa5bb67f71b62e8f8d70810cbcdafa417ac22", - "size": 153461 + "sha256": "b8d40316f1d1767dc0223c90b2dc3e0bc7a9d2be84fcea78d368ecf1b7f91479", + "size": 153538 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/batches", "status": "success", "path": "en/api/beta/messages/batches.md", - "sha256": "18bbe7d8d882f6747821c642b8faad18dd2105e66ac4f22a2c65c6f40aa48005", - "size": 820128 + "sha256": "563814cbb2ea01866738ca49ec13fb57f965acc21708cfb187fe379d35b65d2a", + "size": 821334 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/batches/create", "status": "success", "path": "en/api/beta/messages/batches/create.md", - "sha256": "c56d75852a4fda48957f8cdf91fb99c54b4eab04f7070729aaf8cce4bdbf6ab8", - "size": 176766 + "sha256": "b7d0a0b1717e383e09541818bd98877c8d911880c7c9a00bb8081b27d8d06ce7", + "size": 177587 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/batches/retrieve", "status": "success", "path": "en/api/beta/messages/batches/retrieve.md", - "sha256": "7d71a10710ac88e76c9a5faeb63b032f8086615db573d2ee75863d002d81c776", - "size": 7089 + "sha256": "a4c99428b5186ce2f7e08bf66eaf4902e3755545cfb2ee43534b25d6c0023766", + "size": 7166 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/batches/list", "status": "success", "path": "en/api/beta/messages/batches/list.md", - "sha256": "9c85567f0920d99e3514fb3e2ccdb52d0ae66ace8718452f9d61329b8c0b78b0", - "size": 7864 + "sha256": "71a28dc182958ad3c21dda92bc203f775f21d63d9b2bd5f1f206bef49f80e8f0", + "size": 7941 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/batches/cancel", "status": "success", "path": "en/api/beta/messages/batches/cancel.md", - "sha256": "eaf19b9799b724e4efe827a83b16ebd7285f7de4fcc38ffca8e6d5e42290499f", - "size": 7422 + "sha256": "11e300c39721c9816038d3fd1ca389c1be39d25604a953709fdcaf883681f88d", + "size": 7499 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/batches/delete", "status": "success", "path": "en/api/beta/messages/batches/delete.md", - "sha256": "6af432c434668f3baacecce3a6237d62d8342cc9be2c0d77c7ebe19cc03d6a5f", - "size": 3830 + "sha256": "08575d0529e70dca4bd2a22187e0cf60a5d74a22be1df79cbafa0850466961ec", + "size": 3907 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages/batches/results", "status": "success", "path": "en/api/beta/messages/batches/results.md", - "sha256": "cbd94791a7eea6235c4a626d2943c191345f52e73edef07a05e0fa04d4a08104", - "size": 159343 + "sha256": "3e9cfec2394bb501c68e62aae2a04eff9e063422f0a9e6050de70a9ce5b7bff0", + "size": 159420 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents", "status": "success", "path": "en/api/beta/agents.md", - "sha256": "277b799efe58f1bfa3557dff8ad83cc77023170480548a1daf1757fda0788de4", - "size": 469723 + "sha256": "4993be3f08e1375b512333e7c7e95b9386e2eece9ded2b927a97e6ac004b0212", + "size": 470185 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents/create", "status": "success", "path": "en/api/beta/agents/create.md", - "sha256": "b6fe32747d888e4efdd1900c5ea0ac883ff6b50ce2dd889b9e9555c60b8435c9", - "size": 67072 + "sha256": "aea4ca00801613c0bed43455111cc24f12e44f5fc98806c4cf0457a998b3509d", + "size": 67149 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents/list", "status": "success", "path": "en/api/beta/agents/list.md", - "sha256": "51c93b42e9b08f9e0ca020d0d30fd8952b68bb1a68e17ffa778edc72b6949388", - "size": 31383 + "sha256": "a0fd2665b83af0dfcfa42807e32a06d3bd25af5aaf4fa7cc1df4416a9fcc21a3", + "size": 31460 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents/retrieve", "status": "success", "path": "en/api/beta/agents/retrieve.md", - "sha256": "045ba1192e4be401a7de027dc94ddb93dfc888d5fb762d9e658d614c063f7900", - "size": 30565 + "sha256": "c03f3c281e6f104a0c351182d2bd0d1aaba882f61532c3297d27e5541155518a", + "size": 30642 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents/update", "status": "success", "path": "en/api/beta/agents/update.md", - "sha256": "6d5186a561cbc1c708d3a0b9b83e609182e25b5a00adf4324fe2fba1f56bdcf2", - "size": 67797 + "sha256": "2b79bc6160f57048d2670e7701bd9539444cd7f1a176f9c657bcdb55d282f64f", + "size": 67874 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents/archive", "status": "success", "path": "en/api/beta/agents/archive.md", - "sha256": "8e1abe2b42eccc689182963ac2dfd7cd15665b9ea19cf881561ff443dc3eab40", - "size": 30453 + "sha256": "1d0e6134e5b52b78bbb06c8d2d819a0dcf004fa73d6a3c19cabf73867f9f8659", + "size": 30530 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents/versions", "status": "success", "path": "en/api/beta/agents/versions.md", - "sha256": "ff5ae9426c36050f6a6c2092f5a31803c0c7196d4b20ed8c142be84519cca387", - "size": 31168 + "sha256": "c52b9aeef617ba0ce944e8bc99daca84a35cc77d4ed4dbec2cb317466a01a5d6", + "size": 31245 }, { "url": "https://platform.claude.com/docs/en/api/beta/agents/versions/list", "status": "success", "path": "en/api/beta/agents/versions/list.md", - "sha256": "25b0b70ac8de8d764208f17d718115f3fa3a3ba9ca7df3a359d951c6b3c85e70", - "size": 31165 + "sha256": "09c63154c780155e8f36dcc1675a1d574a8f04bc3c939ec89238be3bd813007e", + "size": 31242 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments", "status": "success", "path": "en/api/beta/environments.md", - "sha256": "c8e6e12c56fd69d146c7ed0b3651fa8fdcbaeb269ee1eb0c29bd28c6500eb7cc", - "size": 97566 + "sha256": "10cac6da016ada9d040d283807ed97b023cca9bc9aef7df44aff7c10c2f90757", + "size": 98644 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/create", "status": "success", "path": "en/api/beta/environments/create.md", - "sha256": "ec538cae71f40ffadb85ce3501306d115f953969ad62b3ff3cffb83572091901", - "size": 10591 + "sha256": "49683f82eca85077686273dc939e18ceb5505a342e6e6e95eb115a7acfb366c6", + "size": 10668 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/list", "status": "success", "path": "en/api/beta/environments/list.md", - "sha256": "a5a885a1a5a7bbfb16e6b884246af012a684d38c32df3e479f6e5361d7cf1e71", - "size": 7582 + "sha256": "c86eaa0624734267d1769a28cb06942f97e2f8df72be6de16c1712aa63ce861a", + "size": 7659 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/retrieve", "status": "success", "path": "en/api/beta/environments/retrieve.md", - "sha256": "0346b34abd59e446b95ec09b490f3a8d3b61fb0f0316b13933db2321edcae001", - "size": 6887 + "sha256": "914ff751e9493ba26d53a5d8c3999b8745fa41dada0a2b9a2378a9fd3e529c32", + "size": 6964 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/update", "status": "success", "path": "en/api/beta/environments/update.md", - "sha256": "b285cec3d1d99d0d734b95b880c56a1db8332f453bb3682dc9ae0bb3e2ca596b", - "size": 10255 + "sha256": "5487cf9a511afeb879b868acede3838b822eaa5e3097d3e1a53cfd0ce490d072", + "size": 10332 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/delete", "status": "success", "path": "en/api/beta/environments/delete.md", - "sha256": "2bb9e3376bbbce9878c2a631c2e835b1265232d30aa06b50206c403d5b252ef3", - "size": 3492 + "sha256": "9ba70fbda39187e09e508a691038b203425ed404e8e83af9934b90453860556c", + "size": 3569 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/archive", "status": "success", "path": "en/api/beta/environments/archive.md", - "sha256": "11966e2a6af3158f75f5622a0cd90181e12c96d4262c918b071aa00dc346fea2", - "size": 6977 + "sha256": "d5685d72c4b1b09271867aca6b0ea6e54750915a995d962d3e0983db3bdc8063", + "size": 7054 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work", "status": "success", "path": "en/api/beta/environments/work.md", - "sha256": "58ef3acc2e383eef15f013e8150a0dd2d649efc79b20dfe197ec2015cc23f1d3", - "size": 48028 + "sha256": "652b649774230f6bf6a9f56f006aed886fd3f4a46d35a066b04677db147df6ab", + "size": 48644 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/retrieve", "status": "success", "path": "en/api/beta/environments/work/retrieve.md", - "sha256": "609ec3867732e6a6105ead578519c3a439e5687178d8301bc3c219e6e6f59b5b", - "size": 5658 + "sha256": "b616459283cd74cfca3022c23b8a500831ea7f0e0103b45406f650bccc83d51b", + "size": 5735 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/poll", "status": "success", "path": "en/api/beta/environments/work/poll.md", - "sha256": "32c1cf4d36dd8659a4568b9c8e2f0175f178551f4a952a9d7a7e2e1a6602c6a6", - "size": 5805 + "sha256": "437aec4e85a0d69ebcb3c6c327fe7c269482fe9fd32254a3c84a028539ec4e32", + "size": 5882 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/ack", "status": "success", "path": "en/api/beta/environments/work/ack.md", - "sha256": "12df67fa1a651bc2685b22acea2f4d33a5e745c907857034f559a27f2588c22a", - "size": 5377 + "sha256": "1f973911c8c6d8a4e15b9336025f06a412e312fbb7e19b2d85fe273e001b05cb", + "size": 5454 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/heartbeat", "status": "success", "path": "en/api/beta/environments/work/heartbeat.md", - "sha256": "78caeef4fc8524ff982ea43b45bfd2b2ca7111a56acf0401aa8a32fb6b7cee26", - "size": 4371 + "sha256": "d22dac0ecf55ab39f7cf0968ce9c4cc5e58b24c02c556a7292ce44f839cc20e0", + "size": 4448 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/stop", "status": "success", "path": "en/api/beta/environments/work/stop.md", - "sha256": "a4367a8dce35c9bf2abf676e8d2f2051efbfd7f6b062174642b83c4b2c9b94e1", - "size": 5840 + "sha256": "e0401ba224fe8bc0729057ff2a5a621fcb1233068ffb6de8b2cba2064b85bb7c", + "size": 5917 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/list", "status": "success", "path": "en/api/beta/environments/work/list.md", - "sha256": "cecf8d70a27319072e400c2275c083a7667847052fef3155c2629e452fda1de6", - "size": 5626 + "sha256": "a21f8b4491a0efd4096102f085308b49d15ebf8a57ef9a43950d17ab951e5703", + "size": 5703 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/update", "status": "success", "path": "en/api/beta/environments/work/update.md", - "sha256": "d4aaae86c105faa67c24e4229c81d9da54e590d951ff294f9616b5840435632b", - "size": 5955 + "sha256": "fd83e653715805aa7b8512e0e316122ce325f7b24cee57ef556f95ede1c1a4c2", + "size": 6032 }, { "url": "https://platform.claude.com/docs/en/api/beta/environments/work/stats", "status": "success", "path": "en/api/beta/environments/work/stats.md", - "sha256": "52d43f9f9c711643735aee266f4b4cd8f88794354d74f35f6b6a1191f16b7056", - "size": 4093 + "sha256": "ccfaec8c90bf5b8b904de04123188037f152b75b306300dfec962268480ce84f", + "size": 4170 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions", "status": "success", "path": "en/api/beta/sessions.md", - "sha256": "27d98ae959430b1c0c5bba2cbf4da8b6ed64b1fa5f1f948c190f162948bd52bb", - "size": 1222300 + "sha256": "260a72712e09c52e67fefa323451372f1b756f5ba8f11f01a886112541a117bf", + "size": 1223763 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/create", "status": "success", "path": "en/api/beta/sessions/create.md", - "sha256": "2bff1f5eb8a7f2c492ee6e52eda057f5571969a3f26b2b6d939dffff2a202888", - "size": 86782 + "sha256": "c6e8754e1056324cb0dbb5220d7a16ccabd60cf9fa3d3b4b8964a4fd13796acb", + "size": 86859 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/list", "status": "success", "path": "en/api/beta/sessions/list.md", - "sha256": "4605c8684e5b10e90b869ee892c089a934e37e83526065d4087364505ff8980c", - "size": 49541 + "sha256": "f554820717694e3f347e1fd915267f108fc55df3b6c559f5824f32cc579ed98d", + "size": 49618 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/retrieve", "status": "success", "path": "en/api/beta/sessions/retrieve.md", - "sha256": "82c54e3cad900efd2c84f814d5594f58a5800510a0efd220025181e95e2f0f6c", - "size": 46583 + "sha256": "71ef5264ab9a5b0768e5d774ea019e811c37475d9436f79630ed46e95d122cad", + "size": 46660 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/update", "status": "success", "path": "en/api/beta/sessions/update.md", - "sha256": "a2d31fef87929230e46e282053a0310a2f7a06b815738800a84a7d92a0bee30d", - "size": 71662 + "sha256": "50aba8d0a6eefc3eba89e20319b955334acc29ee98a8782b0afdddb6452278d5", + "size": 71739 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/delete", "status": "success", "path": "en/api/beta/sessions/delete.md", - "sha256": "bb5029dba4ab27c42316882ff229ae9bf1e6f81a6c2cb36047caa9b9eeab055b", - "size": 3358 + "sha256": "901fc92a3ed7349ad1445f4c9c155c1938db76c2beb0861187fe4c779b69a0b6", + "size": 3435 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/archive", "status": "success", "path": "en/api/beta/sessions/archive.md", - "sha256": "280d5ec4e1c1417292c30abca9539057a9d010277d80b17029cf7a4cadb12f95", - "size": 46625 + "sha256": "6d3bbb7ebad5a3e5f2880f9bb66f407faefc28da16314a3084b1510b483fd81f", + "size": 46702 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/events", "status": "success", "path": "en/api/beta/sessions/events.md", - "sha256": "0106f721ef7655893da4cb2bcf7a0069db892e7b3b6beb132cc885338ea3c4f5", - "size": 586979 + "sha256": "3ada56180138a04efac2a4026941b980bb18dcdc6229bf454f473ae45d159460", + "size": 587210 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/events/list", "status": "success", "path": "en/api/beta/sessions/events/list.md", - "sha256": "4fef0e1daab62b953052a18796587bfb2861aa4fc3b8e4d98340d269911899e6", - "size": 101877 + "sha256": "4b5db692a0ae2c10559477ba63ae1b93f8a167c402d9b3c771cc76067705fe2a", + "size": 101954 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/events/send", "status": "success", "path": "en/api/beta/sessions/events/send.md", - "sha256": "dd45d408c40f5ca2f8c0c59f446fcd64d06f1f6880cc998d8c5224a9701f354d", - "size": 26510 + "sha256": "605166f961b84dda54371511a9e921b543bcbb0fafc60939709f5152d2c4791c", + "size": 26587 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/events/stream", "status": "success", "path": "en/api/beta/sessions/events/stream.md", - "sha256": "2d2531a6e459ac3553844699b4af999e9fb9bfe3449e0d4ce84bdea4f91473a1", - "size": 102570 + "sha256": "215af871cf07a643459792e655b436480eef28033c39f56d9d63ca0c6af6b050", + "size": 102647 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/resources", "status": "success", "path": "en/api/beta/sessions/resources.md", - "sha256": "6dafbf72b67d48b6321c67540897253f244e61b8fe3820e883d7fc97cf5c3e61", - "size": 36433 + "sha256": "d823e7f815ef6b221c66f33f197f4e975861980743c32f7f11ff0c88d8af094b", + "size": 36818 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/resources/add", "status": "success", "path": "en/api/beta/sessions/resources/add.md", - "sha256": "955969c730fc0383fd5a681d0ac49ab55e0a27fb79113de423fb6f69631b9f45", - "size": 4157 + "sha256": "333ebb9a1af0a9cb12337efbea8727bca52cf98355fa3cf66c7a67bb2bcb09f1", + "size": 4234 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/resources/list", "status": "success", "path": "en/api/beta/sessions/resources/list.md", - "sha256": "c311a0ea3dfc03095043430503999106aed8cbe0e0f530911bf869dc576d2264", - "size": 6735 + "sha256": "4278fe788e187e554b4cf1f76e16a09ecd8c380d78bd36f2e25e02be97db8b4e", + "size": 6812 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/resources/retrieve", "status": "success", "path": "en/api/beta/sessions/resources/retrieve.md", - "sha256": "a853f442d2fc625e932297d3402b41facdd92e968ea25fb94aed067fa2a347a7", - "size": 5836 + "sha256": "39c32bde821599573324b820dc5f16fd47eaca2b6487d1e1b5677d05013aa48b", + "size": 5913 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/resources/update", "status": "success", "path": "en/api/beta/sessions/resources/update.md", - "sha256": "39f504f72e7885b61336b059d07844ef6dfb5122bc6e55fc1a2045c540c0664e", - "size": 6161 + "sha256": "3ae191d32509831e6078de86df3ad5d111211451b74dbd0c3f81b7eb765caf1b", + "size": 6238 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/resources/delete", "status": "success", "path": "en/api/beta/sessions/resources/delete.md", - "sha256": "84590540dcc5f73174406b4842db98f66a0fafef2664d8d56d8a0acd9420c53d", - "size": 3469 + "sha256": "e358bd3a9f6dada24edb02fb176b888d3b0431e4c4fb7535531f0d6e258e529f", + "size": 3546 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/threads", "status": "success", "path": "en/api/beta/sessions/threads.md", - "sha256": "00211ec1f9ba19f9d7e855cbc6b2ccaab3825006fc03dc77ceb8424dc2bfacc6", - "size": 455781 + "sha256": "2612ba7e28cea64fa105cd123f8a137e4c5774ef4657be86b074452a5093dcf5", + "size": 456166 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/threads/list", "status": "success", "path": "en/api/beta/sessions/threads/list.md", - "sha256": "06ac3bc9761f14c2d495b084d54eb21753b7c2a414010c9b0100c922e746ae5d", - "size": 34771 + "sha256": "2717359d72f0d464c7b8613c4ac8b04c362a5edfe7ff0a011f2953cc312504b6", + "size": 34848 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/threads/retrieve", "status": "success", "path": "en/api/beta/sessions/threads/retrieve.md", - "sha256": "fac172f281f2518d0053f9fe7eea8d0616e328778d4bea916fe2a35097b69c53", - "size": 33789 + "sha256": "9b8acb17b959ffdde7b9776fd7ed47b1fd5098153f4c2153b99622aacda6fd31", + "size": 33866 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/threads/archive", "status": "success", "path": "en/api/beta/sessions/threads/archive.md", - "sha256": "0ed162e3576f8bac100c42e0dae52972e206684b57e83f52f67d45237c05870c", - "size": 33831 + "sha256": "d672f3d554b9978b812017658fcbf5873ec9baeacd0a94123583b5d1ac4c7b48", + "size": 33908 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/threads/events", "status": "success", "path": "en/api/beta/sessions/threads/events.md", - "sha256": "85b2864ee2b4d008e0e4cc26967db0570658d8df9044bcace5390136cc1f3d43", - "size": 202110 + "sha256": "a3d1ab092b10d9767879d773c5b6b1968e4559cf0f6d1ca5883511dd8d892383", + "size": 202264 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/threads/events/list", "status": "success", "path": "en/api/beta/sessions/threads/events/list.md", - "sha256": "eb159e2f581e5737e6383279b7db272695f4a44119f56bf7c51289ef9ece2412", - "size": 99553 + "sha256": "59d4e95d9b07c3f6f793b8e1ef1356e2a7641e3fb506c1a5f2d339ee8b163d5d", + "size": 99630 }, { "url": "https://platform.claude.com/docs/en/api/beta/sessions/threads/events/stream", "status": "success", "path": "en/api/beta/sessions/threads/events/stream.md", - "sha256": "2479d5f8d97a90b67f380a3994d760d112d59801d49a9848291ee7c5f3047402", - "size": 102683 + "sha256": "622e0ac055fa36f39167627143bdfae4b265e05df4ca167e354ff407f14e648f", + "size": 102760 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments", "status": "success", "path": "en/api/beta/deployments.md", - "sha256": "0cbc25524139ae4a1c0a0708a5c22602e6ad108e16549d5a5c39cecbc9b64910", - "size": 223961 + "sha256": "bf6132559b4499705d3e5e594a4a00bb12ace3f27629cb1b66b3026805d5508d", + "size": 224577 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/create", "status": "success", "path": "en/api/beta/deployments/create.md", - "sha256": "85f2d759320adb6e3aa03401d86916a3c6cafa1f7a3795b82c2a877ab4b9b8e0", - "size": 31362 + "sha256": "2807d2a4dbe08f6c59348beb2dae62c2bf882064fd3eac034480393a490a6a23", + "size": 31439 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/list", "status": "success", "path": "en/api/beta/deployments/list.md", - "sha256": "86f7088cdbe060092355b5052f36d29e1c45fb7a40a3478ed499201bdbf00e00", - "size": 20769 + "sha256": "3baaae63d6a3b9aeaa795ff0c64044d5dc1285914636cb308b1bfd63ed9a2a6a", + "size": 20846 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/retrieve", "status": "success", "path": "en/api/beta/deployments/retrieve.md", - "sha256": "e00b1fc9e418bcbd9d427284967087a8ebc33950c4748584c5b76b733e718916", - "size": 19541 + "sha256": "342450694aea90f09e85b1128424d3817a7a5bba80619544a0cd8b1053e17713", + "size": 19618 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/update", "status": "success", "path": "en/api/beta/deployments/update.md", - "sha256": "c8b9a4316c95feba0038eef5268ee3d54223d45201a05656c52eb2954c3a00e6", - "size": 31249 + "sha256": "b3dd6d209db63faa0285b28e8d61a07b9db102ba899c52cfc7fec0abc53fd648", + "size": 31326 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/archive", "status": "success", "path": "en/api/beta/deployments/archive.md", - "sha256": "318c9242a778437187e980b1171e35b3f04664bf254fc39a40f0dd8df8c2a38a", - "size": 19594 + "sha256": "8ba379f386a26e79f7608748126fd2c3f24d2d4ef7efe6255462c5337c329512", + "size": 19671 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/run", "status": "success", "path": "en/api/beta/deployments/run.md", - "sha256": "3ec9de0af2c69f168836d184adc177317025265b11fabf2cd84f35d163feb4ff", - "size": 9426 + "sha256": "9ebc26883714f1277e68ad2dca33829d7d2e6370380bf379d6b0ad3e5617b6d7", + "size": 9503 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/pause", "status": "success", "path": "en/api/beta/deployments/pause.md", - "sha256": "64dd9c3326c7af563a706d06c032373d63d466a7364a7caadd11ebd619375f64", - "size": 19580 + "sha256": "d2eb670607aa0ad4adb95a43f83a209347ed048d0e715af08ed5ebe122d9f9da", + "size": 19657 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployments/unpause", "status": "success", "path": "en/api/beta/deployments/unpause.md", - "sha256": "74b8c0e269440ded805166c05461d2985b03b2cca8cd7d5d65042085fa9f2673", - "size": 19594 + "sha256": "25e795effcd73163de730e361faa322d29426a14031bfb89e4e6e62a93146873", + "size": 19671 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployment_runs", "status": "success", "path": "en/api/beta/deployment_runs.md", - "sha256": "57ec3319146ed387bf0ac45b718e3980bbd864272b22b2b457e3efb22d592e4a", - "size": 32250 + "sha256": "29d5d9bef8b4ca9e380d6bb8809357439f66d281416c12ba966a09a70e484847", + "size": 32404 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployment_runs/list", "status": "success", "path": "en/api/beta/deployment_runs/list.md", - "sha256": "4f5e716d7fd8da519f3062241d06df0ffd27a7ed874ec8e7ba95fdcae8c01ff9", - "size": 10797 + "sha256": "8ffbd1a1afb9f1cf579877b235ffa7e0ca56ca4764caafab39f0db480cde3ce5", + "size": 10874 }, { "url": "https://platform.claude.com/docs/en/api/beta/deployment_runs/retrieve", "status": "success", "path": "en/api/beta/deployment_runs/retrieve.md", - "sha256": "77662e237270629db74e6bf043418fa67fa62a6361d3e1fdff4182eb18c3d2c6", - "size": 9429 + "sha256": "984565007fab7a646b9e3e2acb3690d1a66159148d643462cc36c1ed4edb6d3c", + "size": 9506 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults", "status": "success", "path": "en/api/beta/vaults.md", - "sha256": "78346ef6682307cdcc669bd73dca60a556cf5e75e9210443415c3d41c0d06073", - "size": 87601 + "sha256": "4f0a7b8b613fa8812fa5b7178681fab86dad1554d0cdb68ccc28fdae005dd43b", + "size": 88602 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/create", "status": "success", "path": "en/api/beta/vaults/create.md", - "sha256": "20ea859a07f480dd50931fef0a98860de64083f6afd6f91949c15e5c2feee0ca", - "size": 4389 + "sha256": "5fd836cce812d4dd6015730e8e43e314cadfbc79748f9d9dc564d2559a160436", + "size": 4466 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/list", "status": "success", "path": "en/api/beta/vaults/list.md", - "sha256": "4574cdfa9988358ec2f1f0fa4ea7fa3a43acd2a6d269e871b3a8eda4f98572e5", - "size": 4601 + "sha256": "272c7483d968ff496980a8807220dca7dab833927e123c7dccfcbda3e939fd00", + "size": 4678 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/retrieve", "status": "success", "path": "en/api/beta/vaults/retrieve.md", - "sha256": "174dc128f571c56304d30338b439a3aff0858e09823c300e321ff9b93be648b4", - "size": 4033 + "sha256": "ccf93a42c902eacd77708b71b803c74307b994534a6fdccf61df3f3839b39ba9", + "size": 4110 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/update", "status": "success", "path": "en/api/beta/vaults/update.md", - "sha256": "39b79e9cb158316546b03776bee94581a15ec847794d943e99de7fadf5117f60", - "size": 4519 + "sha256": "c2a8f066f7cdf0c95804a8d29fb07aa2525c6f5a377f7ea70b76306e8dfe346f", + "size": 4596 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/delete", "status": "success", "path": "en/api/beta/vaults/delete.md", - "sha256": "fc06b7f869541b55d8a3e7f76d26962322dc4df1b48635f783653f6e9b48a615", - "size": 3410 + "sha256": "b75c9b4d219f5a65f70830cf21677f82e0ee0b9161782b1723281c816255a940", + "size": 3487 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/archive", "status": "success", "path": "en/api/beta/vaults/archive.md", - "sha256": "84b0796feb3886f3a5b8154237bfae8c44e949ad45f60f92eaf39f192277f9ea", - "size": 4059 + "sha256": "ac7e6531ec3ae4293963c376b23bab0c13e31987932752ac7288377ca0ce9269", + "size": 4136 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials", "status": "success", "path": "en/api/beta/vaults/credentials.md", - "sha256": "6ec763ef2378c1bf8a0be9a4ef4ef67f5f13c5f8fbd4fff79b2e0ab647a9927e", - "size": 97008 + "sha256": "f33fa08b07e7442d4c7a4e33b2af0fd348ca627556dc2c5091f1c301b3e0de0b", + "size": 97547 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/create", "status": "success", "path": "en/api/beta/vaults/credentials/create.md", - "sha256": "f8079ded0eddacb88664ed47e65881e39e8b78c4d31bbf5f4efa9b51c7538c64", - "size": 13725 + "sha256": "fbb9deb838f580287675c13e05aadf1fd0a94db776f6a0817245b3ea3d0e12b7", + "size": 13802 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/list", "status": "success", "path": "en/api/beta/vaults/credentials/list.md", - "sha256": "95659270513e903c8ba2a3843338589f96d2dc7437188fbe030f7b7b3a128b50", - "size": 8812 + "sha256": "765f028a69b145c4d780e8ac0deb0c3d25c2fefe67054ac41a6aeb3d1cec87bb", + "size": 8889 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/beta/vaults/credentials/retrieve.md", - "sha256": "38b7bda6a9a31696b86587bb55bd5fd20a0f4057f1ab8e9c3675bc2fff64135c", - "size": 8209 + "sha256": "63aca5efda284f641b62850d2c34f7b866f03e3733e2ed99b9705e2347f6b22a", + "size": 8286 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/update", "status": "success", "path": "en/api/beta/vaults/credentials/update.md", - "sha256": "fbe0af78b1a8f6279f61fba278905036df40c0e26be7d6041acdcedb1e7b7c2e", - "size": 13297 + "sha256": "40907fdd596c0e15d8235e7d398ca77716a79e7bc08fb49eb9703bb34be954f8", + "size": 13374 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/delete", "status": "success", "path": "en/api/beta/vaults/credentials/delete.md", - "sha256": "1dc848bd45a0a9549e1c8f8e7ccee0ee4843d0f7a4b5676fd0840d8ab8081032", - "size": 3617 + "sha256": "f7857af0b19418af5e9c85bb0d01e8a965f59edb8af6cc361fa1f036058a97ab", + "size": 3694 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/archive", "status": "success", "path": "en/api/beta/vaults/credentials/archive.md", - "sha256": "facf94f177d265acd6337d585520adb798463f11351198b6b236f3c1e9422c94", - "size": 8235 + "sha256": "5873d0ae716eafbc3744add35a3a19518fffd0f3a617122eca0d21c52974f26c", + "size": 8312 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/mcp_oauth_validate", "status": "success", "path": "en/api/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "4e8d702f345c0b650fd399456433dc4cf5568a16fd8e16dc5fee1c8dff8a348a", - "size": 6928 + "sha256": "82560d47e4703779a90f7c54903de9ff571918f7208ba30d5654d7b8fd2c9872", + "size": 7005 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores", "status": "success", "path": "en/api/beta/memory_stores.md", - "sha256": "7764ed5327cb3931db411253a7fd0f5b230f40356797f291970c01b0dfe3e0a4", - "size": 101082 + "sha256": "f54e570b611e39070f1ebf798ded12e71b0837e14662b1ecd1637b51e88a6b02", + "size": 102160 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/create", "status": "success", "path": "en/api/beta/memory_stores/create.md", - "sha256": "40d5435726451a97d68a1fecbf7e936acdf054863b2072936f8f02dc1d12727f", - "size": 6487 + "sha256": "6dae70d2443c4bcaa2a15814e80c5d2cc7055c2065d158891ba89d0d9c2c7122", + "size": 6564 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/list", "status": "success", "path": "en/api/beta/memory_stores/list.md", - "sha256": "533b02bd0fced840e1a4fffcae7f2b60c60d54d84bd02e53eb944991524b44f1", - "size": 6166 + "sha256": "a5cf6a0a9ca3ab4feffa259cc3f646e029ddd688da5316d91d8ba097f1ca1a57", + "size": 6243 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/retrieve", "status": "success", "path": "en/api/beta/memory_stores/retrieve.md", - "sha256": "8091c5947efc028d0c811f9d828a1ff0f7eb29c127c7e9c14187b4d2ae693a3b", - "size": 5413 + "sha256": "60f2ce8653e80b768e124dd2604a06669b1623a5347c8532931edc748f63ba99", + "size": 5490 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/update", "status": "success", "path": "en/api/beta/memory_stores/update.md", - "sha256": "6c1f2707f1599f9475d3a33fbf28a75c7c3763dde3230bb6b8429959debb0474", - "size": 6305 + "sha256": "32cbc107d60246b8da6d32b145d4505ba2a35e1cccd9b3688cd0a47a5b9c573c", + "size": 6382 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/delete", "status": "success", "path": "en/api/beta/memory_stores/delete.md", - "sha256": "95a5e1df5ce24094fbff7babdbfabb468588fca9e2c08e7fac7f9f6482ff21cf", - "size": 3698 + "sha256": "3a4ae91d055e124fad27616d0b01a07e499461e741a77251b8715e314bae22a1", + "size": 3775 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/archive", "status": "success", "path": "en/api/beta/memory_stores/archive.md", - "sha256": "64f1624eb190138ca22ff78c3d80e73d8b4d4414ca7b487b5e437bf61dfad460", - "size": 5534 + "sha256": "0ddee4ff064f0cb04917d6fc119ff32020c32c9f8cd909c69671cc7e95aa3a7d", + "size": 5611 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memories", "status": "success", "path": "en/api/beta/memory_stores/memories.md", - "sha256": "c79db32348ccc0c8f287e5d995b8cda23ff32d87cf87e4a2bc132fa57d0963a3", - "size": 50146 + "sha256": "a5f046026a31e09fd4676e830a8bdb4d4c646d3d55ab0f59fb77a934b394e310", + "size": 50531 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memories/create", "status": "success", "path": "en/api/beta/memory_stores/memories/create.md", - "sha256": "f9d50868b9a0f8cf9d8917edf9dbe910f34921ce33a7bf49d8403e1eb347c621", - "size": 7326 + "sha256": "3ca2cde729faf186d437d75b0c6741200ce98abffdf321bb7604f2ba63888e6d", + "size": 7403 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list", "status": "success", "path": "en/api/beta/memory_stores/memories/list.md", - "sha256": "56bee8df0ed46f4a8cb9f4019744d0646c7e0468f9dab7cf2f519a8e1746fcd2", - "size": 8794 + "sha256": "9ee9fddd75dc2bbd108242e5e5b81afb33f55cd8795cbaeb712aab5ccd6cb39b", + "size": 8871 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memories/retrieve", "status": "success", "path": "en/api/beta/memory_stores/memories/retrieve.md", - "sha256": "6998af373f76a5d834ee5d1759047175463216f8f395429a8259e925af582cbd", - "size": 6694 + "sha256": "2da95aad974a5ad299f5dd3bd4d644758abe8bbfc1a40b3a45aa0b7ea78b6c89", + "size": 6771 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memories/update", "status": "success", "path": "en/api/beta/memory_stores/memories/update.md", - "sha256": "e3111e6dfbd87fafa4864c1ecfca2f505d9df1ca2c6435c1af90595cefa77dfe", - "size": 8031 + "sha256": "185e49040c2357cbc939ab53f09f7ed83f1964e6dfc5bd84b30e83c66c8e9e3c", + "size": 8108 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete", "status": "success", "path": "en/api/beta/memory_stores/memories/delete.md", - "sha256": "9103df86c65a30808ac91a919ef762ca19f6c33ff6a26de724e319d52007caba", - "size": 4531 + "sha256": "d8567a95dd29eb522a0a5c0f735a5066f475484c818fdfbeffebf42a6a07e089", + "size": 4608 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions", "status": "success", "path": "en/api/beta/memory_stores/memory_versions.md", - "sha256": "e9d1654a8b74b02ba48b98deeae3c6519ea808c47112adcc031eb61a66e10252", - "size": 40377 + "sha256": "21e0d9460df0a2e6fdb0dfa033574898cc3221836527b81f0457142858c317da", + "size": 40608 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list", "status": "success", "path": "en/api/beta/memory_stores/memory_versions/list.md", - "sha256": "95db7c4ea46b9a4e46fab0cf48fdd18bd59f1f4237da134c3b7698b8eff37da6", - "size": 11515 + "sha256": "8fc69cd3787bac942ed673318ec0721332a44cde13d41878a5cb2c0f1395a780", + "size": 11592 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/retrieve", "status": "success", "path": "en/api/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "3186c59e336bbc0fd13e450b93842603f95597009ffdeac26ee1c1c833d86ebf", - "size": 10078 + "sha256": "854a6a70322b5b077e2e6e9842bac287f69a2ffd833c81104995fa60e8245d39", + "size": 10155 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact", "status": "success", "path": "en/api/beta/memory_stores/memory_versions/redact.md", - "sha256": "3fb41f6a108d7d12c53c670b428207c297c7c99308a1d8f9849a6517705543bf", - "size": 9479 + "sha256": "e9c41e42a8f4ca4c90db7f9a4a083cf66b62bb9e033a0dca005364ca13c244ab", + "size": 9556 }, { "url": "https://platform.claude.com/docs/en/api/beta/files", "status": "success", "path": "en/api/beta/files.md", - "sha256": "202d44497812a3f3c411f42184faf7247924c381212e3e280174dd25a894621d", - "size": 23164 + "sha256": "7ef10dce2ed61deca6288aea3f7d71982503e88c5f3913dc4b6d80bb55649d5f", + "size": 23549 }, { "url": "https://platform.claude.com/docs/en/api/beta/files/upload", "status": "success", "path": "en/api/beta/files/upload.md", - "sha256": "eb2d2d3f82eede50d57554aa428b7ee6b1c5729c9bc8f35cb42084bfe2d23307", - "size": 5131 + "sha256": "6e72526a7430a5165618e9e10c33d29cc32071b4fbf120f590e05ddbec5ef352", + "size": 5208 }, { "url": "https://platform.claude.com/docs/en/api/beta/files/list", "status": "success", "path": "en/api/beta/files/list.md", - "sha256": "70a1935182ca957da6a43f774b16a19cd3baf2c2a69933c9a8c242cd7b8b0a67", - "size": 5631 + "sha256": "276afc9e179e2b6635ec8d5c31024e64159fca6bed1da6cc8f8d799e24e1e9ec", + "size": 5708 }, { "url": "https://platform.claude.com/docs/en/api/beta/files/download", "status": "success", "path": "en/api/beta/files/download.md", - "sha256": "a8b2de22ee0ca2e4560d30e32a469ccc6e5d46223f1818ad6d62761c30a2bcd0", - "size": 3003 + "sha256": "e3080e7839e1408b44a7f03262d12a3b3d573dda240e0760116d6b36822d6953", + "size": 3080 }, { "url": "https://platform.claude.com/docs/en/api/beta/files/retrieve_metadata", "status": "success", "path": "en/api/beta/files/retrieve_metadata.md", - "sha256": "74d214410ffacdd08128f9fd8159b305df9c55750edcc399e28b7d5bde8fda3c", - "size": 4659 + "sha256": "602513c4d9fbb6ca881e31642e640e30da9f97120e5c68b9e1587efdfd1677bf", + "size": 4736 }, { "url": "https://platform.claude.com/docs/en/api/beta/files/delete", "status": "success", "path": "en/api/beta/files/delete.md", - "sha256": "e1e415d8555d2a521eabb3d8b9d15f056cc782ecb8786a14f2ef3a5b83a536e5", - "size": 3335 + "sha256": "4831b7e6960316ceb44bdacddb68ddab41b80152497dcc35a07d01888689a10b", + "size": 3412 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills", "status": "success", "path": "en/api/beta/skills.md", - "sha256": "02dbee47b20782ee5128d5c921afa82d743d12b525eb3fe70961f6896969fb3c", - "size": 42811 + "sha256": "fb768a901207d0bb05a38b769ce9bed6bbbbddb04a94356a4da336a059b3e100", + "size": 43504 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/create", "status": "success", "path": "en/api/beta/skills/create.md", - "sha256": "e13816341de22a62d1c995b4138e9a34adfd2d2e80bcf052b0a3b5ff907557b7", - "size": 5387 + "sha256": "9cdc94402dc324265e7e93fadb8f757722072b3ac819353ac5b27f9138b0c0ed", + "size": 5464 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/list", "status": "success", "path": "en/api/beta/skills/list.md", - "sha256": "099caad223a1f45e90e01ddba63bf9358b53d30036fa887ea39da2e223bbc1a7", - "size": 5804 + "sha256": "6b987adc4adbfb8c0e8a3e14e085c2b36d6662194ebbca4fa92e37cb9295ec17", + "size": 5881 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/retrieve", "status": "success", "path": "en/api/beta/skills/retrieve.md", - "sha256": "d08fa16eca763c3c927698f3e90f91a0611d49f489b5f864c4021a5bba11f642", - "size": 5026 + "sha256": "27f8a98b44597700ec43f7be39c30d3fe9a27738925b3815f1c7558066838f2c", + "size": 5103 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/delete", "status": "success", "path": "en/api/beta/skills/delete.md", - "sha256": "47332d801b9b328e6a50248c102cfe979d3e792313df4f671257fdcf0a7c7de5", - "size": 3472 + "sha256": "6e9fa6acbeb8fdeb47f953891e8cf63bab6ceb470de60a84ba619ad67b2bd45a", + "size": 3549 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/versions", "status": "success", "path": "en/api/beta/skills/versions.md", - "sha256": "7b982f1fae392a90122d281f57bb7fd915c80e6413eb70761862e0d0c5effbe2", - "size": 22304 + "sha256": "a3537881183f74f2fca947018abb90ce38b440321439a488c6d7170ca1857502", + "size": 22689 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/versions/create", "status": "success", "path": "en/api/beta/skills/versions/create.md", - "sha256": "a51184fab65958689c7388e88604da6be5df2e08bedbf7e59ff4ec163ea6d030", - "size": 4613 + "sha256": "211abe87d39da23ac280980b4f5502fff5fc261532f9b12e08258522fe1cb631", + "size": 4690 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/versions/list", "status": "success", "path": "en/api/beta/skills/versions/list.md", - "sha256": "95b07517446d7216edfbf20189bb2a6f9a7aa8659599562bd429ce81d2288a3f", - "size": 4916 + "sha256": "b1cd6dfa4a6fb9ae344721f7030f646e521eb0b0c802fc2275ebd5764e50a5cd", + "size": 4993 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/versions/download", "status": "success", "path": "en/api/beta/skills/versions/download.md", - "sha256": "ba53cbc7a2fa8a55f7282a8a8690b25ca7918ede3589614b7287d083aefe18db", - "size": 3411 + "sha256": "2b218d629ef7501a27dbc15905884547ea2e8af3e80ebef8f7f5cb0cd8b1ff6b", + "size": 3488 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/versions/retrieve", "status": "success", "path": "en/api/beta/skills/versions/retrieve.md", - "sha256": "e4b49e43ad4895e842f5a8d163ac1e182f7334bd5588844a691bfe7c36c6b802", - "size": 4605 + "sha256": "94935b693246190fad409a00b1d2f7421fd3280109daf13adf29955cce3cfeb6", + "size": 4682 }, { "url": "https://platform.claude.com/docs/en/api/beta/skills/versions/delete", "status": "success", "path": "en/api/beta/skills/versions/delete.md", - "sha256": "30e40db016eaf372166feb48bdfc8eec446637a0b6c0cc9706c91931b3ef07bd", - "size": 3793 + "sha256": "ab5f3f619f1fcc36bea2e4138ab1e3c861deb2a9f1581acce0b9ac3c95f0575a", + "size": 3870 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles", "status": "success", "path": "en/api/beta/user_profiles.md", - "sha256": "3fdf3bc4ae5d45bf529fbca4213fd46fe3b22e1798a9901fba59ede8ce2da964", - "size": 66993 + "sha256": "1670dd1753e9100434ccd20fb08e587cafa6285e82274e4f437ce679f7aef537", + "size": 67532 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/create", "status": "success", "path": "en/api/beta/user_profiles/create.md", - "sha256": "8267b312d8a0d8c643a0329beb1ff89170245ed9aa126041aa05e7ad35cada9f", - "size": 13697 + "sha256": "cbf26ba9ba84457cf0bd9b9ee026496027d4857bf74a5c1b6b4644611f6b3ff1", + "size": 13774 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/list", "status": "success", "path": "en/api/beta/user_profiles/list.md", - "sha256": "7d3cc84075105007cbaac47b6ada21708a8b5397c3e0b393dfb5280236af92e0", - "size": 9777 + "sha256": "52e65084f630c4471d3a825e7fc738e6a9d7f4480944c21911b81609e5351d1d", + "size": 9854 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/retrieve", "status": "success", "path": "en/api/beta/user_profiles/retrieve.md", - "sha256": "5cc2fd6f14958487e5ab1f85f4f45d53c3588661f8198d8a2624d68ed39f85ba", - "size": 8885 + "sha256": "4e25a245f19af93aeb2b7209fc54332ded2dd2e5ac9b800f10d2ce032bcf15e1", + "size": 8962 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/update", "status": "success", "path": "en/api/beta/user_profiles/update.md", - "sha256": "22fd4856849b5b47acca1cdfc524576b8e41bca6615aaeb607f2d27083395f02", - "size": 13304 + "sha256": "fb792c22013ff792789917ab96014971d5b13a026410ba5051a7914df5cf30e8", + "size": 13381 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/delete", "status": "success", "path": "en/api/beta/user_profiles/delete.md", - "sha256": "c5b5ed88d962c3edd0968ceabbb53cd22dd817b2a9c19c690300fa8e58bf897a", - "size": 3484 + "sha256": "41607e4dbeaceb43b91d98feaa5d7c25381602eff972d08394cbfd98d8551884", + "size": 3561 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/create_enrollment_url", "status": "success", "path": "en/api/beta/user_profiles/create_enrollment_url.md", - "sha256": "b151816192fb184e8862106cae037792589fd078280d59779b3b5fec399b3b24", - "size": 3848 + "sha256": "ed20dd5f661ef7884d4664f7ce10790157eb4c8c54596565fd23275bcf34820a", + "size": 3925 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/action_urls", "status": "success", "path": "en/api/beta/user_profiles/action_urls.md", - "sha256": "ca1c13891f0c5e3a29a01fae8a594db0ab285c53da2e00b9f406f568ea4475aa", - "size": 5202 + "sha256": "11e8fa8dea90644aeb8d2d12116960045fe69c7225304f1442e896b4701ad6fd", + "size": 5279 }, { "url": "https://platform.claude.com/docs/en/api/beta/user_profiles/action_urls/create", "status": "success", "path": "en/api/beta/user_profiles/action_urls/create.md", - "sha256": "7c37e49b3ad94125cca8d1ccf0effc44bf24edc65b54a2a52e54461b8afa1eab", - "size": 4207 + "sha256": "11e640b268dbc11031f0f31714debc9b15f6a59ae473876746c140d81984f8df", + "size": 4284 }, { "url": "https://platform.claude.com/docs/en/api/beta/dreams", "status": "success", "path": "en/api/beta/dreams.md", - "sha256": "c643bf004d7bc827f4cf8684581c8787bd9188a4a125400f4ef3257d94af7e06", - "size": 85633 + "sha256": "7682677399c645a9aab982ce599f32af49e44588d06038ede62ba5945fee5d4b", + "size": 86018 }, { "url": "https://platform.claude.com/docs/en/api/beta/dreams/create", "status": "success", "path": "en/api/beta/dreams/create.md", - "sha256": "b60479765928afab84696e32022c1f63fc6c2e9b2f796fd3ee15f4fd2a097009", - "size": 16047 + "sha256": "d0e810fb75e5740f2d88ff8ab8a5c982f12b00694db245bfdf29edad60442dcc", + "size": 16124 }, { "url": "https://platform.claude.com/docs/en/api/beta/dreams/list", "status": "success", "path": "en/api/beta/dreams/list.md", - "sha256": "cf4e191eef29ede9db7b43295b238acbecf75ee12190c2e6ac6eafd3c0bd8cdc", - "size": 13242 + "sha256": "487adeb2178a36a911e5708431450bc6f66f190d8287b27711b621c7b83302a6", + "size": 13319 }, { "url": "https://platform.claude.com/docs/en/api/beta/dreams/retrieve", "status": "success", "path": "en/api/beta/dreams/retrieve.md", - "sha256": "adefb9e43dd66c0db26131e5c2510b5c45c75d91551eb122c2a213f266d66ed3", - "size": 11991 + "sha256": "be8744a1e2bbf4769648ca37da7d0e10433e3ef0fc73c6d1b61d5da2ef503077", + "size": 12068 }, { "url": "https://platform.claude.com/docs/en/api/beta/dreams/cancel", "status": "success", "path": "en/api/beta/dreams/cancel.md", - "sha256": "836260196c973b354ce11ca45020fac8ad80cf77f0d9569e354d4676cf073869", - "size": 12198 + "sha256": "9e3e8ca59c363a44a882be3b23de1b204babc6d9584f30b1999c30407e2dfb34", + "size": 12275 }, { "url": "https://platform.claude.com/docs/en/api/beta/dreams/archive", "status": "success", "path": "en/api/beta/dreams/archive.md", - "sha256": "491f4f8781cf1ca342d0f47e24b15643ac499367f8b166b0c7f8fec57ea15299", - "size": 12197 + "sha256": "ca7f14496226ea6999015c7c4cc5b690dc22692a04b5a080b6fa75300fadc270", + "size": 12274 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels", "status": "success", "path": "en/api/beta/tunnels.md", - "sha256": "bfe0df6e19c593c62dc545226ae2f77f19fa022399b429a00ba17d187f4d4d57", - "size": 46942 + "sha256": "9ae4db4ab8aa53d9e93fb044f23b16a14b341e2afd66906250770150daa1e837", + "size": 47712 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/create", "status": "success", "path": "en/api/beta/tunnels/create.md", - "sha256": "cc74d6da02baf23a7e7550d8a6ff2b49db0e5d238e62b0cbf37a77038547943b", - "size": 4624 + "sha256": "8db1e870749f30a1206ae47e12d0a9be1d1eec7da1ffdacb01fd81d4a6ca54d2", + "size": 4701 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/retrieve", "status": "success", "path": "en/api/beta/tunnels/retrieve.md", - "sha256": "d015f247ef818c8ae6acd42050aecc0492edb715ac0d4c8876ee4b5eed5491ab", - "size": 4342 + "sha256": "43e416f4eee0550cc448f97a83c64252c3e280d12a5d01cc881c8de41c3c0603", + "size": 4419 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/list", "status": "success", "path": "en/api/beta/tunnels/list.md", - "sha256": "3ed90c26da31fec0dc712dfa1099342a5dbda6e7bc04dbf23160d142ebd1bd1d", - "size": 4926 + "sha256": "8c413fcdda935331c2baa8f4abb01729a9b6de75c08a35663f7f2811454ff3a2", + "size": 5003 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/archive", "status": "success", "path": "en/api/beta/tunnels/archive.md", - "sha256": "a3add20b03df9824a95b0b7353c405b3bb64f2a1cde28c94e62a8686289f1291", - "size": 4649 + "sha256": "7f3499600efaab4dfd8700e49d1b25a184d972a26e216665aeac35a22fb68931", + "size": 4726 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/reveal_token", "status": "success", "path": "en/api/beta/tunnels/reveal_token.md", - "sha256": "f655904c3e7164577c69c4bad196cad613b3da7b69a77713cc43c9fde72a4821", - "size": 4056 + "sha256": "07d6f9a01574fc4e118767c0e079a2492ad9d5d1391d3e163a44b21558b65def", + "size": 4133 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/rotate_token", "status": "success", "path": "en/api/beta/tunnels/rotate_token.md", - "sha256": "19eed7aebb6197bd8233689aafdbe56fb41e2cdb617646ae493ba72e2d52d40e", - "size": 4221 + "sha256": "505b18f7d8ac9531bb23ce6c1cfa0938785ae03d48b7093b90828a9030cc52d6", + "size": 4298 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/certificates", "status": "success", "path": "en/api/beta/tunnels/certificates.md", - "sha256": "5a9df8afc8d30e1ade8fbe3c8b6875d3fc34bd3ee5f93ffc9b15c34f1cc50afe", - "size": 20426 + "sha256": "9b9227b07ffeb6f13994c0bdb88290ab077cefc94e47b1a91f90d39be9840452", + "size": 20734 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/certificates/create", "status": "success", "path": "en/api/beta/tunnels/certificates/create.md", - "sha256": "83582b5db59da12f8a63269b888f8245f2ad9619dd8a0d14695dc798b584a6b4", - "size": 5050 + "sha256": "1e433a3ab1a03c314c99f0fa53dfcd02f9f5635d4844e403a44c8281d4e21380", + "size": 5127 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/certificates/retrieve", "status": "success", "path": "en/api/beta/tunnels/certificates/retrieve.md", - "sha256": "4e3df8f7598a71efeb2fb65646fd6614b3c369313bff52887d1379d2d9ceecb3", - "size": 4665 + "sha256": "f632d40bb633e1d36f04eeb956e22c0042708e51c672cff8d7b9011fbcd27ad6", + "size": 4742 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/certificates/list", "status": "success", "path": "en/api/beta/tunnels/certificates/list.md", - "sha256": "709e88ab02e8d20710b3dc166f4871f4158c9749581f3cc6880d2baf297afd4c", - "size": 5228 + "sha256": "b6d20fc5c45e10923e486f4b520e9be52a18b07ad9b1b2022a9ba9bd7ab45ff5", + "size": 5305 }, { "url": "https://platform.claude.com/docs/en/api/beta/tunnels/certificates/archive", "status": "success", "path": "en/api/beta/tunnels/certificates/archive.md", - "sha256": "46c30850d9c18cd52cfefd235f206c292b8c5a8ac5df5f610f395c75901c2b51", - "size": 4926 + "sha256": "a8907ad19bb95adbda72b39e9b487761a42f9a3171375f90801f539a267dfe5d", + "size": 5003 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization", "status": "success", "path": "en/api/beta/organization.md", - "sha256": "a699462cc7c338cda78529b6e79b8429b54fe8a084f63381cf10ac62a72178aa", - "size": 875974 + "sha256": "861aec25810e31c1da57689f097401a1d84c436d514874157fddfa052c2d06aa", + "size": 939863 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/retrieve", @@ -4069,120 +4083,120 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/federation", "status": "success", "path": "en/api/beta/organization/federation.md", - "sha256": "ca743e77464962867a18fc54a0990f81234c18ff9f96f8d1007330ff3c2f0cc7", - "size": 108315 + "sha256": "9e6b7bb4c3c9363f874508be99ed412fe5e1d41b8eaafff6141ab0eb91602bd3", + "size": 109316 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/issuers", "status": "success", "path": "en/api/beta/organization/federation/issuers.md", - "sha256": "d0d92f23212e374efd03c41407cbd4ffe0acf93e0561d0c31cf968af4b826a1a", - "size": 49418 + "sha256": "6edf5dc7f270cbbeba64d06e953dfc0b02631b1c46193b302553cbdae304ff5b", + "size": 49803 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/create", "status": "success", "path": "en/api/beta/organization/federation/issuers/create.md", - "sha256": "36c09d335b5c9eba6904ac4115e728a580ffdbcdb4eccc56fbbaf90021611616", - "size": 10184 + "sha256": "1bb9cdc2bd50bd3136660a8ee561acd0e06c6214d159bd4469516096a6842f9c", + "size": 10261 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/list", "status": "success", "path": "en/api/beta/organization/federation/issuers/list.md", - "sha256": "2cc89bff045a84fb3f85866a04becc47bfeb60b543eb0c3f953dc0210e887ba1", - "size": 8072 + "sha256": "33b6b05018667a470748cb3f9d76a77caa5fa8d9e3ed4cc42795365ac77a0429", + "size": 8149 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/retrieve", "status": "success", "path": "en/api/beta/organization/federation/issuers/retrieve.md", - "sha256": "dbf928f47e2567537fcbf89c735a7c34e1bd9096bebdd75df43c5b9560e07de8", - "size": 7775 + "sha256": "d13dc5de6de0f48c7adec76da514b95fbde6892aea4a9d9954c2a765ba8d72aa", + "size": 7852 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/update", "status": "success", "path": "en/api/beta/organization/federation/issuers/update.md", - "sha256": "756a5fa1207f74610ff072f96250f217be2329514ee965d78f27e195d342de08", - "size": 10454 + "sha256": "3a6df8e5f4ac0c33d00244d3aaad55758aae24f573775460515c3c2a059a5c0f", + "size": 10531 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/archive", "status": "success", "path": "en/api/beta/organization/federation/issuers/archive.md", - "sha256": "6ef1b6f2c19c13d41f7b11e10d910c9e508376cfe9d5b02a5934e56a985fc7cb", - "size": 8072 + "sha256": "30c9a9cab723fa4c7ddd78738c5093d10fdeec311d096ab4b2908e84339a2501", + "size": 8149 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules", "status": "success", "path": "en/api/beta/organization/federation/rules.md", - "sha256": "16bfc9fe46daebc95078a17a69b971160ede8b3052d05926a8ca7bd86397c316", - "size": 70980 + "sha256": "2834d0c6a116cd7fde3341b5b54b1aabba509e6e25ec60d99777ae9fac1bfe64", + "size": 71596 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/create", "status": "success", "path": "en/api/beta/organization/federation/rules/create.md", - "sha256": "801466c764e64aaef8662ae0fcc3737250aef602b4693f18c750c24ae9db2204", - "size": 12626 + "sha256": "e9be7a631a70e04f4cdbaeaa1ac295f74a178e14d4bf3a58deb0aa65d55479b4", + "size": 12703 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/list", "status": "success", "path": "en/api/beta/organization/federation/rules/list.md", - "sha256": "99651c21195922695e95c7cd8fd1a49c9af5d2429e10cdda1006c5df48c43697", - "size": 8618 + "sha256": "963295ed7bf7f95bd9bc5fd022300f6d41aa76f6f6a6ee207769b897cb5c4b41", + "size": 8695 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/retrieve", "status": "success", "path": "en/api/beta/organization/federation/rules/retrieve.md", - "sha256": "47302ac2b6c4295905a397317937c29662d7c83f10e398d099f1b2b30b2b862c", - "size": 8517 + "sha256": "e95cddf84d4acf8c2aa8986165ae268abbdde0c36ea0c1b9582f8031ace9bd72", + "size": 8594 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/update", "status": "success", "path": "en/api/beta/organization/federation/rules/update.md", - "sha256": "bbc4e8fa6fb56811adfb2cf953db0d0a578621013ca8a97f3ba43f6af8613b15", - "size": 12785 + "sha256": "cbadc4d61856496de9c5d82a076737653de4af0377c8010e53a82c0abfffca90", + "size": 12862 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/archive", "status": "success", "path": "en/api/beta/organization/federation/rules/archive.md", - "sha256": "1926fd336fe8614549abd71156df30bca2075bf77a75089c2e81d39393498b5d", - "size": 8984 + "sha256": "d031b3699685b7ed94276bc864d0b6e11f55d07887144e27bfabab5dee7ba65e", + "size": 9061 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces", "status": "success", "path": "en/api/beta/organization/federation/rules/workspaces.md", - "sha256": "1fa12c9927d51c778cd08c5333062dae0d08ba5b87cbb82e05837d733b4cf2f0", - "size": 13641 + "sha256": "9302ed2217a35d6267747b5aaf6ab580353d8ef590309198bc56a4b5a0b3063f", + "size": 13872 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/add", "status": "success", "path": "en/api/beta/organization/federation/rules/workspaces/add.md", - "sha256": "b9a0b5130a72f67c9479d5f4561679dcc3be08caa9871b3ac1bfc71dffb0090d", - "size": 4821 + "sha256": "d3e1deb7d4c78326fa66a800c7a8a13ce0d1938baf9f408724dae9266a8ed20a", + "size": 4898 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/list", "status": "success", "path": "en/api/beta/organization/federation/rules/workspaces/list.md", - "sha256": "367fbc6d712f8ba3133341af8fe711dfe291396dadb567d3613ae8ec6bc74824", - "size": 4820 + "sha256": "b9c91c1173841bc668956dc5e7f17e148d06cd291c40595498bd51ff1382ba18", + "size": 4897 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/remove", "status": "success", "path": "en/api/beta/organization/federation/rules/workspaces/remove.md", - "sha256": "e3aab1297b5646a5a162aa56aa87fb7e2a3d5aa1839903a5178293d8c9319f04", - "size": 3912 + "sha256": "ea1506360d72d91de3efc70ed6cbea4b3eab95eb3c284e48f8005151c3aff8ec", + "size": 3989 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/invites", @@ -4223,71 +4237,71 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts", "status": "success", "path": "en/api/beta/organization/service_accounts.md", - "sha256": "f3ecddbd668cf6de9e25d65a9d275953cd0597e67fa7923b727822407fc07b7d", - "size": 44484 + "sha256": "5af124b1b876ef4057d1b1fcfeaee379983a41a0197f72842a3441c0472ff42f", + "size": 45100 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/create", "status": "success", "path": "en/api/beta/organization/service_accounts/create.md", - "sha256": "d26dea2809aabc94918eac1e632d00c9534396e7cfc228ff4cb469068a098afb", - "size": 5892 + "sha256": "cd4b5acf0e0d54998e8ba8709d58acf86253311caf1f7c38787529f7ae30c2a4", + "size": 5969 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/list", "status": "success", "path": "en/api/beta/organization/service_accounts/list.md", - "sha256": "077829814278dd6a1107fa23d637ed2e93decdaf6bc57a696c7298e83bde4855", - "size": 5470 + "sha256": "c3230ca57a34ec67dc14b07f0c7769a7a1eb710d4ea0ac765a7e6b89254dada7", + "size": 5547 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/retrieve", "status": "success", "path": "en/api/beta/organization/service_accounts/retrieve.md", - "sha256": "97de7e55019115e6df13990df64a1cac40f978ac499e043f0cf87182a4a8c6b0", - "size": 5088 + "sha256": "01328fb2942e7c64ed88b53f5da28c8712af041b1942790096d951eec1969511", + "size": 5165 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/update", "status": "success", "path": "en/api/beta/organization/service_accounts/update.md", - "sha256": "a6de32dfe683db9f7acd47d6d7ae6f80b976a3d49ef872f1811e30b9f06ca5ee", - "size": 5787 + "sha256": "f47ee158f327abc267b0759bf21aa05c82c5f67c8aefea351b1284f839968965", + "size": 5864 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/archive", "status": "success", "path": "en/api/beta/organization/service_accounts/archive.md", - "sha256": "88360adba3058b3d949c9afb49d486a7d01064d75edcbf4f0801cb00adbc8824", - "size": 5399 + "sha256": "83f4a0c8e5b94d957aa48d490c858e96256e74c6a2bfa843db103744da842508", + "size": 5476 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces", "status": "success", "path": "en/api/beta/organization/service_accounts/workspaces.md", - "sha256": "841ab3cf32d6f4f231e989ebab5a38dd16c95aa2a47f7ff7bbf973804876d3db", - "size": 15330 + "sha256": "a19af5a5998b63c6d244ea1429812ef000f4267c9960f64ce5206d9f125ec9c4", + "size": 15561 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/add", "status": "success", "path": "en/api/beta/organization/service_accounts/workspaces/add.md", - "sha256": "162c267dd43795641c66fd0c91299a490e7a4f13a7c1740578c292299ca4f167", - "size": 5240 + "sha256": "ee1e5b52dd8a7180e9834ed441cab029c6a8eb3c3002655c6da1b13f3150e3f8", + "size": 5317 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/list", "status": "success", "path": "en/api/beta/organization/service_accounts/workspaces/list.md", - "sha256": "5afce730891b02995da59421758562f8b0df42c6cae413045fb76a28c507986f", - "size": 5623 + "sha256": "ed00f4996feaf411600c617d8c619ce1f7412d6097d07a396e606adf1db23d80", + "size": 5700 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/remove", "status": "success", "path": "en/api/beta/organization/service_accounts/workspaces/remove.md", - "sha256": "d561a607b37a7788d56fbfc6db5b14b2b1856c131e8483dcea84be22699099f8", - "size": 4271 + "sha256": "6fa129f0cad18bfb97834f97eb3bcba8b518b2fcf0128bdfcf2dc167dfb1d70f", + "size": 4348 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/users", @@ -4328,8 +4342,8 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces", "status": "success", "path": "en/api/beta/organization/workspaces.md", - "sha256": "851e2c9de73155efd4dc87f3161ded34f696c44a418bb5ac254139fbc66f5248", - "size": 83514 + "sha256": "2dbb6fc4b324854ff39527bc358c14a2858317c0096ad115c833ea2bc775c450", + "size": 83976 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/list", @@ -4342,8 +4356,8 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/create", "status": "success", "path": "en/api/beta/organization/workspaces/create.md", - "sha256": "048c7723a09e0544caffc9618d0ffb33271404279c7d5ea688bfdb3298ed7e14", - "size": 8907 + "sha256": "9cf19ddefc428575e6cc3b7706dda466594e53701ffeedf5ff9465617f4e13ee", + "size": 8984 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/retrieve", @@ -4433,43 +4447,43 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts", "status": "success", "path": "en/api/beta/organization/workspaces/service_accounts.md", - "sha256": "e1a3946fe9342abf38f55c8be613f4e8b4865107d221f207de5597b6d5cbb390", - "size": 24599 + "sha256": "4b28979d4d5743710cc79bb6a539648dad0a4de2c68b4e484ebc61d74ce55732", + "size": 24984 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/list", "status": "success", "path": "en/api/beta/organization/workspaces/service_accounts/list.md", - "sha256": "b085db6e92274670912bda4330dbc016f12053be5299c37a101dffa387faf7d1", - "size": 5142 + "sha256": "8727525c067d12861563493856e8a938bc823a7f542ca599d62c414f29fed595", + "size": 5219 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/add", "status": "success", "path": "en/api/beta/organization/workspaces/service_accounts/add.md", - "sha256": "247d9837828eec8a8631e59a437459e37eef91cf21effcfc1c2a6060ad384b48", - "size": 5400 + "sha256": "2d176de5c0d9c10ab2f564dd5145bd41fb21937c42f95797e04959645dc8cfc0", + "size": 5477 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/retrieve", "status": "success", "path": "en/api/beta/organization/workspaces/service_accounts/retrieve.md", - "sha256": "ce87183e42645ac041e6ac78b074f97f1861e5a3f5537a276bbe28f65c8935e2", - "size": 4829 + "sha256": "2c3ccb898b073c696e577a545edea06256a4ae5f3010aa2042b118690eff2147", + "size": 4906 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/update", "status": "success", "path": "en/api/beta/organization/workspaces/service_accounts/update.md", - "sha256": "bdaa0e60cbd88d1323710bfbe1bfd2ca2394c7809d63be41e9d15dfa52987982", - "size": 5164 + "sha256": "3c6cad214ed81242ed71eabab805feabc3a9bba836d7a73d571a393149058ffa", + "size": 5241 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/remove", "status": "success", "path": "en/api/beta/organization/workspaces/service_accounts/remove.md", - "sha256": "c2bfb3bf49ad1a6a54d5a15d4ee79315d5962d102ba2e3981cd78428cc602188", - "size": 4149 + "sha256": "4d21f77dc776c328f3879e3935f8b0c867a9ce9b445019447bc0e0a572d6da1b", + "size": 4226 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/rate_limits", @@ -4510,15 +4524,15 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/usage_report", "status": "success", "path": "en/api/beta/organization/usage_report.md", - "sha256": "b8b12bbdc51d293418d279df68c7d592c02391d1bf624479d8664d3efa5ab647", - "size": 23878 + "sha256": "82c1eb596c5f679550244b08a35ad400b525725d241996453ac7ed5c4c4455b1", + "size": 24426 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/usage_report/retrieve_messages", "status": "success", "path": "en/api/beta/organization/usage_report/retrieve_messages.md", - "sha256": "19246d94c719a2f5ca98947b44a0035a9b4571d9aeb355dc773069d95168748c", - "size": 9817 + "sha256": "47848903d6974be6432af044162115e3cb336fcd17363b5ab4b176519aea0463", + "size": 10387 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/usage_report/retrieve_claude_code", @@ -4531,99 +4545,99 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/cost_report", "status": "success", "path": "en/api/beta/organization/cost_report.md", - "sha256": "60544b2ca16d50c1f90bb51f2702a477702e6db11761c1fc4ab1ca10ca89ed40", - "size": 10515 + "sha256": "acd629f0668c74375e9325de9b2b57e0535aed55f5e69947117bebb45a3fb3c4", + "size": 11143 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/cost_report/retrieve", "status": "success", "path": "en/api/beta/organization/cost_report/retrieve.md", - "sha256": "3ba7ad2c948726db254df01a3b6f78a82a47c66c449e372f827ea8dd1fec1b25", - "size": 7331 + "sha256": "1ef39c9f19ff455cce8ebb389d61dfc2ab6d2d0fac01d1d9cb788291dcfa7023", + "size": 7959 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels", "status": "success", "path": "en/api/beta/organization/mcp_tunnels.md", - "sha256": "8603765c4f40adef302b99a5092131ffb618157b3b235633d2e1dd81e7521253", - "size": 44462 + "sha256": "2ba9f31fbca45b29dd8c26daa38f07299441adf566ee1facc93bfcf28ee89a37", + "size": 45155 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/list", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/list.md", - "sha256": "541ca92c394ba3d50b86e9bf457dce453c7bf5e5d59a3dc1f21728ececbfe26d", - "size": 5534 + "sha256": "648f0e591e2655e99dd215e24fc40926bafba42f47f13bc4de62b3148c07ac21", + "size": 5611 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/retrieve", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/retrieve.md", - "sha256": "26dfc2d3b75a4f7d405c8beccacb4935511af4074fc5293fd52bf92ad3e79d9d", - "size": 4641 + "sha256": "91530cef35bc43a21f892cb9890e625f34729646a1e5ddaffca4c594428b6985", + "size": 4718 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/archive", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/archive.md", - "sha256": "4c5ecadba945a72ef4398bd906c2219cef1d9f8724a4de65da77b5ea76fafe59", - "size": 4911 + "sha256": "776e85c5a45c25240b1cf7d1e0f0a6770a42f3a27f551a1bc28c70795f9bd8ef", + "size": 4988 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/reveal_token", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/reveal_token.md", - "sha256": "26a06e4752b8a5e02bf1fa2b5bf819a66b852d992924ee2b51e030a6e0227c42", - "size": 4142 + "sha256": "04d43a4b990e5851401946f0313093f8fb6579828e001c40851d5660650a628a", + "size": 4219 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/rotate_token", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/rotate_token.md", - "sha256": "54afcf47f11b1fb8a41e70e1b8e0350bca85d411d6e804448f960afc892430de", - "size": 4285 + "sha256": "bb912ffc8cc9a5616fb05e711075a9fe24363556cd3eb1be8ff7830bc7b76258", + "size": 4362 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/tunnel_certificates.md", - "sha256": "6c25fc11dd548eda55a241c8015d12993e4475b513ce1fad623596e76395af07", - "size": 21010 + "sha256": "ad3536806b827d1b2073965941e22d48ebb9c668d6b4e238d4c5064608c92ec9", + "size": 21318 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/create", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/tunnel_certificates/create.md", - "sha256": "fe097790a0db089e2efd9366013a99a9d5464ec52800b5b534584c1b906b2dc9", - "size": 5365 + "sha256": "51121257dc5ddf6404d54e7919c799f4e4691d354897e5438b6ee5d3ddea7535", + "size": 5442 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/list", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/tunnel_certificates/list.md", - "sha256": "3a08ac9ed2a9aac89287bebaa5914e932f74bbeb80062f585e2fffa5ad49e148", - "size": 5348 + "sha256": "3ba282acb32e852fffb2fd46ffdf456e785962c9f17850efcfae4291cee08699", + "size": 5425 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve.md", - "sha256": "76e64cadd193de5a9367e105e3d9a08f0a0fc4f5bd791d2737e4865f9e278c5e", - "size": 4762 + "sha256": "50213252eca2023c8361d15fdf47fe97c55b640eaedcff04d6d987fa4f18ed96", + "size": 4839 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive", "status": "success", "path": "en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive.md", - "sha256": "d2c06c1e0e19050bce30337fab3e73d546b4a1d966aa6bbabcd8939ac9b28977", - "size": 4982 + "sha256": "beba7cce78ad864f5269b6d381f164dbee33c2936787069b5df372d771c91ee8", + "size": 5059 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics", "status": "success", "path": "en/api/beta/organization/analytics.md", - "sha256": "777c7b0d568989fc83de802155d98910a4595055180888288a33da9f3aa93b4f", - "size": 301073 + "sha256": "088d1a0eae6c831396ca48aade8c8ddc0fac88b9025518b5d2d2b1623943a9de", + "size": 367813 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/summaries", @@ -4737,75 +4751,103 @@ "sha256": "db99e0cf6a0b598f7b2514f241c5af3dcf637a42dbc9eab738ecdf9b1599cf30", "size": 6289 }, + { + "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage", + "status": "success", + "path": "en/api/beta/organization/analytics/usage.md", + "sha256": "9f59deecaeffc82e7f8d8abb01797178ddfeecf6635eb179cb383900292d4bda", + "size": 51162 + }, + { + "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list", + "status": "success", + "path": "en/api/beta/organization/analytics/usage/list.md", + "sha256": "7070a5b8a800ab657a697698fcc72ae897c21aa17c16aad17d49b653346f91a7", + "size": 27516 + }, + { + "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost", + "status": "success", + "path": "en/api/beta/organization/analytics/cost.md", + "sha256": "6ea6de8e9d2431d04f2de89e73122a9be206ae0ec99ab48ca036a7a219f42a97", + "size": 51285 + }, + { + "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list", + "status": "success", + "path": "en/api/beta/organization/analytics/cost/list.md", + "sha256": "34be02a8fc49d4224da8d68d712d038ea4fd22ed9b57e9bd3cef6fe169e07d8f", + "size": 27705 + }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_report", "status": "success", "path": "en/api/beta/organization/analytics/usage_report.md", - "sha256": "5e0ffc9ba1842316532435902c0af8ba41e56fe1cbc7ac018723806524668c0d", - "size": 13290 + "sha256": "2e99cce7f9e10cdd5e0b6c4bdaff7d8d0d94082162c92ff101534e5724629fb2", + "size": 13827 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_report/list", "status": "success", "path": "en/api/beta/organization/analytics/usage_report/list.md", - "sha256": "fac37f83795eee34a45c2dab02d83ee016edb47d169fbb86800f5aa283923327", - "size": 13286 + "sha256": "5dd4fc100baa0590292d833b4a93acf5a64ed8dbf7a3d2394ba91d268267e457", + "size": 13823 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/user_usage_report", "status": "success", "path": "en/api/beta/organization/analytics/user_usage_report.md", - "sha256": "2d4b9738ad0a21a78fce7cc253716f1c1fa8f5ec146138894d5275adb7575952", - "size": 16319 + "sha256": "9649d7bb9cbb68a44d0422437b0d4c765fcc4f6894b1c6d803181eafeade57b7", + "size": 16868 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/user_usage_report/list", "status": "success", "path": "en/api/beta/organization/analytics/user_usage_report/list.md", - "sha256": "3e86e670c19712b6b813c575161db8c89692523911d92515bfdf92afb72b284b", - "size": 16304 + "sha256": "0dc52505d926e6971b9c4a0a71b746f7d160e27727c446c85675b1331f268495", + "size": 16853 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_report", "status": "success", "path": "en/api/beta/organization/analytics/cost_report.md", - "sha256": "4140506567db12c9e07a9ced1cc2dbaa91a4bd4b1e3425f077377b096884b2bb", - "size": 13368 + "sha256": "4670bd7ed1c117b2e4a4370493dbf8de7cecc21b3a77de934cbe5408cf886f22", + "size": 13882 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_report/list", "status": "success", "path": "en/api/beta/organization/analytics/cost_report/list.md", - "sha256": "72ff9a624bef397abaff0628ab0493901baf730a0758b30a31759d838bdd5b6b", - "size": 13359 + "sha256": "bba87bdd290823f09725ab80de4253dbbb1fe371756599d8b2a8ecc5071efe23", + "size": 13873 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/user_cost_report", "status": "success", "path": "en/api/beta/organization/analytics/user_cost_report.md", - "sha256": "f9668b987d89585796f22fdd4a3d5bb631d15d8cc49d5d90a5c1fb31ced311a0", - "size": 16460 + "sha256": "3d458e735c0712a048a64c4369cf9152fef2d7c90ca12d6654ebe6531b481739", + "size": 17006 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/user_cost_report/list", "status": "success", "path": "en/api/beta/organization/analytics/user_cost_report/list.md", - "sha256": "099afb443efb3c5f4a1bc4dfc4fb17fc154cf350721b89a7e748b4db421327ab", - "size": 16440 + "sha256": "6e7afb2bf1ac9e922ef1b824a9bc48f196ac53f865cc9e97c156a77ea125129c", + "size": 16986 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits", "status": "success", "path": "en/api/beta/organization/spend_limits.md", - "sha256": "1c7caffdb309968047c629acfeef3fed80e2dd9e42a863e88336075b8becf451", - "size": 75837 + "sha256": "d23c5a26a7de98416cf679499f5e18754687c634522afe3597fb49ad9314c207", + "size": 75991 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits/set", "status": "success", "path": "en/api/beta/organization/spend_limits/set.md", - "sha256": "c371935066a9031dcfda8d3fef92809a12a3ff84233c04c0a75465a6568414e3", - "size": 8365 + "sha256": "cec3288324e3d390e95ca048f493c6a874a95605665a7ff1579eed05c02ec12b", + "size": 8442 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits/retrieve", @@ -4825,8 +4867,8 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits/list", "status": "success", "path": "en/api/beta/organization/spend_limits/list.md", - "sha256": "d00d521d5146dc6345e026b7813b572f627df9cc8e0d50968d2527cc916c30ea", - "size": 7520 + "sha256": "fcdeedf2a4a79f0192f58d0d3f17c549f6d7253c2ff2fc7c50cfb91b6e51683f", + "size": 7597 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits/effective", @@ -4986,288 +5028,288 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins", "status": "success", "path": "en/api/beta/organization/plugins.md", - "sha256": "bbf0f947eb41c8ac84df1bc9793cf7948cbd0ea1113da36c4e1893e995d7b427", - "size": 122100 + "sha256": "343cb71a134cb20fbd8376ed6c6abd66ead5b0561f10fd51977d3ff7cf7c668a", + "size": 123101 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/create", "status": "success", "path": "en/api/beta/organization/plugins/create.md", - "sha256": "bc1f56e8f2936a61cf1adf806df6a984fff661a6b94911b13e6e2e9f7b77ced0", - "size": 13494 + "sha256": "3d4b8cb085c107224b3405d8dbb3113bcc56a9c4a307803de42dd7a0d614f33f", + "size": 13571 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/retrieve", "status": "success", "path": "en/api/beta/organization/plugins/retrieve.md", - "sha256": "17fc366999a763aeb7bb60bb707dae1e1e79032e36fbc8074c08a399e2cc99df", - "size": 11597 + "sha256": "a7102482b25951c8538979845513bc07304c87f6bd5ef596ea7a7c0ad3328bde", + "size": 11674 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/update", "status": "success", "path": "en/api/beta/organization/plugins/update.md", - "sha256": "02128c0c9d44d33ba12b29b02839e6433fcb4968c74090bc35363a37fdbc79f0", - "size": 12745 + "sha256": "81d9aad3c47c7e524b371ce0e8613e0e0ff2a124577bbb3d1f535536fe199cf9", + "size": 12822 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/list", "status": "success", "path": "en/api/beta/organization/plugins/list.md", - "sha256": "0dd938364941ccc0e954a82edb6ed378d2df393515475ab72e8b8a4e4d513add", - "size": 13584 + "sha256": "79fb997fd453ca22c58fbb410a37252df75bf85704a614ba639fb49fee1a8912", + "size": 13661 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/delete", "status": "success", "path": "en/api/beta/organization/plugins/delete.md", - "sha256": "ad62c243f430d61c030144d62e85821eba658996cee30ce57a9e68a30caa7f49", - "size": 4017 + "sha256": "7bae8d67f4853afe95ca0003284b9182c99b0784b2dd565695729ad5130b8775", + "size": 4094 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/versions", "status": "success", "path": "en/api/beta/organization/plugins/versions.md", - "sha256": "551d14f92e597997b64b7fd4cfdea57bea893dc657868829553aa5d97e5ccf00", - "size": 35775 + "sha256": "80f96ab2a3e09a13800c991218b79438b3c7672c732940a51e804cecf0048d02", + "size": 36083 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/versions/create", "status": "success", "path": "en/api/beta/organization/plugins/versions/create.md", - "sha256": "984588ad57c6e93bab039a6dee985aec065a5061d8041dbca66460de04363383", - "size": 9661 + "sha256": "c77ece68cd629a47c80667fac1926fc5d4e6ffe6b53527897eb48a0c1d1b88c7", + "size": 9738 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/versions/list", "status": "success", "path": "en/api/beta/organization/plugins/versions/list.md", - "sha256": "36dc669e77c67be964075c65fefb2eff8ca475b28fcb0763a548c099c8cb7271", - "size": 9090 + "sha256": "078a53bca2a0b56eb72ed8136ce12c05de1eb888605f21c12443f18843d275db", + "size": 9167 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/versions/retrieve", "status": "success", "path": "en/api/beta/organization/plugins/versions/retrieve.md", - "sha256": "61e296598f48df3e6f70328d0cb11afc4dcbd6caaea6571293f47ae5008b278f", - "size": 8568 + "sha256": "bc2a7dc2df4c49be6e718bcf9b09498434c7aa18ac9e762bef7e4db21ba0c5f5", + "size": 8645 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/versions/download", "status": "success", "path": "en/api/beta/organization/plugins/versions/download.md", - "sha256": "9897ac9e09eced3022672ebb73ca26838040110e1077f17ddd50b63ab67d49f4", - "size": 4935 + "sha256": "5adf747212ef68889d6d9dde370c1c51e4dc86f4135a4c2dab213f7564e80ca3", + "size": 5012 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/installation_settings", "status": "success", "path": "en/api/beta/organization/plugins/installation_settings.md", - "sha256": "f1eecba0f5970c11bec06c9d8c24a2016edf27ba84d12f5544c66e0085057d63", - "size": 21880 + "sha256": "c544f788422555511b0c40cb64a6711161389319ec51211fe495b471d90a5d33", + "size": 22111 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/installation_settings/list", "status": "success", "path": "en/api/beta/organization/plugins/installation_settings/list.md", - "sha256": "557449f02105538264975591818990c4bbf970705efefb8141047f4e3eb74c1b", - "size": 6804 + "sha256": "ad5540abc54dd1366d2544a977e4101adac03f8868f4a128075e8c0ff217fbca", + "size": 6881 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/installation_settings/set", "status": "success", "path": "en/api/beta/organization/plugins/installation_settings/set.md", - "sha256": "4665d9af8362d3d98958fec6797de11e3f563eb9edc927735f0d0e8dfd4a472c", - "size": 6630 + "sha256": "9c0af7738c4011ba7a2e3eff4ca7f99e89e980bca597306af5ef8bbd4f8ffea3", + "size": 6707 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/installation_settings/remove", "status": "success", "path": "en/api/beta/organization/plugins/installation_settings/remove.md", - "sha256": "e24e41b2ea9c23e036289ad6be5fb8957d4119e64ff5bf316e8400967e98ff65", - "size": 5743 + "sha256": "eefd202cc6264d54dd7bc6770a5a8feabd8bf22861d7bcd81dcbedfa91c278f9", + "size": 5820 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/shares", "status": "success", "path": "en/api/beta/organization/plugins/shares.md", - "sha256": "bf90b8b4f0314a50fa35b922c3b8534434650f8e786f5486d919901a28edfe32", - "size": 7694 + "sha256": "85880bcd9cca109519b4ccc74b66b0f1b06cb9a33d8802f0c9eebf156da4c55f", + "size": 7771 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/shares/list", "status": "success", "path": "en/api/beta/organization/plugins/shares/list.md", - "sha256": "cae6d106d29479da505567d908b04a8945ed60bf61ac34354a2c70bc54761976", - "size": 6301 + "sha256": "794344f22604c7f79dc8869d9ca7068381a1a037d8bca560ef762cf2ffe7378b", + "size": 6378 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces", "status": "success", "path": "en/api/beta/organization/plugin_marketplaces.md", - "sha256": "91dca3f7cd1ca90d0ad0f34c1b4824e0ad575896cb65ac0cdebfc8c34f924927", - "size": 46764 + "sha256": "1afe703b0abc3ba0083314d0e5033a9c49e2d4337c0be72c63366d3986e5db77", + "size": 47149 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces/list", "status": "success", "path": "en/api/beta/organization/plugin_marketplaces/list.md", - "sha256": "72c5809fab3674741770e69e7910d2a539e1d64770e69c081e1595d5fb28ca39", - "size": 8811 + "sha256": "b38e7d3e61228fddc1af13ddeb918dd8871e5486b2c3bcda2c88da30e80948fe", + "size": 8888 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces/retrieve", "status": "success", "path": "en/api/beta/organization/plugin_marketplaces/retrieve.md", - "sha256": "a44db7b4cbfcc02ff6cb21e1abda6a5701c5e227b8814cb25a8d92d996fd0fad", - "size": 7435 + "sha256": "0f9a3e45df66c0703e78e7182abf72e038a6a2f72b8072911a14a2eef7124ab5", + "size": 7512 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces/update", "status": "success", "path": "en/api/beta/organization/plugin_marketplaces/update.md", - "sha256": "87666ba4e4264008714c841a4ba85031038a14555ee67a1ad84952cbdf7fcfce", - "size": 7596 + "sha256": "1cce60ca7c2868bdd06e74538a2519469dca97b6485239b560a1065256b1e224", + "size": 7673 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces/validate_repository", "status": "success", "path": "en/api/beta/organization/plugin_marketplaces/validate_repository.md", - "sha256": "f5b9bfa1a85e916f51480b0a9b5dcf436232a9d8a3b1db9d32c36513f0d16c0a", - "size": 8679 + "sha256": "f407774b9fd09b46954d82a5c425d0f3a5a91cbba2490fc76a73bbb86e3dd897", + "size": 8756 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces/validate_archive", "status": "success", "path": "en/api/beta/organization/plugin_marketplaces/validate_archive.md", - "sha256": "380c202c2f5d80dc443199a1d2050d0d2d1d460f9002ac4835fed52f52df3507", - "size": 7857 + "sha256": "5eaf82aba76f19857633310159ea5656f910e4ce287b2f394e016a493b6ccd6a", + "size": 7934 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations", "status": "success", "path": "en/api/beta/organization/telemetry_destinations.md", - "sha256": "df75455c674f1950e301fe1fadf44547c790941d781880d6c031cd920dac6e2c", - "size": 115292 + "sha256": "06522fd41e0a396ef63f08cd032537ff16c3264d8a722cdeab1e7cb5fa7155ae", + "size": 115985 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/create", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/create.md", - "sha256": "fb3ec0236027625242fbaa14319a920c1ab07e044aca54da625c3933c4cc0462", - "size": 17580 + "sha256": "47397dd421a7d77e316d3df03101b22ea36b23e1d41c1c31da8d0be83a23abc2", + "size": 17657 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/list", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/list.md", - "sha256": "70e84397067a30567eac8fdba3281ae6f46258376dc919bd1ef3a58a46ba2377", - "size": 12000 + "sha256": "fbb7b94c775bf354356c81ed7ed90bae0cd50652a644707d2adc15c85515eb46", + "size": 12077 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/retrieve", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/retrieve.md", - "sha256": "6e1d8d79ef21f2765fe6a813ab4c9bdb539a6ae09b45b94472aa1b04ed6f679d", - "size": 11356 + "sha256": "8d4189cec3a01b942cc66b0e42e22be7399b2cd6978dfa35d52aa5a7a4a3f9a6", + "size": 11433 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/update", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/update.md", - "sha256": "1c5f41a6ea7be36c855e37943ae1e6a9b728e8c842b691997a2171a4626ed92f", - "size": 18807 + "sha256": "64396a726c5e50808011d2cf90b5ac329073568e999528b077b012419115a8d6", + "size": 18884 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/delete", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/delete.md", - "sha256": "b905e79c3b32bf10fd159f94af2f36a5975c7be4dd4654906d4f0b1755aff954", - "size": 3629 + "sha256": "f950f6edca1c0ed3d68f5ca7e2cef074ce4fabd8462066b8ef8238b229bee42f", + "size": 3706 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/test", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/test.md", - "sha256": "cba556fc86f6272148e00600e0e192f8767c9dbc55a1bf0d1f717e42e2cdef5f", - "size": 4562 + "sha256": "45a69f0f0a34dd2aa070ae62a693da9a8c724d7d2920e829787d8ba9d5d5dcbc", + "size": 4639 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/workspaces", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/workspaces.md", - "sha256": "a03cfeaec680e8cbafea8d8656e9fe8cef471a697994302938066862d856a301", - "size": 13997 + "sha256": "8e32b7b81c10a5ef916c50b9e76876b986656dc2edefd03765e7c6b0b088968d", + "size": 14228 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/workspaces/list", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/workspaces/list.md", - "sha256": "4e7e6df8703c3d410d000ae5b98023defce6b3359532a4bdf252203cbfe8799a", - "size": 4386 + "sha256": "e7ebf3067659bcaead01c56ba375449f0fac694031353a8a05e9e5293e4f7d1b", + "size": 4463 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/workspaces/add", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/workspaces/add.md", - "sha256": "1d229ba29ee7da1c2b4ae685af129b20abd1983bdf1781c18e497206ffff5516", - "size": 4647 + "sha256": "c25afefc61c2ac17bf542d44b4705b5f0a5a7e8b784422a2ac4a3e0f69e0fe78", + "size": 4724 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/telemetry_destinations/workspaces/remove", "status": "success", "path": "en/api/beta/organization/telemetry_destinations/workspaces/remove.md", - "sha256": "0848fc2b6666a4e62095585fd6d7da655569229fe0666a6c7da3317dba4921ff", - "size": 4167 + "sha256": "228796b019866d6fce61f9ce71e46f8e1dbd285c0fadc142d6d4c097df6a7b78", + "size": 4244 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/webhooks", "status": "success", "path": "en/api/beta/organization/webhooks.md", - "sha256": "2744fc3ac77eea453219173188ff65dff28df87c1371a86fe69775c679226c3b", - "size": 32880 + "sha256": "2a01abd7c7e5ec9c7acbca855191fd61508842cc121e34bb4a03ddc9118c6329", + "size": 33342 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/webhooks/create", "status": "success", "path": "en/api/beta/organization/webhooks/create.md", - "sha256": "d266e618e1e856e20515a3337ec661f108d997a3c02c3fb8d49c44d652683d20", - "size": 5910 + "sha256": "33b086619d135d29f54350c8b464d85f7b3476f68ec13c542482dee8ac4bf277", + "size": 5987 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/webhooks/list", "status": "success", "path": "en/api/beta/organization/webhooks/list.md", - "sha256": "a3ec0fc2c2a4935c65f9d95bdd9abe66994803fbfd8c747901484701226611f0", - "size": 5962 + "sha256": "52352975ea1bc4a6bd38f72be1c00310544d7754cef7d7742edfa64e8e364788", + "size": 6039 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/webhooks/retrieve", "status": "success", "path": "en/api/beta/organization/webhooks/retrieve.md", - "sha256": "c0b36b0138dd7b72670ede58e169e9252ef626a6b6ababd01a792809a71f8026", - "size": 4854 + "sha256": "b8a24ba0d49dc71e006326f746d5957c3a3c841714f10c7a67929d79497f2266", + "size": 4931 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/webhooks/update", "status": "success", "path": "en/api/beta/organization/webhooks/update.md", - "sha256": "ac698ac8f51fa7773a2579b7329df58426d42afc418e85ee8e5476f39a9d860e", - "size": 5744 + "sha256": "16a9a546a658e0b513be73675c14947da49bc0bbe34ec4da9e39980dac3258ce", + "size": 5821 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/webhooks/delete", "status": "success", "path": "en/api/beta/organization/webhooks/delete.md", - "sha256": "27f519b8a93aac7f1d834c8a45e9a6395fb885b081b6ae9ab1ff88aa91be9539", - "size": 3662 + "sha256": "85e00068fdaedde1b4a20ed9f45c9815df8e13a17735b99fc67c52f1f5798543", + "size": 3739 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/webhooks/regenerate_signing_secret", "status": "success", "path": "en/api/beta/organization/webhooks/regenerate_signing_secret.md", - "sha256": "df331cd2b78e92d70ee4449bff51f2fed71b69648f7b81ff4f8f5991e95d3e24", - "size": 3841 + "sha256": "3954fdb8ec046f522fb42a96175db93dfd1a2e8e9b93dc8b079dda20170c6dfe", + "size": 3918 }, { "url": "https://platform.claude.com/docs/en/api/beta/webhooks", @@ -5280,22 +5322,22 @@ "url": "https://platform.claude.com/docs/en/api/compliance", "status": "success", "path": "en/api/compliance.md", - "sha256": "90f0da71b305f8fff8fe744f70f99d544ec484352a8abac2523849a404d30f85", - "size": 3781883 + "sha256": "769fa502f8ba2001bca9e475bf59df08ef8374a8c3dd50a8d2427ce922418088", + "size": 3839958 }, { "url": "https://platform.claude.com/docs/en/api/compliance/activities", "status": "success", "path": "en/api/compliance/activities.md", - "sha256": "b01c494dce9547862fa54ff1ceddba04da9101afd98b57fb71ee641c3f4533e0", - "size": 7111667 + "sha256": "9cbeae45264ac1b185d73d9481ca269745c84932d515d33126ebec2a8b70d2c7", + "size": 7225051 }, { "url": "https://platform.claude.com/docs/en/api/compliance/activities/list", "status": "success", "path": "en/api/compliance/activities/list.md", - "sha256": "be55385226d3549bfcf0f5590d1b8ab52328a36e2d06d0b082ede12a2aa60085", - "size": 3632164 + "sha256": "c8a052c1cf43a80da35ec9f888a0974d94d2fcf964d225a5b381bb4a424dbe30", + "size": 3690064 }, { "url": "https://platform.claude.com/docs/en/api/compliance/organizations", @@ -5427,8 +5469,8 @@ "url": "https://platform.claude.com/docs/en/api/compliance/apps", "status": "success", "path": "en/api/compliance/apps.md", - "sha256": "9cd428a3510c20b5ef5ce116afdef67f136a9ab7ed2b3808d59f20700988dd31", - "size": 120029 + "sha256": "8ee5a7d9b09bbe547ed1e0a3b01821039a80b90326824e85ff9314cc1fbc713c", + "size": 120204 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/chats", @@ -5623,8 +5665,8 @@ "url": "https://platform.claude.com/docs/en/api/compliance/apps/sessions", "status": "success", "path": "en/api/compliance/apps/sessions.md", - "sha256": "82add3427632740f8e66122077dc1a6fe417cfa429b881022a9716825f38a899", - "size": 44062 + "sha256": "4d5633688e4d4af4b763f50966e5593921cd136499c152bdd7e498da3e5d4f8f", + "size": 44237 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/sessions/local", @@ -5665,8 +5707,8 @@ "url": "https://platform.claude.com/docs/en/api/compliance/apps/sessions/remote", "status": "success", "path": "en/api/compliance/apps/sessions/remote.md", - "sha256": "db0b560d8d60b454acda4fa37c21f7249698b8eb9cb005b103c8795189e6288e", - "size": 19840 + "sha256": "ac1aaa4de282cc1a915c0a00718b2a7f71d25693cc2979b5c646689fe8b7a6ea", + "size": 20015 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/sessions/remote/list", @@ -5679,15 +5721,15 @@ "url": "https://platform.claude.com/docs/en/api/compliance/apps/sessions/remote/messages", "status": "success", "path": "en/api/compliance/apps/sessions/remote/messages.md", - "sha256": "fa2959dd8cd7730a7f93b604292db73523c1b0aca816ad1d14c9042e63adcbe7", - "size": 12928 + "sha256": "ac21f29af4d9acdc0d1d37f9aea008d38238eebc3a4721a295e53b2f29abeaba", + "size": 13278 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/sessions/remote/messages/list", "status": "success", "path": "en/api/compliance/apps/sessions/remote/messages/list.md", - "sha256": "8044527fd4522bec5adbace686049a274e8c372955ea0b4d4b00ebc1542eb8bb", - "size": 10077 + "sha256": "c377bf0a75dfbf951deee5e75b0fd5a02485b363993e73c29910fc6e1a79546c", + "size": 10252 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/code", @@ -5738,18 +5780,11 @@ "sha256": "5c56b9d8a1b087dea2859c8c9838945a19aa3ea5d1f85512040b88d74ba1c415", "size": 27075 }, - { - "url": "https://platform.claude.com/docs/en/api/migration-2026-10-21", - "status": "success", - "path": "en/api/migration-2026-10-21.md", - "sha256": "42cd3afc7c867f890f1ad208c4c505ac5380040b52f71e6edf2e676822cefb53", - "size": 81034 - }, { "url": "https://platform.claude.com/docs/en/manage-claude/claude-tag-api", "status": "success", "path": "en/manage-claude/claude-tag-api.md", - "sha256": "d5ecafd80b51e5ed776d1bad81d9a5013cc9b0e360999cf05c7b0446bd4d2244", + "sha256": "1e841031717938cc42839dba794f459c300b9bdb675f8e9e581c225fe49c3014", "size": 127198 }, { @@ -5770,8 +5805,8 @@ "url": "https://code.claude.com/docs/en/changelog", "status": "success", "path": "en/docs/claude-code/changelog.md", - "sha256": "3516559ce301896fa3cc31ae92f85704cdd3a3a054d017571f380be3d28d2b62", - "size": 1125178 + "sha256": "8d2c2e96a2eb2aa57cafd3c2f726ec151185b485530b51ec4355e0945c69fbc9", + "size": 1142503 }, { "url": "https://code.claude.com/docs/en/how-claude-code-works", @@ -5805,8 +5840,8 @@ "url": "https://code.claude.com/docs/en/prompt-caching", "status": "success", "path": "en/docs/claude-code/prompt-caching.md", - "sha256": "02c7f42cc7a32e2be83a2d72bdb7e14b43287ff1a162d548c40b85958fea3579", - "size": 43917 + "sha256": "8f0e9b55b3229c46ae04ba4b37b7fd929f905b1bffb7b497084d99bc8166ff72", + "size": 44014 }, { "url": "https://code.claude.com/docs/en/memory", @@ -5861,7 +5896,7 @@ "url": "https://code.claude.com/docs/en/claude-projects", "status": "success", "path": "en/docs/claude-code/claude-projects.md", - "sha256": "763cb21e38c24579b88548e5a07b84a686e9131261ec82d0a5627a5148113126", + "sha256": "44f634dfeea83fb8bebc8a01b87e3447b169b0c7a1eff6600cf29d9ba4ac2539", "size": 62835 }, { @@ -5875,8 +5910,8 @@ "url": "https://code.claude.com/docs/en/chrome", "status": "success", "path": "en/docs/claude-code/chrome.md", - "sha256": "c7ee4a6f0c3dc11354ff3a8899524f66a8713e64b7554be55f73602aa38bf757", - "size": 23800 + "sha256": "74fe0d34a0704a8406284b04c3417d5824891b95d63b8b0ddf6f0c3cab14d98f", + "size": 24248 }, { "url": "https://code.claude.com/docs/en/computer-use", @@ -5903,8 +5938,8 @@ "url": "https://code.claude.com/docs/en/slack", "status": "success", "path": "en/docs/claude-code/slack.md", - "sha256": "9cd010a59115b4e86476cd9c97313d9b5874786d4db694a0ec9f89ae56a9b44d", - "size": 15830 + "sha256": "ae3928e37cfcd38f55eebda7bdcf9bc09a71c053ff12ed4283cf3c591d9c2740", + "size": 15730 }, { "url": "https://code.claude.com/docs/en/web-quickstart", @@ -5917,8 +5952,8 @@ "url": "https://code.claude.com/docs/en/claude-code-on-the-web", "status": "success", "path": "en/docs/claude-code/claude-code-on-the-web.md", - "sha256": "a96fbdacea4f423561cba6a1a445ffde98a1f94aa51642ddec3579f77cd9e3d8", - "size": 49326 + "sha256": "47bb1574923473b03d5468aaeb01f81a31a6b73219eeb4b252244133c45cd281", + "size": 49960 }, { "url": "https://code.claude.com/docs/en/routines", @@ -5938,8 +5973,8 @@ "url": "https://code.claude.com/docs/en/desktop", "status": "success", "path": "en/docs/claude-code/desktop.md", - "sha256": "0b310de6ce2c508bf6df4aa01e088129f4594ba448329d0018524194a90bf5f3", - "size": 203794 + "sha256": "81c0f7405f9e932aab0d406729b8167b156062d73be6b787a00058faac6d8db0", + "size": 204911 }, { "url": "https://code.claude.com/docs/en/desktop-linux", @@ -5980,8 +6015,8 @@ "url": "https://code.claude.com/docs/en/ultrareview", "status": "success", "path": "en/docs/claude-code/ultrareview.md", - "sha256": "466beb58c48116a4a6178b89b47b45b1c5f0da85fa6332ed41771cbf8ec6cc13", - "size": 20013 + "sha256": "24933f5421c880fa7eeb5549441dba6002a5b869aa5c608da2b5a3c1a303878b", + "size": 20011 }, { "url": "https://code.claude.com/docs/en/github-enterprise-server", @@ -6022,8 +6057,8 @@ "url": "https://code.claude.com/docs/en/code-review-costs", "status": "success", "path": "en/docs/claude-code/code-review-costs.md", - "sha256": "3ed70e71b5e0ff6d6f4586502723420be7ce4496c9d1becace1b789f9029e6e1", - "size": 6268 + "sha256": "55cc84e7bf4337f5a8392b976f0ff32393585a982416df47f3612062d017f464", + "size": 6474 }, { "url": "https://code.claude.com/docs/en/code-review-troubleshooting", @@ -6134,15 +6169,15 @@ "url": "https://code.claude.com/docs/en/skills", "status": "success", "path": "en/docs/claude-code/skills.md", - "sha256": "0a5e9e2e76028fe09ed4c449e0b4dc5bd9a1d641fa673a00bb6dab23eeabd31f", - "size": 118669 + "sha256": "907a9929f54ad8b730a55088108311acb9bb5677c33b1861fb2664a53ab15688", + "size": 118872 }, { "url": "https://code.claude.com/docs/en/artifacts", "status": "success", "path": "en/docs/claude-code/artifacts.md", - "sha256": "a6b62bbc91be9877556afa51087d3232f3e2030370618363e49c5e5d5d26106b", - "size": 42854 + "sha256": "7bc552ef72dcea1d0a73f94527a28fd8963adcb1209a03d9969e1a4703ba9771", + "size": 42804 }, { "url": "https://code.claude.com/docs/en/hooks-guide", @@ -6169,8 +6204,8 @@ "url": "https://code.claude.com/docs/en/goal", "status": "success", "path": "en/docs/claude-code/goal.md", - "sha256": "adb02ffd87590fc5c835e85817f4d30b3841c4486c7de918205b32432770f853", - "size": 15666 + "sha256": "752950e95deef8812deeca3461208948591b5e982a6402b88eadf3bd6fc98456", + "size": 15594 }, { "url": "https://code.claude.com/docs/en/headless", @@ -6183,8 +6218,8 @@ "url": "https://code.claude.com/docs/en/deep-links", "status": "success", "path": "en/docs/claude-code/deep-links.md", - "sha256": "be2e593fae82a072d79ae95a83c995278c637fc926d20fb9f69115fc7bbe2eb8", - "size": 14041 + "sha256": "597b7776aac545bee29239f39e3931c9dd919245b2c91be46ee39133a97a1de2", + "size": 14239 }, { "url": "https://code.claude.com/docs/en/large-codebases", @@ -6197,8 +6232,8 @@ "url": "https://code.claude.com/docs/en/troubleshoot-install", "status": "success", "path": "en/docs/claude-code/troubleshoot-install.md", - "sha256": "4178497a5234fd06411624face6bad334991373314e71012e8fa89c7d7a1f8b4", - "size": 76960 + "sha256": "bc71e850b2604f7c86b2c2f82bbd9e2651d0d92100e74263368f5f96881ddf63", + "size": 79961 }, { "url": "https://code.claude.com/docs/en/troubleshooting", @@ -6218,8 +6253,8 @@ "url": "https://code.claude.com/docs/en/errors", "status": "success", "path": "en/docs/claude-code/errors.md", - "sha256": "94c90e26683748c4297bc95a349430b87e79ac56e33533136dfde8596819d0e3", - "size": 590673 + "sha256": "12744692edc820d64807a2e11085a6e288a7e8b6d25ba28fe5418617a5338766", + "size": 591181 }, { "url": "https://code.claude.com/docs/en/plugins/overview", @@ -6449,8 +6484,8 @@ "url": "https://code.claude.com/docs/en/setup", "status": "success", "path": "en/docs/claude-code/setup.md", - "sha256": "df57c9a56399c1be2a6d6732fe9ddcdb189cab7f78d203d68e83f495036e123f", - "size": 33721 + "sha256": "b5caffe667a021b59163d6db8f7bc9b26d903c011e3fb35822f3d0b2f9afc09d", + "size": 35892 }, { "url": "https://code.claude.com/docs/en/authentication", @@ -6561,8 +6596,8 @@ "url": "https://code.claude.com/docs/en/claude-apps-gateway", "status": "success", "path": "en/docs/claude-code/claude-apps-gateway.md", - "sha256": "967484dcd3aadb42dc2b638d08507ce73fe527e158f9ab313b273f96a17ec409", - "size": 62566 + "sha256": "716f50f7cb60241386315a79278eefcdb9f610eee3d217d0c2d056cb23b96f0a", + "size": 62415 }, { "url": "https://code.claude.com/docs/en/claude-apps-gateway-config", @@ -6631,15 +6666,15 @@ "url": "https://code.claude.com/docs/en/monitoring-usage", "status": "success", "path": "en/docs/claude-code/monitoring-usage.md", - "sha256": "a0473752f2712fa11515466d798e5d16b879d0055bdbd686d39bfeaefc1ebb5a", - "size": 172583 + "sha256": "3cecb1c69cad694cc313148398ea29581f84e39ad0f98e8f264b13e6f67f5f7f", + "size": 172751 }, { "url": "https://code.claude.com/docs/en/costs", "status": "success", "path": "en/docs/claude-code/costs.md", - "sha256": "68019dc152b77e4cea6f08ed39b2fb90ed91c12209825c90815ad53235528c08", - "size": 46745 + "sha256": "5980fe9d7f74fd4f6a3559577040b338810ea500b845afb4335010fe0538e26a", + "size": 46615 }, { "url": "https://code.claude.com/docs/en/analytics", @@ -6673,8 +6708,8 @@ "url": "https://code.claude.com/docs/en/hipaa-setup", "status": "success", "path": "en/docs/claude-code/hipaa-setup.md", - "sha256": "168e965bcca4d986fce6eb6aba66f27d6e329872c6d9a665988d6e7ef7086145", - "size": 22594 + "sha256": "60c4ce4cc2f5a0d20df411d0e99c67109bb78915047a251f217f7914a1de5f9b", + "size": 23033 }, { "url": "https://code.claude.com/docs/en/communications-kit", @@ -6701,8 +6736,8 @@ "url": "https://code.claude.com/docs/en/settings-reference", "status": "success", "path": "en/docs/claude-code/settings-reference.md", - "sha256": "53ec552b44d9b9924a08c98e5664ce0f49bb45f1baa82e2d99296b7c4043193d", - "size": 442691 + "sha256": "887be2e9ee04bcacd54867f2580a37bf6ef724546fe37cf141e9b9b7278b0c47", + "size": 442747 }, { "url": "https://code.claude.com/docs/en/settings-example", @@ -6736,8 +6771,8 @@ "url": "https://code.claude.com/docs/en/sandboxing", "status": "success", "path": "en/docs/claude-code/sandboxing.md", - "sha256": "e331b3b786e52fa028a68cc1dab76049ce8ee8c79e7907d7b43f58e039b9bc68", - "size": 107308 + "sha256": "c5b762473f755a35ff42eef741ba557605d74d091b86ac53f6a46941c2456c21", + "size": 107528 }, { "url": "https://code.claude.com/docs/en/sandbox-environments", @@ -6750,15 +6785,15 @@ "url": "https://code.claude.com/docs/en/cloud-environments", "status": "success", "path": "en/docs/claude-code/cloud-environments.md", - "sha256": "f66e957509d8bd1ac0b775cd9d30a5982c97017d7fd6c51dc9f1ccc6426c13a3", - "size": 65896 + "sha256": "c8029d3e545eb93b855fc584462e4999ca20df6bdb27ba8c3810c291860cc1e0", + "size": 65827 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments", "status": "success", "path": "en/docs/claude-code/self-hosted-environments.md", - "sha256": "900ff49d19bd0c11eb1b3560b7ca0ad0b19699ce7ce668c01bba62ab6a68e08d", - "size": 21326 + "sha256": "2d18e61a8c8c272b4074fd659e773c04c7fff40bbc8320402ed348f5c3187659", + "size": 21650 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments-quickstart", @@ -6771,15 +6806,15 @@ "url": "https://code.claude.com/docs/en/self-hosted-environments-deploy", "status": "success", "path": "en/docs/claude-code/self-hosted-environments-deploy.md", - "sha256": "881f1abc9ad858025aaadd810b0f435c3cb95848cdaa82caa7f7e026eb527f64", - "size": 126633 + "sha256": "810e38308ca42675437df0062d3e6b50b5732152ea5f0d2b540cca3dbb1c0461", + "size": 129558 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments-configuration", "status": "success", "path": "en/docs/claude-code/self-hosted-environments-configuration.md", - "sha256": "4d80d7d6861d002e606db270275d5fd14906a4ab65efbb5c686892838d03d241", - "size": 99051 + "sha256": "a389712b906443ad54d3cce814d8760a588f3147ddf0413753a015381220cb56", + "size": 99493 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments-testing", @@ -6792,22 +6827,22 @@ "url": "https://code.claude.com/docs/en/self-hosted-environments-reference", "status": "success", "path": "en/docs/claude-code/self-hosted-environments-reference.md", - "sha256": "57a393bd4742e1eccec09561ca1247b1f46eb113880c683db2c1f913403e1c94", - "size": 58790 + "sha256": "f9a2a9bec478de4c304eef10f63f14c4a16c353da8cccd0c093f1904bd123f22", + "size": 58728 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments-identity", "status": "success", "path": "en/docs/claude-code/self-hosted-environments-identity.md", - "sha256": "6ac7f2e818fad0e262090485bfd4bf790a661056788236d71a23343ec6db7e97", - "size": 18737 + "sha256": "86e67e9c28d0cbb5f95b84485a6093e95fd793a7159ac6a50d53f75447bb29e9", + "size": 18609 }, { "url": "https://code.claude.com/docs/en/model-config", "status": "success", "path": "en/docs/claude-code/model-config.md", - "sha256": "58b0a9c54e023648fa89dd608232e52c2ce0e9c059149d981e82067e4bcee55b", - "size": 129097 + "sha256": "114cfbcf001a311689e9d86c1d187c428ca0c8c355500f479c17b27197522679", + "size": 129785 }, { "url": "https://code.claude.com/docs/en/fast-mode", @@ -6834,8 +6869,8 @@ "url": "https://code.claude.com/docs/en/terminal-config", "status": "success", "path": "en/docs/claude-code/terminal-config.md", - "sha256": "9e1cdd4ce1e8d4274d926539f812d4fcdd9f4a448e642ba6b9a8a5c158fa8d0d", - "size": 27206 + "sha256": "7c7261423712755927a53ee8adae73a8fa28910858f3ea68b05433dcab0f966a", + "size": 27714 }, { "url": "https://code.claude.com/docs/en/fullscreen", @@ -6862,8 +6897,8 @@ "url": "https://code.claude.com/docs/en/statusline", "status": "success", "path": "en/docs/claude-code/statusline.md", - "sha256": "a2391a0f4b8892bd32c0ea95d3d3d25f319c6891c963895ea0f2dd4c74150aa4", - "size": 66126 + "sha256": "1a07ca5f8d4e288099e731c126ede793527d4bb3a195e04a252d87df2ebc5198", + "size": 66419 }, { "url": "https://code.claude.com/docs/en/keybindings", @@ -6883,15 +6918,15 @@ "url": "https://code.claude.com/docs/en/commands", "status": "success", "path": "en/docs/claude-code/commands.md", - "sha256": "b5532ab199d615efdbef4a115b7be5141a4c9f4fa85c6b54cc2a56417c7c513c", - "size": 58083 + "sha256": "14503e3e1200cce9f2cf1adff22d3a4a420c3a310f9e9c9d5aebd8d70e97b3f5", + "size": 57751 }, { "url": "https://code.claude.com/docs/en/env-vars", "status": "success", "path": "en/docs/claude-code/env-vars.md", - "sha256": "188e3d417dfee2607a19a4c2983cad806f03b9a6a8d64b4de26a3e311293d858", - "size": 186894 + "sha256": "3c8515ed6074b08f0ff6e2961d73c97affbc596afbab7c089bef91f42db9a185", + "size": 186974 }, { "url": "https://code.claude.com/docs/en/tools-reference", @@ -6904,8 +6939,8 @@ "url": "https://code.claude.com/docs/en/interactive-mode", "status": "success", "path": "en/docs/claude-code/interactive-mode.md", - "sha256": "07cd8304beeb4a63f31c3a8095c37a9a3d5e1f7f1b60903b7fd8d482b278931b", - "size": 78137 + "sha256": "fd20f2d3f20711650bafced9feacd13cf0f77a3f12c77f2ccb296bc886ce05bb", + "size": 78209 }, { "url": "https://code.claude.com/docs/en/checkpointing", @@ -6918,8 +6953,8 @@ "url": "https://code.claude.com/docs/en/hooks", "status": "success", "path": "en/docs/claude-code/hooks.md", - "sha256": "ffc7195446eb6048fb54e8351b31c00e0280d303c339f4829023a9215d4ecc76", - "size": 282379 + "sha256": "b755d9c7c166ec77e36ee2388e3299dd149a9f160171b6e97e427be439f942f9", + "size": 283477 }, { "url": "https://code.claude.com/docs/en/channels-reference", @@ -6988,8 +7023,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/claude-code-features", "status": "success", "path": "en/docs/claude-code/agent-sdk/claude-code-features.md", - "sha256": "853607de24218eac839698efe2a3f29da889fb14b6760279dcc29e7ee0f66a70", - "size": 20799 + "sha256": "22b811b894e989a1645a90d976c246662dea52e0d527fe21678148ce2b6bfaa2", + "size": 20979 }, { "url": "https://code.claude.com/docs/en/agent-sdk/sessions", @@ -7002,8 +7037,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/session-storage", "status": "success", "path": "en/docs/claude-code/agent-sdk/session-storage.md", - "sha256": "b2a5ad497f498a6f6f3fdb2e97ecc4bc13c6812f67403902ea14244736b86ecd", - "size": 23662 + "sha256": "40c3c9815aa79fafa44dfaedd928fa3603c316c1af1003870969f1221a3a3606", + "size": 24476 }, { "url": "https://code.claude.com/docs/en/agent-sdk/streaming-vs-single-mode", @@ -7142,8 +7177,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/typescript", "status": "success", "path": "en/docs/claude-code/agent-sdk/typescript.md", - "sha256": "1153044d62625a791f34279ce3db54587c2dd51aed2fc61a3f984c80bb329913", - "size": 328795 + "sha256": "2f620629329704487979447ba40ec35a9c04f9226e610e822da7f7bbd0040f7b", + "size": 329466 }, { "url": "https://code.claude.com/docs/en/agent-sdk/typescript-v2-preview", @@ -7156,8 +7191,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/python", "status": "success", "path": "en/docs/claude-code/agent-sdk/python.md", - "sha256": "f12d5b2c5923e25f1569bfcaa2c3c598902a5912e9f52471c89b4416213b117f", - "size": 164275 + "sha256": "0d248b8399168a73f334362a2384b91cbf1691d0cbddd0a73e57f5914268545e", + "size": 164370 }, { "url": "https://code.claude.com/docs/en/whats-new/index", @@ -9935,8 +9970,8 @@ "url": "https://support.claude.com/en/articles/8114491-get-started-with-claude", "status": "success", "path": "support/8114491-get-started-with-claude.md", - "sha256": "5eaf86a7566a58a9e4132f39614cba75c5ebab7cb78c8b03bb6b4a722cde84a7", - "size": 5205 + "sha256": "a02e94d2e7c2f20903aaeb7032d401e9169da7700efe566a5e96ff380188ccaf", + "size": 5203 }, { "url": "https://support.claude.com/en/articles/8114494-how-up-to-date-is-claude-s-training-data", @@ -10012,8 +10047,8 @@ "url": "https://support.claude.com/en/articles/8230524-delete-or-rename-a-conversation", "status": "success", "path": "support/8230524-delete-or-rename-a-conversation.md", - "sha256": "575ddbb608e56ca4e6dc0fb0dc6f303fc8728cde87eed6609150d79958466439", - "size": 5889 + "sha256": "a51a295a71e4c97724517e9ad4caf47397993866f80f6703192cb2f1b18cfe37", + "size": 5883 }, { "url": "https://support.claude.com/en/articles/8241126-upload-files-to-claude", @@ -10082,8 +10117,8 @@ "url": "https://support.claude.com/en/articles/8325618-paid-plan-billing-faqs", "status": "success", "path": "support/8325618-paid-plan-billing-faqs.md", - "sha256": "fb1c4e7e4c24bd2256ec9441a6132d2ff6d571da49640774df29fc92a488477e", - "size": 4953 + "sha256": "c70684bf30cbceffb70f504a8c07d62835bd38985244aea38aa17cb927696d4a", + "size": 4947 }, { "url": "https://support.claude.com/en/articles/8325621-i-would-like-to-input-sensitive-data-into-my-chats-with-claude-who-can-view-my-conversations", @@ -10145,8 +10180,8 @@ "url": "https://support.claude.com/en/articles/8887527-customizing-your-appearance-settings", "status": "success", "path": "support/8887527-customizing-your-appearance-settings.md", - "sha256": "6787270d8b50fa34f6ef004309b7ed8ab5e21649a57d2d07013a9eecbf9a30bc", - "size": 1914 + "sha256": "17da9098f2249b43272afeb06a9fbced8e789113752e171558517946346b3603", + "size": 1920 }, { "url": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler", @@ -10320,8 +10355,8 @@ "url": "https://support.claude.com/en/articles/9267400-move-your-personal-claude-account-to-a-team-or-enterprise-organization", "status": "success", "path": "support/9267400-move-your-personal-claude-account-to-a-team-or-enterprise-organization.md", - "sha256": "dcb0963c7b970ded0031079d4510315d0c926fc16985148e5bbc978bb614dabc", - "size": 10264 + "sha256": "55f6f476c5c363185ca7f19ce3b65a9317ba7b22f2520036f0dd4356e211dc44", + "size": 10266 }, { "url": "https://support.claude.com/en/articles/9301722-updates-to-our-acceptable-use-policy-now-usage-policy-consumer-terms-of-service-and-privacy-policy", @@ -10362,7 +10397,7 @@ "url": "https://support.claude.com/en/articles/9519177-how-can-i-create-and-manage-projects", "status": "success", "path": "support/9519177-how-can-i-create-and-manage-projects.md", - "sha256": "2740008ce12d917282e0d608469f226653c22825d67e33d3903ee20005af3378", + "sha256": "2e7e7c14d374d380c793bbe957105472995488f3f77c83c40d52736a205bb139", "size": 9201 }, { @@ -10614,7 +10649,7 @@ "url": "https://support.claude.com/en/articles/10310342-how-do-i-log-out-of-all-active-sessions", "status": "success", "path": "support/10310342-how-do-i-log-out-of-all-active-sessions.md", - "sha256": "dfb5f99ea22842da99527c766b3b7827546e3d4b4f1c408148a013219f170125", + "sha256": "11e5e5b3e69858434023be8b388d19dfc236848c11a8d28789bfb09e293478c1", "size": 3101 }, { @@ -10663,8 +10698,8 @@ "url": "https://support.claude.com/en/articles/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans", "status": "success", "path": "support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md", - "sha256": "53bba1c82a9fd6ecb76ac47cc3710c021bb0a08cff68aec9fc359bd48f0015cb", - "size": 1034 + "sha256": "f091039eb0d6d33d723a590536598748800a277030745eb1d9649f88a6c8e07a", + "size": 1038 }, { "url": "https://support.claude.com/en/articles/10504853-manage-user-feedback-settings-on-claude-console", @@ -10684,8 +10719,8 @@ "url": "https://support.claude.com/en/articles/10593882-share-and-unshare-chats", "status": "success", "path": "support/10593882-share-and-unshare-chats.md", - "sha256": "967e7fa9d300a0996ed7eb29304f471b1cb7105c48aa03aa4d099f32fcf0a958", - "size": 4014 + "sha256": "0d51298f9653e993ca79378903391d5a831cdd392adaf1c8ef7b7c35fe5793a9", + "size": 4020 }, { "url": "https://support.claude.com/en/articles/10684626-enable-and-use-web-search", @@ -10712,7 +10747,7 @@ "url": "https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop", "status": "success", "path": "support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md", - "sha256": "3bbbd807de8a925605a6e61855a446758c648ab05d950745709ede769ea487aa", + "sha256": "45ca04cb041677d17bae022fbfc88ffe783a207ee9c5a837bbfa1bea988bfa3f", "size": 8961 }, { @@ -10747,7 +10782,7 @@ "url": "https://support.claude.com/en/articles/11101966-use-voice-mode", "status": "success", "path": "support/11101966-use-voice-mode.md", - "sha256": "8a70e5507cbfe76b527a006f9cf4784b099009772ef198ace38955621cec4178", + "sha256": "d0945ce5b8e0dba91d09bd920c274f9c332dda1aa9ae4123811d9ffd460f42a9", "size": 10633 }, { @@ -10880,8 +10915,8 @@ "url": "https://support.claude.com/en/articles/11725453-set-up-the-claude-lti-in-canvas-by-instructure", "status": "success", "path": "support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md", - "sha256": "1dfe75581df4b19263a46139e58d29e222162247f1a41c8b261e78123a07b22c", - "size": 2752 + "sha256": "95b8d050f17c85722bb844c77a35d274dc9a598ca626d14280c43131747f3917", + "size": 2754 }, { "url": "https://support.claude.com/en/articles/11732894-who-owns-and-manages-the-data-of-my-claude-for-education-account", @@ -10894,15 +10929,15 @@ "url": "https://support.claude.com/en/articles/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context", "status": "success", "path": "support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md", - "sha256": "c86b9b102ee93ec9c0c2bdc9bdb2326870961f0efa74802aeaa4e696326cb49f", - "size": 29561 + "sha256": "806d980084e7e6353f51420162626fd96a5fececc6d0a7d222568c511de9ea03", + "size": 29565 }, { "url": "https://support.claude.com/en/articles/11818288-why-am-i-being-asked-to-verify-my-payment-method", "status": "success", "path": "support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md", - "sha256": "280f5de396a7b320b8f749d08d89a60e7c4b5167c7506ee3342959cb23184a98", - "size": 816 + "sha256": "9f192b5c677d2888d4434c32f2f0dc6fc7ec6c3b29a66b9f7518fa71ddab3b16", + "size": 818 }, { "url": "https://support.claude.com/en/articles/11825384-how-to-update-claude-for-ios", @@ -10936,8 +10971,8 @@ "url": "https://support.claude.com/en/articles/11869629-use-claude-with-android-apps", "status": "success", "path": "support/11869629-use-claude-with-android-apps.md", - "sha256": "b24ad9afbdda54cb04a4e5b569fda66a994a2c02e47f48ee3bd3a7295f1cab8a", - "size": 13991 + "sha256": "3f17f2a875f26b60ebe8c39abadeed65b36801f2f9be750674cf93dfa930337a", + "size": 13993 }, { "url": "https://support.claude.com/en/articles/11932705-automated-security-reviews-in-claude-code", @@ -10971,15 +11006,15 @@ "url": "https://support.claude.com/en/articles/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans", "status": "success", "path": "support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md", - "sha256": "40cf3620e6128c9f1b8f4b1fe6f195e88411f44799e299dba1cbb3eb86377692", - "size": 9703 + "sha256": "7a2071a8038dc21e40803e74c9542343f888c37b7e7e7db5d294513282377482", + "size": 9713 }, { "url": "https://support.claude.com/en/articles/12012173-get-started-with-claude-in-chrome", "status": "success", "path": "support/12012173-get-started-with-claude-in-chrome.md", - "sha256": "0c55b76bad03afa05bd430644887de78b55f3dccc0cf093a74f345dfcff14bd8", - "size": 14710 + "sha256": "c91308c5b091ce43967db5958f31df24009ec4651a84919b5d59ab0042ea4c49", + "size": 14712 }, { "url": "https://support.claude.com/en/articles/12053672-what-happens-to-a-user-s-data-when-they-are-removed-from-a-team-or-enterprise-organization", @@ -10992,8 +11027,8 @@ "url": "https://support.claude.com/en/articles/12083917-change-your-team-plan-from-monthly-to-annual-billing", "status": "success", "path": "support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md", - "sha256": "e632cea8f077651f5ec6e0f1f43a3df7998de0ab9137bf9b3f20ae27f1917996", - "size": 1394 + "sha256": "06dd1a67c2cbb58338ab4f81d1effb82d8d4283c443068342d1af05119ca2c90", + "size": 1398 }, { "url": "https://support.claude.com/en/articles/12109679-creating-a-new-account-after-deletion", @@ -11006,8 +11041,8 @@ "url": "https://support.claude.com/en/articles/12111783-create-and-edit-files-with-claude", "status": "success", "path": "support/12111783-create-and-edit-files-with-claude.md", - "sha256": "b54d86bd41c73d7b9a865c882b6e1e9923ca7490c5dd4a9156ba399e46f94da2", - "size": 17985 + "sha256": "fd25c263ec639c63e77891333ee695fabf73537513bc42a454cf63d9ca2cc1bc", + "size": 17981 }, { "url": "https://support.claude.com/en/articles/12119250-model-safety-bug-bounty-program", @@ -11034,21 +11069,21 @@ "url": "https://support.claude.com/en/articles/12157520-claude-code-usage-analytics", "status": "success", "path": "support/12157520-claude-code-usage-analytics.md", - "sha256": "a508d5c543477818b5ae9b4cea6be038c59b4c3268c0aa42e0efcbe244406691", - "size": 6370 + "sha256": "5fef8db3fc99241dccc09f1ac856709cfda3558db0f968d6f19a8cafd148e9f0", + "size": 6368 }, { "url": "https://support.claude.com/en/articles/12260368-use-incognito-chats", "status": "success", "path": "support/12260368-use-incognito-chats.md", - "sha256": "386781743a34b2baf2cd57681bf6b3d89f9e7345d965db06fd7f9aade4565cfa", + "sha256": "8c2d31bc2fa67a64b54cb546780bdb10a299a99363729fc3788a0ee7345d6767", "size": 4376 }, { "url": "https://support.claude.com/en/articles/12293051-use-claude-in-xcode", "status": "success", "path": "support/12293051-use-claude-in-xcode.md", - "sha256": "79f501e23089fd064a449bb607402de1151baceb15de6ad30452180895d1f99c", + "sha256": "6591ec8050924da7c30cb2781b74dff16f762ca0e926f97430c5edb4b98c419b", "size": 1907 }, { @@ -11090,15 +11125,15 @@ "url": "https://support.claude.com/en/articles/12429409-manage-usage-credits-for-paid-claude-plans", "status": "success", "path": "support/12429409-manage-usage-credits-for-paid-claude-plans.md", - "sha256": "a0a1f071e1f0f5515a768bea65e7295c2a98b633c3143b23b2a80e8d368a7432", - "size": 7968 + "sha256": "5286dc662104d7e233c88fc7614a2057d197ff6877255e0e1bf6d6443f4a586d", + "size": 7970 }, { "url": "https://support.claude.com/en/articles/12466728-troubleshoot-claude-error-messages", "status": "success", "path": "support/12466728-troubleshoot-claude-error-messages.md", - "sha256": "f3b409ef600e4c060fe5581686cafc84dc477767b8c51b7957488ef21407f28e", - "size": 5149 + "sha256": "ae9b33ed01e00521138db499f56040f978bcbfb8fa9f1c02fc0921a6dfa46793", + "size": 5147 }, { "url": "https://support.claude.com/en/articles/12489464-use-enterprise-search", @@ -11118,8 +11153,8 @@ "url": "https://support.claude.com/en/articles/12512180-use-skills-in-claude", "status": "success", "path": "support/12512180-use-skills-in-claude.md", - "sha256": "0aad36cffd445d5fe28aefd8869f5ed98ac804f599648ee1d344a4f23dae2a0a", - "size": 19173 + "sha256": "de48616297ba470fc04b6526ed30d8e779cda92040a39d2dff1423525e7c772c", + "size": 19171 }, { "url": "https://support.claude.com/en/articles/12512198-how-to-create-custom-skills", @@ -11139,8 +11174,8 @@ "url": "https://support.claude.com/en/articles/12592343-enabling-and-using-the-desktop-extension-allowlist", "status": "success", "path": "support/12592343-enabling-and-using-the-desktop-extension-allowlist.md", - "sha256": "1c36b4fb4f9f834ace1e2681520c4c148b0226a53a30d0593cdf36a11f9a594e", - "size": 5712 + "sha256": "1a89b0642c5461f159996eee5e0a39bbafe324d5506f28d983aa4ab9c48f5a82", + "size": 5716 }, { "url": "https://support.claude.com/en/articles/12611117-deploy-claude-desktop-for-macos", @@ -11153,8 +11188,8 @@ "url": "https://support.claude.com/en/articles/12618689-use-claude-code-in-the-cloud", "status": "success", "path": "support/12618689-use-claude-code-in-the-cloud.md", - "sha256": "eac76c5f29f482a34d1c29a11a4992528124a8731a51540b22e297517836f1c9", - "size": 11127 + "sha256": "2305865b0b1a561a7db778712d61ff240aa654ed807e4cc8fc94e81ddd5d6fed", + "size": 11117 }, { "url": "https://support.claude.com/en/articles/12622667-enterprise-configuration-for-claude-desktop", @@ -11174,8 +11209,8 @@ "url": "https://support.claude.com/en/articles/12626668-use-quick-entry-with-claude-desktop-on-mac", "status": "success", "path": "support/12626668-use-quick-entry-with-claude-desktop-on-mac.md", - "sha256": "4ebc41a012fabe235c56135dc6aefacd0f0c556da30d2e8814f17cba7c9dc8b6", - "size": 6186 + "sha256": "0ffaf70782436faa80403fed9e12e1738453f191fe84e3d20b46aa8aa5729b45", + "size": 6182 }, { "url": "https://support.claude.com/en/articles/12684923-microsoft-365-connector-security-guide", @@ -11209,8 +11244,8 @@ "url": "https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans", "status": "success", "path": "support/12883420-view-usage-analytics-for-team-and-enterprise-plans.md", - "sha256": "0fb2adb2c9b396a278bc6b6c9d82cf39512ce79852894f81304a073bebf55d61", - "size": 15095 + "sha256": "0ad5186e899c978f5b78ed74b4b9dba01106d67c31d749f26aa245fe5d679a17", + "size": 15093 }, { "url": "https://support.claude.com/en/articles/12902405-claude-in-chrome-troubleshooting", @@ -11230,8 +11265,8 @@ "url": "https://support.claude.com/en/articles/12902446-claude-in-chrome-permissions-guide", "status": "success", "path": "support/12902446-claude-in-chrome-permissions-guide.md", - "sha256": "d0205c9d161d310d6ebb9ffea2eaf18415044541f05e8b149649dcf81b7c1002", - "size": 9101 + "sha256": "7d697a55dfc81f8f19b5dd846c946bdf0eb298c1b47862f8baa6448f09a27356", + "size": 9107 }, { "url": "https://support.claude.com/en/articles/12938627-how-to-gift-a-claude-subscription", @@ -11258,7 +11293,7 @@ "url": "https://support.claude.com/en/articles/12997503-team-plan-billing-faqs", "status": "success", "path": "support/12997503-team-plan-billing-faqs.md", - "sha256": "4671f10980ee7976422bc3616095b6021386b2562e29eb9c99d19dcabc13fa95", + "sha256": "90105a70aff2cb0602c49ddb6f85b2199c2db13ee24a0d0b0cc0e6e9c0cc2726", "size": 5411 }, { @@ -11307,14 +11342,14 @@ "url": "https://support.claude.com/en/articles/13132885-set-up-single-sign-on-sso", "status": "success", "path": "support/13132885-set-up-single-sign-on-sso.md", - "sha256": "52ed024e45eac654c3dcf93f5b4883d09f2d068c62811873fc96ad093d6e962a", - "size": 13639 + "sha256": "29b0704f17cb04f2c0b9027874162efcec4423b3b0dae746c59495766fcb16f5", + "size": 13641 }, { "url": "https://support.claude.com/en/articles/13133195-set-up-jit-or-scim-provisioning", "status": "success", "path": "support/13133195-set-up-jit-or-scim-provisioning.md", - "sha256": "cae6c089bf342f56b6b36d374ae04bc2a8c7a29faf4eb7e376045a4672470b68", + "sha256": "d987302a2ba90c95bcc4a79b3244364d1bd11c3495c453f6334942f837826ff7", "size": 22523 }, { @@ -11342,8 +11377,8 @@ "url": "https://support.claude.com/en/articles/13163631-configuring-session-security-settings", "status": "success", "path": "support/13163631-configuring-session-security-settings.md", - "sha256": "10b5d9a3fffd5944e1725abac9ee63a99660ced17fb605c8083a247b717b989e", - "size": 3703 + "sha256": "dbd10686114959df443ef3fcd9938fbd8b512c6e95e1202b3282f1735740374c", + "size": 3697 }, { "url": "https://support.claude.com/en/articles/13171706-crisis-helpline-support-in-claude", @@ -11356,8 +11391,8 @@ "url": "https://support.claude.com/en/articles/13189465-log-in-to-your-claude-account", "status": "success", "path": "support/13189465-log-in-to-your-claude-account.md", - "sha256": "c23ff439d7785c0bae0100c31c32fac573f165951a247874fd2ddf6abe7f03f9", - "size": 7041 + "sha256": "4ba979f1b4ddfcf174425ef793153c6533f442f373ae48e67463a6429292108e", + "size": 7037 }, { "url": "https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions", @@ -11384,14 +11419,14 @@ "url": "https://support.claude.com/en/articles/13325567-account-management-faqs", "status": "success", "path": "support/13325567-account-management-faqs.md", - "sha256": "a36102bdcb638443961f5da47212f2e62cf6d4b38fdb531b5e6ccc4ca4da76bb", - "size": 2598 + "sha256": "29799309cfac5e77ec47a13a5f57fc49f87df111f5a938b27bb36407da193460", + "size": 2596 }, { "url": "https://support.claude.com/en/articles/13345190-get-started-with-claude-cowork", "status": "success", "path": "support/13345190-get-started-with-claude-cowork.md", - "sha256": "f1028b544d711e3700928bf00d0445eea0ce5ba3f0667d1fe1291f8969ade1cd", + "sha256": "332883e082519e851bdc9143ba15aa915732473e7de607805ee26429279e27f5", "size": 22034 }, { @@ -11419,7 +11454,7 @@ "url": "https://support.claude.com/en/articles/13371040-log-in-to-your-console-account", "status": "success", "path": "support/13371040-log-in-to-your-console-account.md", - "sha256": "20aa3537520354bf7bcdd3511e42c38cdeb9c937e6bb4c9f7f5b84f598747f6d", + "sha256": "723746f0c2da6f9a4a563ea57648f3d648895aa83d938591bab4d3dfbba23a11", "size": 4611 }, { @@ -11475,8 +11510,8 @@ "url": "https://support.claude.com/en/articles/13641943-visual-and-interactive-content", "status": "success", "path": "support/13641943-visual-and-interactive-content.md", - "sha256": "cd9dc5cf57a22ab693d333398e64d50ae22ffa3ef08ca54a1c811bb4eb2fdaf1", - "size": 6509 + "sha256": "7dde0d6e7edf182ae4a97a4cc28f56ec4dc5c773db85b2c587b16d9985da5f94", + "size": 6513 }, { "url": "https://support.claude.com/en/articles/13663666-use-visual-and-interactive-content-on-team-and-enterprise-plans", @@ -11531,8 +11566,8 @@ "url": "https://support.claude.com/en/articles/13837440-use-plugins-in-claude", "status": "success", "path": "support/13837440-use-plugins-in-claude.md", - "sha256": "091e7df0c987003d44bdde7bca8936dd64b8f0b90b215d60fe087fe40f0483b1", - "size": 15199 + "sha256": "43cc229585a242c9986dd0fe826080b122f1ad3af8ae3244490aa7dcd7cf0e6c", + "size": 15195 }, { "url": "https://support.claude.com/en/articles/13854387-schedule-recurring-tasks-in-claude-cowork", @@ -11629,8 +11664,8 @@ "url": "https://support.claude.com/en/articles/13947068-assign-tasks-from-anywhere-in-claude-cowork", "status": "success", "path": "support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md", - "sha256": "cad26fd447a80c3322bb2c9ec76399d8215bebbae073d358a0cace237b0e04a4", - "size": 8965 + "sha256": "79e4c942cc8d32711adf12ef43da3ddbad721fd1cd8a647d106bfe5846b7b29d", + "size": 8967 }, { "url": "https://support.claude.com/en/articles/13979539-custom-visuals-in-chat-and-cowork", @@ -11650,8 +11685,8 @@ "url": "https://support.claude.com/en/articles/14116274-organize-your-tasks-with-projects-in-claude-cowork", "status": "success", "path": "support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md", - "sha256": "2e431e619b5582c1d73798a59203dc505f416c49e65b43b15b7c81f3db82cf3d", - "size": 7837 + "sha256": "bd3d680f36324c7ca08652f88ec278ee6bf514de94d1d14a826183f97621e1fb", + "size": 7849 }, { "url": "https://support.claude.com/en/articles/14128542-let-claude-use-your-computer-in-cowork", @@ -11720,8 +11755,8 @@ "url": "https://support.claude.com/en/articles/14499648-how-scim-sync-works-for-enterprise-organizations", "status": "success", "path": "support/14499648-how-scim-sync-works-for-enterprise-organizations.md", - "sha256": "28496f42c4b148f53963c82e1f50859e851ba038bb7315580991577e8a8b6b22", - "size": 7672 + "sha256": "947673f1a0b511560e21bad382094663a3892ae20b06d354d618b256ab8c4a87", + "size": 7670 }, { "url": "https://support.claude.com/en/articles/14503520-available-beta-and-research-preview-features", @@ -11832,8 +11867,8 @@ "url": "https://support.claude.com/en/articles/14604842-cyber-verification-program", "status": "success", "path": "support/14604842-cyber-verification-program.md", - "sha256": "3139e68a126b91bd0a791e69cdebce6e5e0b2300f83e21026bd9ad8769387c1c", - "size": 36206 + "sha256": "f658a3b6948d3ceb8f2edc6853c02f8caf15fa0be1fb90849db52261fddc7303", + "size": 36019 }, { "url": "https://support.claude.com/en/articles/14625619-claim-and-migrate-accounts-on-your-domain", @@ -11944,8 +11979,8 @@ "url": "https://support.claude.com/en/articles/15330088-set-a-default-model-for-your-organization", "status": "success", "path": "support/15330088-set-a-default-model-for-your-organization.md", - "sha256": "dd3770d9955027e84c8fc1fc1bd10c360b28e37c780fa1139b497cdb76e4dcc1", - "size": 11311 + "sha256": "9e821b2d3f3183a110cc7f05c1684c9c1238e8991a0443f1a550c22c7f8cf64e", + "size": 11309 }, { "url": "https://support.claude.com/en/articles/15330651-claude-enterprise-admin-api-reference-guide", @@ -12056,8 +12091,8 @@ "url": "https://support.claude.com/en/articles/15694740-manage-model-access-for-your-organization", "status": "success", "path": "support/15694740-manage-model-access-for-your-organization.md", - "sha256": "4dcf6e2db00a08cbee3c1c3a15cb9617963cd8918b8f40766badc786fed85df6", - "size": 10330 + "sha256": "5e356adcbfe589620653c03168fa3951b9a1a0a779f28b98ed82ba6c51c63c33", + "size": 10340 }, { "url": "https://support.claude.com/en/articles/15707726-using-claude-for-legal-work-privilege-confidentiality-and-how-to-think-about-configuration", @@ -12091,7 +12126,7 @@ "url": "https://support.claude.com/en/articles/15936181-get-started-with-1password-for-claude", "status": "success", "path": "support/15936181-get-started-with-1password-for-claude.md", - "sha256": "97f859106b1d4f074457b873001e3cc233072a75890aac3310b93a2e2d9c63fb", + "sha256": "0ae509863ef4c0a6aa5dbf636e8f1d4aaaa0a2b3ffeed293d1cc854b6c1dc43f", "size": 5058 }, { @@ -12140,8 +12175,8 @@ "url": "https://support.claude.com/en/articles/16607638-understanding-your-pro-or-max-plan-invoices", "status": "success", "path": "support/16607638-understanding-your-pro-or-max-plan-invoices.md", - "sha256": "0646979c6341963fc1339bb8ab6cbf7bc1c15095362bd8dc8ff94daf6faa02da", - "size": 5832 + "sha256": "3915a1d13ad12a494a2aa4b358eac7a4e243afeb65b993972cc9c97e7081d835", + "size": 5836 }, { "url": "https://support.claude.com/en/articles/16607668-understanding-your-team-plan-invoices", @@ -12224,8 +12259,8 @@ "url": "https://support.claude.com/en/articles/16893491-get-started-with-smart-reports", "status": "success", "path": "support/16893491-get-started-with-smart-reports.md", - "sha256": "8aeb759f88018898cd1c713d0216256e1c2867a52a3e1ad7b029f7a931d30de8", - "size": 17276 + "sha256": "4000cfc21d5a7d9e3675bd719d96f0c4adcc010f1f3bc40a1e3d2ed7a6c7021d", + "size": 17198 }, { "url": "https://support.claude.com/en/articles/16923645-get-started-with-claude-docs", @@ -12245,8 +12280,8 @@ "url": "https://support.claude.com/en/articles/16951679-use-claude-in-google-docs-sheets-and-slides", "status": "success", "path": "support/16951679-use-claude-in-google-docs-sheets-and-slides.md", - "sha256": "98ef6b914a9adab0c6c6d7b392cd0e123dd325ae656e4e90998ba77ac4e64cde", - "size": 21894 + "sha256": "8c49f7384efad81a10ad2eb92c9e3af595dc3b8eba3a200272a3693e46ade9b2", + "size": 21892 }, { "url": "https://support.claude.com/en/articles/16952184-set-up-salesforce-in-claude-for-your-organization", @@ -12273,8 +12308,8 @@ "url": "https://support.claude.com/en/articles/17005973-manage-pooled-group-budgets-on-enterprise-plans", "status": "success", "path": "support/17005973-manage-pooled-group-budgets-on-enterprise-plans.md", - "sha256": "0b5f7632e77b676a330bb235c23adc26c234c22a3d8eb960f01c19d3332c4106", - "size": 7843 + "sha256": "98c48bade97f529206f6d04777d8f2f26776f668d34b424f484bd3af655bf86c", + "size": 7833 }, { "url": "https://support.claude.com/en/articles/17007452-what-is-a-limit-reset", @@ -12322,8 +12357,8 @@ "url": "https://support.claude.com/en/articles/17203415-set-up-claude-for-intune", "status": "success", "path": "support/17203415-set-up-claude-for-intune.md", - "sha256": "f0a92780440a505f60f791bf0d57f274eadc38d2087a75ac06d8cee426e842cb", - "size": 11379 + "sha256": "cfba4a60354a9700393e08f6caecb0f7a625e4420569e55292890fbb647fc58b", + "size": 11371 }, { "url": "https://support.claude.com/en/articles/17318731-use-claude-code-local-mode-and-claude-cowork-local-mode-on-a-hipaa-ready-enterprise-plan", @@ -12339,19 +12374,12 @@ "sha256": "fa9427b456d6375623cce235b9aca34a72681936d8ee6b76f8470dac71edc6af", "size": 15566 }, - { - "url": "https://support.claude.com/en/articles/17444146-claude-haiku-4-5-is-leaving-the-model-selector", - "status": "success", - "path": "support/17444146-claude-haiku-4-5-is-leaving-the-model-selector.md", - "sha256": "bc913c01690b41fe6cb9c079a0b2f34c3773dc732613c416e435b02e1bf8d01c", - "size": 1644 - }, { "url": "https://support.claude.com/en/articles/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization", "status": "success", "path": "support/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization.md", - "sha256": "73244696f1941062d6b2b1f60f1dd7825a33f9f6f59516b326f56d0e0bf0f92a", - "size": 24634 + "sha256": "91143a8ee26350eabab4090d1f2f27304fca8a6d1cc46cf91d33be93acd41b74", + "size": 24642 }, { "url": "https://support.claude.com/en/articles/17454700-get-started-with-claude-dashboards", @@ -12658,8 +12686,8 @@ "url": "https://claude.com/docs/claude-science/overview", "status": "success", "path": "claude/claude-science/overview.md", - "sha256": "8db71e4f3cd4184f7669725d985990c16966a333b6cb77e9d4f9785f908dd971", - "size": 7777 + "sha256": "f91f850f4ce8a6895ffdde058f7128262507ad054f71b86880e7fce384e93cff", + "size": 7839 }, { "url": "https://claude.com/docs/claude-science/remote-compute-clusters", @@ -13057,8 +13085,8 @@ "url": "https://claude.com/docs/claude-tag/concepts/glossary", "status": "success", "path": "claude/claude-tag/concepts/glossary.md", - "sha256": "c4463171f7c70638cd0e61da66387bb05e9eef848447c2776403697fcc0d0f00", - "size": 8905 + "sha256": "6ed0c72ecc3be04b915fff596b73fa1fc6732e561ab80a1b6c13dece836ae5f6", + "size": 9002 }, { "url": "https://claude.com/docs/claude-tag/concepts/how-it-works", @@ -13099,8 +13127,8 @@ "url": "https://claude.com/docs/claude-tag/users/commands", "status": "success", "path": "claude/claude-tag/users/commands.md", - "sha256": "12bc68f638bf10decc66bae518787622fcf54d74232373a9836413e43bfbadb2", - "size": 14335 + "sha256": "52edf77dbc7f51aa90e7695e3520afa655cf89bf84f69967734540493d2f6eed", + "size": 14423 }, { "url": "https://claude.com/docs/claude-tag/users/getting-started", @@ -13141,15 +13169,15 @@ "url": "https://claude.com/docs/claude-tag/users/proactivity", "status": "success", "path": "claude/claude-tag/users/proactivity.md", - "sha256": "6cc6dff53b21ec11ec76abdd530e5a98c06f6b5cb74845ff07a68148de6debdf", - "size": 10142 + "sha256": "66e8a8c8fb8a2213fc1d3830cd145f3263386e145ef3f48e3ad84db1b603feb0", + "size": 10146 }, { "url": "https://claude.com/docs/claude-tag/users/prompt-library", "status": "success", "path": "claude/claude-tag/users/prompt-library.md", - "sha256": "aa0e83137fcf8b1ca48c9bff9c5578bd18b62e59c7859ae93318a9837e3ad28c", - "size": 10688 + "sha256": "387bd0997374753190c61652ec262bfb7e80ef3d67ee4b6b0851ec540adb572e", + "size": 10689 }, { "url": "https://claude.com/docs/claude-tag/users/troubleshooting", @@ -13498,8 +13526,8 @@ "url": "https://claude.com/docs/connectors/microsoft/365", "status": "success", "path": "claude/connectors/microsoft/365.md", - "sha256": "292228853bf30143ec65688d94435f6a9b5f71057ae9913d703c5bf62d6ee2b3", - "size": 11891 + "sha256": "2ac767f3640214e7614cf192596ace11afc1388c22a5fbd080fdbc9fd054221c", + "size": 11864 }, { "url": "https://claude.com/docs/connectors/slack", @@ -13519,8 +13547,8 @@ "url": "https://claude.com/docs/cowork/changelog", "status": "success", "path": "claude/cowork/changelog.md", - "sha256": "2226d4670a029fd570b61f90cc31d1fca652c20306e96480f5b4f16c53936d49", - "size": 238844 + "sha256": "41750abc3596ba0be0ee4826af544194e0bb21270bda41e574c2b45a90cf4063", + "size": 245784 }, { "url": "https://claude.com/docs/cowork/guide/dispatch", @@ -13617,8 +13645,8 @@ "url": "https://claude.com/docs/government/changelog", "status": "success", "path": "claude/government/changelog.md", - "sha256": "42d105e613e8210f9e537f8b68f2400e42d9af0bb04ce582f0c7e7e339a01926", - "size": 20228 + "sha256": "427eba70d9a059f84644fccdd6dc9a121aa8885dc88e1fad5aa0d0cc37006ea1", + "size": 20258 }, { "url": "https://claude.com/docs/government/config/overview", @@ -13638,8 +13666,8 @@ "url": "https://claude.com/docs/government/config/settings", "status": "success", "path": "claude/government/config/settings.md", - "sha256": "902de1fe33cf121f96dbc7a2354c18e3a8b15e0addb6c1469dd514a7a4688797", - "size": 25574 + "sha256": "3bce070125169363d608c01ce41dc7dd4fdc977df45d515eb8817083de805321", + "size": 25590 }, { "url": "https://claude.com/docs/government/connectors/microsoft-365", @@ -13659,8 +13687,8 @@ "url": "https://claude.com/docs/government/deploy-claude-code/configure", "status": "success", "path": "claude/government/deploy-claude-code/configure.md", - "sha256": "fbc4462aaa2193d4b7ccb0111fd603c1d127b43d34e11cb778f1d711ca8da85e", - "size": 20274 + "sha256": "5c42e3605635777a18073c05cf614e242471c8126b2b699f1f852b34f09327cb", + "size": 20287 }, { "url": "https://claude.com/docs/government/deploy-desktop/configure", @@ -13687,8 +13715,8 @@ "url": "https://claude.com/docs/government/desktop/import", "status": "success", "path": "claude/government/desktop/import.md", - "sha256": "39c947be7978463bfb09e473e8d5450cb66ed5c21ad9b196d62bcb9bdee77cf3", - "size": 9590 + "sha256": "91e7d193867c20bbc881d769ba21cfb442b42b4ad92d46fed4009e9ae6b4c355", + "size": 9513 }, { "url": "https://claude.com/docs/government/desktop/models", @@ -13722,8 +13750,8 @@ "url": "https://claude.com/docs/government/moving-from-web", "status": "success", "path": "claude/government/moving-from-web.md", - "sha256": "236f91c2ab5d327b1e5d36094cf7190d363cb02b786dc2206c93af22260b6f94", - "size": 7341 + "sha256": "6485d73404d4c6470ac7d910cb59e3d2f31a3abace1087c0ea9223e3cbe2a1a6", + "size": 7300 }, { "url": "https://claude.com/docs/government/org-admin/analytics", @@ -13897,8 +13925,8 @@ "url": "https://claude.com/docs/office-agents/connectors-and-skills", "status": "success", "path": "claude/office-agents/connectors-and-skills.md", - "sha256": "fff41953290c054af6cf037cb85d4b15d6c395b221571cb5b4818e3961d4d848", - "size": 2542 + "sha256": "a9a43eed644a34ade808cfd1f42685d17fad312b243b38ff6ea3ae473c266de8", + "size": 2698 }, { "url": "https://claude.com/docs/office-agents/data-storage", @@ -13925,8 +13953,8 @@ "url": "https://claude.com/docs/office-agents/excel", "status": "success", "path": "claude/office-agents/excel.md", - "sha256": "aab80cb0c43c7689f49b69331e3dcc6ac687100a414cb0037577e19dd3708812", - "size": 11181 + "sha256": "0011186f2b5776becf87e46cd3a1186428ac138767a4ef5d46cc69e186dba1ac", + "size": 11411 }, { "url": "https://claude.com/docs/office-agents/fsi-plugins", @@ -13946,8 +13974,8 @@ "url": "https://claude.com/docs/office-agents/outlook", "status": "success", "path": "claude/office-agents/outlook.md", - "sha256": "1e5df44f455cfec6f17f5955b47d078949b778244a4ffa2534102e02f9406ad6", - "size": 20748 + "sha256": "86a25864d894d92f8620c05afd1ce4f033d47e8a49d43fd038d27dc5dee1aedd", + "size": 20989 }, { "url": "https://claude.com/docs/office-agents/overview", @@ -13967,29 +13995,29 @@ "url": "https://claude.com/docs/office-agents/powerpoint", "status": "success", "path": "claude/office-agents/powerpoint.md", - "sha256": "85195a47b425f311214c0460e472f380c029d2359417b80404734f1b2b0293c8", - "size": 13184 + "sha256": "6b390c1c70f2fb6f0f74e3b53672dac0b57a8a9946846a28bcd1334ef9b51ece", + "size": 13418 }, { "url": "https://claude.com/docs/office-agents/third-party-platforms", "status": "success", "path": "claude/office-agents/third-party-platforms.md", - "sha256": "29234e1f812bd60144f5a864185b333cc6f5a1af9a55e48f5129c8590c2b6b08", - "size": 56656 + "sha256": "bd070c5c0a0c747a1a9ca457acb92e329f9fe73497773b1b0f36b84fa27778df", + "size": 62095 }, { "url": "https://claude.com/docs/office-agents/word", "status": "success", "path": "claude/office-agents/word.md", - "sha256": "dd188eb4e00f7524c92dc874487b958ac92d94ee74bdfbeb012bc33db9606678", - "size": 16094 + "sha256": "3d3d87018501c4d074c2caab248b28c5bc049b0a16f0608458c9fc8ea915b261", + "size": 16324 }, { "url": "https://claude.com/docs/office-agents/work-across-apps", "status": "success", "path": "claude/office-agents/work-across-apps.md", - "sha256": "e50621db0f939a5698c2efe85e019a234ed906eb789ad1bf3d41082228d4025f", - "size": 5986 + "sha256": "fa596e36d1229965171da60ba5249c98a1c22f2963c27d063d71581266fab6a7", + "size": 6258 }, { "url": "https://claude.com/docs/plugins/admin", @@ -14086,22 +14114,22 @@ "url": "https://claude.com/docs/third-party/claude-desktop/admin-console", "status": "success", "path": "claude/third-party/claude-desktop/admin-console.md", - "sha256": "1ed04aac6d15ae26843565f98fec053cc1f11ace4fd2ead20db25108692c001e", - "size": 75160 + "sha256": "0bcf243f196a8eea89758bc6e305c1f4a0c4b9ce77e985731c5649970839e650", + "size": 74588 }, { "url": "https://claude.com/docs/third-party/claude-desktop/bedrock", "status": "success", "path": "claude/third-party/claude-desktop/bedrock.md", - "sha256": "fae2ab3880ae01d5160321888ccf1e9d50272ce3dac548c6bda3a3abe063ac4e", - "size": 25986 + "sha256": "d49c67bc7bf29aaf82d9ae77e12644a54b616523666cded532f039a2a00e2148", + "size": 25794 }, { "url": "https://claude.com/docs/third-party/claude-desktop/bootstrap", "status": "success", "path": "claude/third-party/claude-desktop/bootstrap.md", - "sha256": "3f91004779f7249ad164d987537770c44fd3647874a8a5b3b35a9f1b07ece552", - "size": 43833 + "sha256": "f7cfd71835fb336c59b7eea097904598f879a3c7364dbc97a1341c5a01738109", + "size": 42746 }, { "url": "https://claude.com/docs/third-party/claude-desktop/browser", @@ -14121,8 +14149,8 @@ "url": "https://claude.com/docs/third-party/claude-desktop/chat", "status": "success", "path": "claude/third-party/claude-desktop/chat.md", - "sha256": "6765f627c47c3e30a97bc6bff2e10d7af8292b65223f3c831d04380e899ac8c5", - "size": 16522 + "sha256": "012f8999581a7f3ac522cb0283bf6feb4952a065726c4929b3c541a4c7f98a8c", + "size": 16869 }, { "url": "https://claude.com/docs/third-party/claude-desktop/claude-api", @@ -14135,29 +14163,29 @@ "url": "https://claude.com/docs/third-party/claude-desktop/code", "status": "success", "path": "claude/third-party/claude-desktop/code.md", - "sha256": "1fe5ba211909dd2b9f2c3171f2a60279ff28d62f64e78ad07fc6c274577d4449", - "size": 29051 + "sha256": "3095901e8f14dbc6692f1848bf68c4154d40ee1156511b89a3c4b3dbc26a0ee8", + "size": 29061 }, { "url": "https://claude.com/docs/third-party/claude-desktop/configuration", "status": "success", "path": "claude/third-party/claude-desktop/configuration.md", - "sha256": "3165dab76c21939411d627eab8f42e82072cec1f50d142bffc3b5c44a204a517", - "size": 318215 + "sha256": "0fc965c1971dea712ef2a934a8c5c83a81275fcf266d86b9e1267b96981c4e2c", + "size": 179822 }, { "url": "https://claude.com/docs/third-party/claude-desktop/configuration-changelog", "status": "success", "path": "claude/third-party/claude-desktop/configuration-changelog.md", - "sha256": "e1b3b61469991e86a17877b44a5b227858170c65384bac0d4ed885a0683225cb", - "size": 68220 + "sha256": "b875742c6f4bfdcbda9e3be2a4596fd093a189318b0481ef2acecc196d1117b6", + "size": 70027 }, { "url": "https://claude.com/docs/third-party/claude-desktop/configuration-format", "status": "success", "path": "claude/third-party/claude-desktop/configuration-format.md", - "sha256": "74a7ec53d57d9142e9adbd062e7542e0faa77360152119a4e62a270baed914f9", - "size": 22045 + "sha256": "31dae682d5efdc79ba6dde5a33125147a291905a0c2ab44c1fe6b503e4c23cc1", + "size": 16316 }, { "url": "https://claude.com/docs/third-party/claude-desktop/connectors-box", @@ -14184,8 +14212,8 @@ "url": "https://claude.com/docs/third-party/claude-desktop/connectors-m365", "status": "success", "path": "claude/third-party/claude-desktop/connectors-m365.md", - "sha256": "3b88a1302abb9c17048b6b4b4a75d94e0bd94e0bfabbdd03799d024ed62950a7", - "size": 45700 + "sha256": "b88f7f4fd96b1b239cbb28cb2a2bea44278ca13313115ce57f77bfdc8668664d", + "size": 45623 }, { "url": "https://claude.com/docs/third-party/claude-desktop/connectors-salesforce", @@ -14205,8 +14233,8 @@ "url": "https://claude.com/docs/third-party/claude-desktop/data-storage", "status": "success", "path": "claude/third-party/claude-desktop/data-storage.md", - "sha256": "6187ab39f467ce37ceca65f0c3f53115e6bb17f17ddf1f3b4cd1b36bf660caf4", - "size": 23163 + "sha256": "f0f76b0a9a340bb9e663671deb5bfa5d059cde089ca6d8d58609d625162acad7", + "size": 28534 }, { "url": "https://claude.com/docs/third-party/claude-desktop/entra-broker", @@ -14219,29 +14247,29 @@ "url": "https://claude.com/docs/third-party/claude-desktop/extensions", "status": "success", "path": "claude/third-party/claude-desktop/extensions.md", - "sha256": "1882168ad9c97d2a8f683cf5887877cac4d75523f7531718cc2cc420616e5963", - "size": 55501 + "sha256": "16d83f95fd87575babe1af0547a33cab8a660674a58dfcc5288fc87f50322d48", + "size": 61897 }, { "url": "https://claude.com/docs/third-party/claude-desktop/feature-matrix", "status": "success", "path": "claude/third-party/claude-desktop/feature-matrix.md", - "sha256": "74bad9985e5985adc627b42da2f4e33200e1be3aea628145f7c240cf089fd10c", - "size": 9087 + "sha256": "f4c6ebe1d92d0568f805426ae1c4a6cbdd2f2365585a1328a73d2d00df864a15", + "size": 9274 }, { "url": "https://claude.com/docs/third-party/claude-desktop/foundry", "status": "success", "path": "claude/third-party/claude-desktop/foundry.md", - "sha256": "8effd05d96365a19058dee8f973b6bcf1d9a5ba80ba10ff1bb77941648bf9f0a", - "size": 23253 + "sha256": "ae393fb4e8332e55476c3ce46971d4f59d736c2504f8cc97615097ec12deaf1d", + "size": 22287 }, { "url": "https://claude.com/docs/third-party/claude-desktop/gateway", "status": "success", "path": "claude/third-party/claude-desktop/gateway.md", - "sha256": "d4193a078c30a0f412dc5ef6567f6de00d82c2d2843619257ad91219a826fe24", - "size": 59707 + "sha256": "774e3a488f46eaac6ab899fca0c6b75d869b42cc08580423fc4f3a4baaf7a98b", + "size": 54937 }, { "url": "https://claude.com/docs/third-party/claude-desktop/import", @@ -14261,8 +14289,8 @@ "url": "https://claude.com/docs/third-party/claude-desktop/installation", "status": "success", "path": "claude/third-party/claude-desktop/installation.md", - "sha256": "87466d5924ac1b7d960cdd7fd5a602c2d441c9abb0fff2a574230b115ddff6d8", - "size": 35413 + "sha256": "86b9709ee29dcded26862e86a3b19522a4cf945d9f71837e95e068375aaea387", + "size": 35400 }, { "url": "https://claude.com/docs/third-party/claude-desktop/legal", @@ -14282,8 +14310,8 @@ "url": "https://claude.com/docs/third-party/claude-desktop/mantle", "status": "success", "path": "claude/third-party/claude-desktop/mantle.md", - "sha256": "82952df869f8edee1f07932afa0f60fe8f9c6da57353e96093bbd6ca5871e123", - "size": 10483 + "sha256": "8863db2fa5554db127ad88949b69316506e83005c9828741b70c75dda4d46957", + "size": 10291 }, { "url": "https://claude.com/docs/third-party/claude-desktop/mcp-sign-in", @@ -14296,8 +14324,8 @@ "url": "https://claude.com/docs/third-party/claude-desktop/mdm", "status": "success", "path": "claude/third-party/claude-desktop/mdm.md", - "sha256": "f7a495662d5ecd50d82c8e6d7f4a3046ccf8d37dd41a5de9e3c094088ddc93be", - "size": 16073 + "sha256": "be4e44e5e9e4599c6cc26e67d5bdb11cba608dba20ff45c02cc893324d11d060", + "size": 16036 }, { "url": "https://claude.com/docs/third-party/claude-desktop/models", @@ -14324,8 +14352,8 @@ "url": "https://claude.com/docs/third-party/claude-desktop/overview", "status": "success", "path": "claude/third-party/claude-desktop/overview.md", - "sha256": "8ef2698dc16d56c03b9c9bd1864d299119dff069d5ee9aad36d6f6a48c574e33", - "size": 13941 + "sha256": "15be59fd038945303d07695ba75e3666922f388c6bdf5e1b4ac6c6c677e72b40", + "size": 14144 }, { "url": "https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions", @@ -14334,26 +14362,33 @@ "sha256": "880c5bc8aa369e93e25a585d3b9ad6f61391af7a3fa69b3bdaf6c8a12b5693ad", "size": 82787 }, + { + "url": "https://claude.com/docs/third-party/claude-desktop/status-line", + "status": "success", + "path": "claude/third-party/claude-desktop/status-line.md", + "sha256": "586aabd3e8e91e79b370fc1b51f51017522ac24bf8938ba9d9d0353d14fdee20", + "size": 9225 + }, { "url": "https://claude.com/docs/third-party/claude-desktop/telemetry", "status": "success", "path": "claude/third-party/claude-desktop/telemetry.md", - "sha256": "2ad17910741a5bc5bed7215481fd9bafb00f2323798ca4071def305b2f837808", - "size": 37748 + "sha256": "ba04b39d444eac31bab1a64a5bc5d489970f06549e1bd5167b3c2b87ad4c1bf9", + "size": 38169 }, { "url": "https://claude.com/docs/third-party/claude-desktop/unified-claude", "status": "success", "path": "claude/third-party/claude-desktop/unified-claude.md", - "sha256": "4ef4f7274fb1ae33a745d2a0bc2fe41723d845be8ba291e9105dd25f0d1872b1", - "size": 5633 + "sha256": "a2d2f213f9419c36a4fde8c87fd03b48ab5fff7ddb6c8f6e04253cb2cd142a85", + "size": 5925 }, { "url": "https://claude.com/docs/third-party/claude-desktop/vertex", "status": "success", "path": "claude/third-party/claude-desktop/vertex.md", - "sha256": "306e947ded53b04df60e302def561d53e9328a6f74b8d7b7663b223d5e8645f1", - "size": 33811 + "sha256": "0bda38836f0bf17201627671259447c5902475b52a8bcd4878160ebb75da939a", + "size": 33294 }, { "url": "https://claude.com/docs/third-party/claude-desktop/web-tools", @@ -14366,8 +14401,8 @@ "url": "https://code.claude.com/docs/en/desktop-changelog", "status": "success", "path": "en/docs/claude-code/desktop-changelog.md", - "sha256": "0b310de6ce2c508bf6df4aa01e088129f4594ba448329d0018524194a90bf5f3", - "size": 203794 + "sha256": "81c0f7405f9e932aab0d406729b8167b156062d73be6b787a00058faac6d8db0", + "size": 204911 }, { "url": "https://code.claude.com/docs/en/plugin-dependencies", @@ -14422,8 +14457,8 @@ "url": "https://code.claude.com/docs/en/slash-commands", "status": "success", "path": "en/docs/claude-code/slash-commands.md", - "sha256": "0a5e9e2e76028fe09ed4c449e0b4dc5bd9a1d641fa673a00bb6dab23eeabd31f", - "size": 118669 + "sha256": "907a9929f54ad8b730a55088108311acb9bb5677c33b1861fb2664a53ab15688", + "size": 118872 }, { "url": "https://code.claude.com/docs/en/plugins", @@ -14457,22 +14492,22 @@ "url": "https://platform.claude.com/docs/en/api/php/completions", "status": "success", "path": "en/api/php/completions.md", - "sha256": "84032b15fa36a76a09de8089bfc01a0e6e8533e846b260dd47e7743eb93d2f8a", - "size": 16610 + "sha256": "e3976db07c88f2bcc0882815722533facb8b3c15ed8aa51b9a116b4cd880123e", + "size": 16687 }, { "url": "https://platform.claude.com/docs/en/api/php/beta", "status": "success", "path": "en/api/php/beta.md", - "sha256": "0c3205a6aad3b84f846952a1a59f57e4db697fc0dc0b2a541e858dce7fc9e037", - "size": 1091295 + "sha256": "414828fe131cb6eaadcd02a51fc0fccc01a488f4596f67565db6897d2dcf8c3f", + "size": 1123567 }, { "url": "https://platform.claude.com/docs/en/api/php/models", "status": "success", "path": "en/api/php/models.md", - "sha256": "dab4056f78aba1296893a12defd1153aa723c4938290177ea3be93a05ebf2cda", - "size": 17619 + "sha256": "bc7d59fca4811110ff75367a37b108b17733ca0d635bfc629ad0a9de34376a4b", + "size": 17617 }, { "url": "https://platform.claude.com/docs/en/api/php/messages", @@ -14485,22 +14520,22 @@ "url": "https://platform.claude.com/docs/en/api/java/completions", "status": "success", "path": "en/api/java/completions.md", - "sha256": "419e148e2dc4adb987c3797e6fd71a83f2e39b1b1ff734dd3fbd6dcd655f9be0", - "size": 16611 + "sha256": "3d71ba7154331472846febb71721fda7f7ebc6480dd06b8a2e16462df1ccae3f", + "size": 16688 }, { "url": "https://platform.claude.com/docs/en/api/java/beta", "status": "success", "path": "en/api/java/beta.md", - "sha256": "8bddcc8a573e0584fad10323c7a7472ff289f8618da2e8ff2b996e12467a77fc", - "size": 3735356 + "sha256": "d4b044c0ae0970f1b180132ded0f084843f07c3e50557e3415cc3dd9ec9ce3dd", + "size": 3824442 }, { "url": "https://platform.claude.com/docs/en/api/java/models", "status": "success", "path": "en/api/java/models.md", - "sha256": "640428d861c3316fc177b2d02272625fb0d09b14bb83a78afd8fbee45b272cef", - "size": 37229 + "sha256": "19f3971f416686d2fe6bddb5ef2a36fe07def4b8407155c8729746ff7718fbfc", + "size": 37227 }, { "url": "https://platform.claude.com/docs/en/api/java/messages", @@ -14513,22 +14548,22 @@ "url": "https://platform.claude.com/docs/en/api/go/completions", "status": "success", "path": "en/api/go/completions.md", - "sha256": "9edd985cbfd849f7ce2c954279429e7aca334cdaf5da108eecca1035fde4d2c1", - "size": 16609 + "sha256": "d48a190e5277fa0619b6206cf8ac57c0178e4f936c7d6e5c27f6df665f144562", + "size": 16686 }, { "url": "https://platform.claude.com/docs/en/api/go/beta", "status": "success", "path": "en/api/go/beta.md", - "sha256": "ca20872ab8962b9a4dc8e3be055cbd5850b2ccd4869c4570b8e7fb1bad812fc9", - "size": 4167031 + "sha256": "e9ce6a20f413ef337183443c91cf3afd90be4f3c7d76635def5b0b216f02320e", + "size": 4279392 }, { "url": "https://platform.claude.com/docs/en/api/go/models", "status": "success", "path": "en/api/go/models.md", - "sha256": "8f42a4394ffc9a8b27d8fd6a117cacf36c09282c30f082eb065694435a23f2af", - "size": 37667 + "sha256": "da1ef324ac33d68d2a8ad46b326de2efe5e6ed5fb90815cadf030a7d850edf34", + "size": 37665 }, { "url": "https://platform.claude.com/docs/en/api/go/messages", @@ -14541,22 +14576,22 @@ "url": "https://platform.claude.com/docs/en/api/ruby/completions", "status": "success", "path": "en/api/ruby/completions.md", - "sha256": "c9f2d9a0da22c118a0d28a365b626d2ae26c4ef4eba4626c15ff9209e1306294", - "size": 16611 + "sha256": "d604c96fff8372df7f3491cf8e6156b8b10234031ec5e29103b25096334e7e9a", + "size": 16688 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta", "status": "success", "path": "en/api/ruby/beta.md", - "sha256": "0c5e80f9ce211c3a6b2d3613d893da74538dbf68954b6db6937ce9a7cd8ce5f1", - "size": 3515618 + "sha256": "93c9da8ce8f9a319f21711451ae6e5b933e25e1b738725420aa5d12960dde62d", + "size": 3586393 }, { "url": "https://platform.claude.com/docs/en/api/ruby/models", "status": "success", "path": "en/api/ruby/models.md", - "sha256": "2e21a504331db507fb6d9199ea86d2c2735ad0e62fb6e8c676a63311722de3eb", - "size": 35845 + "sha256": "9cfe0df15074b6863e3fe9339e17559b299f2458cae8a2d2cb6c3ebda2ef5a25", + "size": 35843 }, { "url": "https://platform.claude.com/docs/en/api/ruby/messages", @@ -14569,22 +14604,22 @@ "url": "https://platform.claude.com/docs/en/api/csharp/completions", "status": "success", "path": "en/api/csharp/completions.md", - "sha256": "a92f9cd29c9d63d5ec00ede394ac6e547dc65df0043b80967a6bcff37bf107c9", - "size": 16613 + "sha256": "01139b23a00f703b9e2f9bd7018ede9c39a347a1f635e5a6b0383c1382df179b", + "size": 16690 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta", "status": "success", "path": "en/api/csharp/beta.md", - "sha256": "95c05751eda9ac450b8f45e747feebcf253b594d0607c01ab2c573a8db958c7f", - "size": 3664215 + "sha256": "bd082e1a484d1ef8d992bbf11e8bcda1a88ad9bce9398d41f5a7272cff4ab83d", + "size": 3751343 }, { "url": "https://platform.claude.com/docs/en/api/csharp/models", "status": "success", "path": "en/api/csharp/models.md", - "sha256": "e6a8563043804b3242357b9ce5a8316c03a4ee492db5c2313e6c7a25518e6539", - "size": 37788 + "sha256": "375b489a0075122ca75395ca7ae141627a4164550ecba39b6b391d08e47fe29d", + "size": 37786 }, { "url": "https://platform.claude.com/docs/en/api/csharp/messages", @@ -14597,22 +14632,22 @@ "url": "https://platform.claude.com/docs/en/api/python/completions", "status": "success", "path": "en/api/python/completions.md", - "sha256": "2ec219a868877fce510b111ac5164de7ad8e02106def8d8e28acf5bb39505ebf", - "size": 16613 + "sha256": "ff30ffbee5b4f1b6244d5395e5fdd1818965b80ac8b7e24f15f654712637f192", + "size": 16690 }, { "url": "https://platform.claude.com/docs/en/api/python/beta", "status": "success", "path": "en/api/python/beta.md", - "sha256": "8d69c3179e525c1b0cb4305a1c84b6182179176625779b915d8a80933111d970", - "size": 3407444 + "sha256": "23785ee5c11d2eed2900bceb365bcd4cf888df1c84eced3197eb8325ba054496", + "size": 3478724 }, { "url": "https://platform.claude.com/docs/en/api/python/models", "status": "success", "path": "en/api/python/models.md", - "sha256": "f56dd337e42b99abecbc7216c6ddcb7afd286efbd1355f97921da3ab38e598de", - "size": 36716 + "sha256": "d81b098ffb37078588c59a5c4c40286c84791ff6122f73cbe748f1019cf4abbe", + "size": 36714 }, { "url": "https://platform.claude.com/docs/en/api/python/messages", @@ -14625,22 +14660,22 @@ "url": "https://platform.claude.com/docs/en/api/cli/completions", "status": "success", "path": "en/api/cli/completions.md", - "sha256": "f8e31a0353be640b1aaabe1d43d65fafdaebfbdfba59aa77c9834f3f90b82bed", - "size": 16610 + "sha256": "41a6d7a05cfdd95c1a1d0cec8cf1c5e7385528dfc023da3c9238c2e344e91ddc", + "size": 16687 }, { "url": "https://platform.claude.com/docs/en/api/cli/beta", "status": "success", "path": "en/api/cli/beta.md", - "sha256": "178709c92bf223e8ae79af29ecff8de2aac4d9196591f6629ad8f716dbddda52", - "size": 2563734 + "sha256": "038db21fbb8b5297ae12753288f0493dbfd7a8d037e22b9eb85d845d602d62f0", + "size": 2616190 }, { "url": "https://platform.claude.com/docs/en/api/cli/models", "status": "success", "path": "en/api/cli/models.md", - "sha256": "3624f39a11d0158ce54ec4a318c1341ea0a85c3feffaa10df11ea5c69db59518", - "size": 43297 + "sha256": "9d76e27ed9b244cbd454d58c902baa78a210101f4c2ca6cf467186e96f9b7868", + "size": 43295 }, { "url": "https://platform.claude.com/docs/en/api/cli/messages", @@ -14653,22 +14688,22 @@ "url": "https://platform.claude.com/docs/en/api/typescript/completions", "status": "success", "path": "en/api/typescript/completions.md", - "sha256": "37bd37b5e6c65308f8d69d7a360e63be24075dc33383c9fecde69c2f88e8e803", - "size": 16617 + "sha256": "6dd063b79efa8673d0507b069d7b224ddc4981db9e16ac42ac6fa07e9589347a", + "size": 16694 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta", "status": "success", "path": "en/api/typescript/beta.md", - "sha256": "fd0868c6b5cc8578c153cbee2d27c37ab26905635f403dab1cdb173ee31ff0ee", - "size": 3513669 + "sha256": "b0cbebf5853bdbc8580bf0e520ca8525694358a2e128cd481fc029261a9d8be1", + "size": 3586374 }, { "url": "https://platform.claude.com/docs/en/api/typescript/models", "status": "success", "path": "en/api/typescript/models.md", - "sha256": "70a146b00e33f8a603c746138eaa4253099857f2200c2d689bf9f62fb03ba130", - "size": 36839 + "sha256": "b84415ac3191363e9f706511aac9ded87c8a5b4047aea3b63850a4aeb19deadf", + "size": 36837 }, { "url": "https://platform.claude.com/docs/en/api/typescript/messages", @@ -14681,8 +14716,8 @@ "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs", "status": "success", "path": "en/api/typescript/beta/deployment_runs.md", - "sha256": "455c4652abae25c07ab64b2ce1df256d90a088dce3f41c5b64dd0a295b45bd6d", - "size": 32964 + "sha256": "5ac37088439417499a63c3591dd21634feea88b1b07c861725dfc6a7877ded7a", + "size": 33126 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/webhooks", @@ -14695,85 +14730,85 @@ "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments", "status": "success", "path": "en/api/typescript/beta/deployments.md", - "sha256": "2024d948a6d644aa0cd7f83d0cde34593cc52d2c3bcbcd22e97abe11332b65e8", - "size": 225343 + "sha256": "539de81e18efc248339acab69443d9b79d2156e52aeb2340b078237e5a30ca6f", + "size": 225991 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles", "status": "success", "path": "en/api/typescript/beta/user_profiles.md", - "sha256": "2ab4c15fa105f3562ae486e54e7e5832951144f93ab1f74857423a72694b65ef", - "size": 67145 + "sha256": "eaafad1d852b8ec29fd61b0351310f811cc8d1f63088c2b0ed5884a986f7052a", + "size": 67712 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents", "status": "success", "path": "en/api/typescript/beta/agents.md", - "sha256": "35609c7ceea6edb7a6c306219282ed6aa597007ddcb63ca86c2a974635e88f76", - "size": 470449 + "sha256": "d9c665e149e3916a78610452bb7f8d5d9bdf50a964ce4e947efa3ff67e7a0ae1", + "size": 470935 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/files", "status": "success", "path": "en/api/typescript/beta/files.md", - "sha256": "e97c5ca879732f70ab17d46cc66376ad7d132756e0e03f5f0a27a328a0e0303b", - "size": 23676 + "sha256": "d0dd3a043bb160e8d5eaf9bbc3180e01956b64d63dd79ae55600bb8996cfa226", + "size": 24081 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults", "status": "success", "path": "en/api/typescript/beta/vaults.md", - "sha256": "4c3a448ac660f947002f07f4944f9c6b3e8955bdc71b46147c5e64559b1b874a", - "size": 89004 + "sha256": "1651b7d1aad29bbd27be2c597eda9e4caceeb229b5825fe9f3906fbdd68a22d7", + "size": 90057 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills", "status": "success", "path": "en/api/typescript/beta/skills.md", - "sha256": "a6e0ae9b4227e35b0d788b25a3601abd2213e549a960b4ed6a57be8994eef409", - "size": 43794 + "sha256": "170b8b2e77b18d44c894cf3ebee108fa14c5290f4ece877ac3366d3b3349fc3d", + "size": 44523 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels", "status": "success", "path": "en/api/typescript/beta/tunnels.md", - "sha256": "a948c60a3b8ee961d5b2d19d9968b654d0e7109b4f9ded424f581ec8f61cd152", - "size": 47566 + "sha256": "9f1104f450e363fb2492bb1168725e85ea42aeadcb8e170672576dd2cc0cf284", + "size": 48376 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments", "status": "success", "path": "en/api/typescript/beta/environments.md", - "sha256": "3030c2985cfbb8c8e8bfc0247ac89fd70586face09522159b32484090c35b559", - "size": 97821 + "sha256": "061b63c5f3c8ed41bbebeab194513d5b494b3f8b48c91946abb98d23e8710efe", + "size": 98955 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/models", "status": "success", "path": "en/api/typescript/beta/models.md", - "sha256": "1e367b1b8adfeac9c3be9ea92f2da35da95bc38c40d5829f7e40488b3453448c", - "size": 44694 + "sha256": "beaf427ce93e3964f978735170b126de740213696eff6cc7c2fe341f483aacd2", + "size": 44854 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions", "status": "success", "path": "en/api/typescript/beta/sessions.md", - "sha256": "2deaa7b688005a8a2f3487d4c012b5002caf9246971b91861ffedfaa6c79e88b", - "size": 1224813 + "sha256": "d86d8666788b3ce0e661f7a9dcc444051565b8adb8c36ca6156e0e4157a47106", + "size": 1226352 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores", "status": "success", "path": "en/api/typescript/beta/memory_stores.md", - "sha256": "5afd8dad933ec95784c59b1a5c4fa3985142afaad0c7c0623aa5d0b5102cc684", - "size": 103778 + "sha256": "1dbc6f9bbe654cbf5f2ee5cd836860a73b0b8bb7a35c664d19a2ded65d564731", + "size": 104912 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages", "status": "success", "path": "en/api/typescript/beta/messages.md", - "sha256": "9cb5741561b257fc4d4cadca5fc06b9961ab3716d612af99a4debeac002166e4", - "size": 3399114 + "sha256": "fc5a365f2b60120fa5c6c7a3b548b760d8112c32f9e781a8477bf534cda5a696", + "size": 3402426 }, { "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches", @@ -14800,22 +14835,22 @@ "url": "https://platform.claude.com/docs/en/api/typescript/models/list", "status": "success", "path": "en/api/typescript/models/list.md", - "sha256": "7fce91e2b0c7af514c9de41118a6ef1ab8dece7e1adaf5b206bdf0d4ea36b891", - "size": 10935 + "sha256": "1d7e27ccdd7b8649c9b24463c7fd222abf31876a2e8c02e53a424c97f3281eb8", + "size": 10934 }, { "url": "https://platform.claude.com/docs/en/api/typescript/models/retrieve", "status": "success", "path": "en/api/typescript/models/retrieve.md", - "sha256": "33bb2a6ae8cf2923aa5fee35a83c752d7cffcc1368049c1d8cef1367f9696b7f", - "size": 9591 + "sha256": "eb71224965689182365532d0879fddd0956188305d2196bae7d8aa92a0170b1b", + "size": 9590 }, { "url": "https://platform.claude.com/docs/en/api/typescript/completions/create", "status": "success", "path": "en/api/typescript/completions/create.md", - "sha256": "e6f941f0470d1f5d860fd61a80e04bbbbac8496abf64ca46a255b1b912af3d68", - "size": 13314 + "sha256": "15a6d7fb05b5c02460b2ef88d97fae4fc60cfbc3f59485a540e86150fa09d737", + "size": 13391 }, { "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/cancel", @@ -14863,890 +14898,890 @@ "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches", "status": "success", "path": "en/api/typescript/beta/messages/batches.md", - "sha256": "1b3c4005c7fcca95297efdb8e88e79650a3da8ca6e324c9626f392ab1bcb5967", - "size": 810360 + "sha256": "18f11f734346db2c214916608e54c6156ebc5b006ce855138d220c122b0a675b", + "size": 811607 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/count_tokens", "status": "success", "path": "en/api/typescript/beta/messages/count_tokens.md", - "sha256": "669835940402e1fd76f2a0efce60e6ed8fcf85a47ba312c9d4432284c9690911", - "size": 153489 + "sha256": "3c9ef63076f9c7b5822c9f301657689131e80ef931d05c82f51173a7d552923d", + "size": 153570 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/create", "status": "success", "path": "en/api/typescript/beta/messages/create.md", - "sha256": "08de26f7867e5df6caa71287b211af0e655d07ab23465027dea302f469dee87a", - "size": 316048 + "sha256": "267b78997070468697671a23d47e81064d30c214c9754a071d38839ef8117be5", + "size": 316850 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/list", "status": "success", "path": "en/api/typescript/beta/user_profiles/list.md", - "sha256": "293ad5098e1a17bfba5a8861b0b96d4a344a83888d055c25f446045f0a5ff170", - "size": 10158 + "sha256": "1b4ef27ccc96c4df231927cc532ecd4e0654c05641c3444a899bfb5f8f8baa92", + "size": 10239 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/retrieve", "status": "success", "path": "en/api/typescript/beta/user_profiles/retrieve.md", - "sha256": "94ba576616e23fa34a60c74069c55106a77d052c139a18236776d6daa3fc34f3", - "size": 8989 + "sha256": "98a586019a03f29aa0f39fd4dc5684b08eee4ab4d4b973677474f2bc4ba596a3", + "size": 9070 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/update", "status": "success", "path": "en/api/typescript/beta/user_profiles/update.md", - "sha256": "d9cf1c77216ddd81644b5c1f2f1b78d9136304b65a336da369dca9465647f450", - "size": 13211 + "sha256": "13cf43f87b9880f4390706b143843e2723ec6ccc914540b57cbd882fb6940f29", + "size": 13292 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/create", "status": "success", "path": "en/api/typescript/beta/user_profiles/create.md", - "sha256": "98392f357e03039568f9782ae6f72e4889e87b33cdfbc40d0070a6c50518b404", - "size": 13357 + "sha256": "7fd807338b2356d69aa1849ff7caa84228545a0200d938089907cf885b925424", + "size": 13438 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/create_enrollment_url", "status": "success", "path": "en/api/typescript/beta/user_profiles/create_enrollment_url.md", - "sha256": "f5c947cf7d5ad682fb327d6ec88f564f439ea287c36225b52edb3ad7ad02053c", - "size": 4031 + "sha256": "ef6c2b98944acd1ce8e0c0f4dfd2df4b937968b667d8a8227ae674a83ca91d13", + "size": 4112 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/list", "status": "success", "path": "en/api/typescript/beta/agents/list.md", - "sha256": "be8126cffb4fd88ddc1ef1d041e369275912d7fb53580f39090328b0aacc848e", - "size": 31553 + "sha256": "5e99c3b010ca7ff28974666629cca929e617e382a8e3dbf494398dfc1b9d59be", + "size": 31634 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/retrieve", "status": "success", "path": "en/api/typescript/beta/agents/retrieve.md", - "sha256": "c50957166fa3615019985604f11d0edfcd3532f52039958d1ac3a54a8abf8dff", - "size": 30749 + "sha256": "0bbab788a9b63c8fb9904a2bd01c8765ae21846a349eacfa5ce703368f937a12", + "size": 30830 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/update", "status": "success", "path": "en/api/typescript/beta/agents/update.md", - "sha256": "7cc37944650754619a6fa38d18e3d420127fa786bc08836cb7db6b3fb7e86e51", - "size": 68239 + "sha256": "218fdeaf6a0dba82d908805bee4c75b4f08b81fcda18ac537b60b2e7fb505040", + "size": 68320 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/create", "status": "success", "path": "en/api/typescript/beta/agents/create.md", - "sha256": "a3d8b8920182eda49fc7e2be3f0eb146b8a944eddadf2c86e8d847bcd1d567dc", - "size": 67278 + "sha256": "7203a0b7edc350304a37eabb16ce54a4af2e21c4554bb4125d9c2aa79de56150", + "size": 67359 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/archive", "status": "success", "path": "en/api/typescript/beta/agents/archive.md", - "sha256": "ebd4e9404d36371cb0040a2a895c3519281a9a999f0819d80ead418a382f5b45", - "size": 30617 + "sha256": "f721ef36d333d762e4bbe6a006ebb0b548b29048f7cd2a65532c985039519366", + "size": 30698 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/versions", "status": "success", "path": "en/api/typescript/beta/agents/versions.md", - "sha256": "8bc5f065b845a0ac757904bd96527d891a165831c44007a173220470a7cfdf38", - "size": 31332 + "sha256": "3686fc1675115afcdb1425b9d5d6f216ac50e1033c89cbf036b11ab336473ca5", + "size": 31413 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/list", "status": "success", "path": "en/api/typescript/beta/memory_stores/list.md", - "sha256": "12aa4a2b3745ba0702e6ba12742cc0ae43ee89e40c17047e9f092293f80eca72", - "size": 6375 + "sha256": "f65859606de293b249a0ce5760adab73434d670dbb07a6e79fea525fc32430be", + "size": 6456 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories", "status": "success", "path": "en/api/typescript/beta/memory_stores/memories.md", - "sha256": "fbb59bf467d46a5bd629161ade4dde7badc765078bd54409874efa5f2a06fdd8", - "size": 50905 + "sha256": "a2a9ffa7d798d9e6ae8c301104d18604c84ff8cb9409401633095ee3356dd65e", + "size": 51310 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/retrieve", "status": "success", "path": "en/api/typescript/beta/memory_stores/retrieve.md", - "sha256": "859f523473c0ce2076cc7c565fc625e6f2de692790dacf8af068ee80da9edf2e", - "size": 5586 + "sha256": "01080fd8d78206e469d177d5a282d17fbacad6b772da587d18d26281d9af20a3", + "size": 5667 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/update", "status": "success", "path": "en/api/typescript/beta/memory_stores/update.md", - "sha256": "d840974ade52b2c22f6b37b46d43ab2c9a4b45ec94f242517cfe5556deaf5db4", - "size": 6402 + "sha256": "69e392316d68395d9b439ca6b892c179411b61991a2c7905ded668911589f07c", + "size": 6483 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions", "status": "success", "path": "en/api/typescript/beta/memory_stores/memory_versions.md", - "sha256": "ef38d0894b93eeeefba6d7422ff83fd0932bcf8459b094f1551756bfa963c7c5", - "size": 41592 + "sha256": "ce45e74ec7430a54d8ae96ab499aa3ab51b52a0221e54973aa4295525df99d6f", + "size": 41835 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/delete", "status": "success", "path": "en/api/typescript/beta/memory_stores/delete.md", - "sha256": "03e7fe48fbd9864072a4f64ba5350d81e6798726940f3e86c19061fbb25e8970", - "size": 3854 + "sha256": "fd2350294761d373f2cdab38da02a39f511dcdd473694b5288e9a9fb8ccdaf88", + "size": 3935 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/create", "status": "success", "path": "en/api/typescript/beta/memory_stores/create.md", - "sha256": "42d28aeaf113b4589b0a663cc00c5acac6e961b4fdcedd27390f2ca3bc8f4b04", - "size": 6568 + "sha256": "51df3c13500aa41e3240b5e0daaee175736bd3531a011a5c48abb5371dbd5913", + "size": 6649 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/archive", "status": "success", "path": "en/api/typescript/beta/memory_stores/archive.md", - "sha256": "f01bebc7b06f5944c4619523f640e6dc5c6fe166cdc1cb6c4bb7d8105c240b46", - "size": 5678 + "sha256": "f8c9105c48a4c81dd780f1515dc478dae990189e04faaf2e6e67ff253087eca1", + "size": 5759 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/models/list", "status": "success", "path": "en/api/typescript/beta/models/list.md", - "sha256": "9c3dcce65d595bfa863e2126152ae56bf2b5eb030d8c8790bba22054c4346403", - "size": 13977 + "sha256": "b4c0b9586a504801e660294e2880ac51765bc86de2217318dcca805c4e8e6d1b", + "size": 14057 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/models/retrieve", "status": "success", "path": "en/api/typescript/beta/models/retrieve.md", - "sha256": "ccecf76e244bab3688c5bb29ae407a521f851269b27996ade7325215e8779118", - "size": 12597 + "sha256": "0c1d32f55d1ff0c37e74d261ba7d298e49111025c0d0123db13d62d809f1626e", + "size": 12677 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/list", "status": "success", "path": "en/api/typescript/beta/sessions/list.md", - "sha256": "20b948057dd2c9606641bdc5ec7d15ea1e490631796959e458fbdc527e3bba1c", - "size": 49511 + "sha256": "4df6278984046f6294c60697e1deac7cb3d5367375408286c24f5939f15c31dc", + "size": 49592 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/retrieve", "status": "success", "path": "en/api/typescript/beta/sessions/retrieve.md", - "sha256": "bf36beec8131e1521ae191d39d5ec9e8b538c9fcfd2173994c9a24858a347519", - "size": 46595 + "sha256": "71efd891d08060fd32a9cab1a81f3a831402d7dba66c4bb2beda6a4d3a9bb4ac", + "size": 46676 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/update", "status": "success", "path": "en/api/typescript/beta/sessions/update.md", - "sha256": "b79ffb597816df2c2aa4e0f5495d2d51d50d0fa244bf62b1a75043a9f13a3834", - "size": 71771 + "sha256": "4595f14cb4971f8198d76ad562f42dffd6e101215b8ac0c08d72a8dcc1b77de4", + "size": 71852 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources", "status": "success", "path": "en/api/typescript/beta/sessions/resources.md", - "sha256": "5b25050b3e48c3efdb130c83456c5b9d588e089fc3c0a387b3d5b3f20210a8aa", - "size": 37407 + "sha256": "d54d43e2ea78f1e754302afe008a333d7e0ef058a17d72cccce6fcd4e7f0c8dd", + "size": 37812 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads", "status": "success", "path": "en/api/typescript/beta/sessions/threads.md", - "sha256": "e62ead5c557eb79f3d5cc3a255046aebe75f2569cab5e63a70e4cdf8ac23a3bd", - "size": 456601 + "sha256": "e534173005d7987facdd041504b510362b280110cc11c63c678a26471ad9bd10", + "size": 457006 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/delete", "status": "success", "path": "en/api/typescript/beta/sessions/delete.md", - "sha256": "7946ddf0a1e3a3788f8711b2a8532ad6de52b1a07488c5a580708273ecb976e4", - "size": 3509 + "sha256": "c861025c06c8a6bb6753a2282db449196e45a0fb3555bf568f5ed8470038755f", + "size": 3590 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/create", "status": "success", "path": "en/api/typescript/beta/sessions/create.md", - "sha256": "de84e5dea9a442358e864f97b07fde2013e328d39df3be5446502e297e7cedd1", - "size": 87121 + "sha256": "5fa81a21c58ab810725b235fc37592d558a73ce728a158e71fe884507bda1140", + "size": 87202 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events", "status": "success", "path": "en/api/typescript/beta/sessions/events.md", - "sha256": "d0c5a5398260e84ab55507fc998d98ac92ee7da68627fdf6d51dc3ef745177bc", - "size": 588289 + "sha256": "b5ba6739153709404ff2eac11741c362e9c5b7f4b4e63a0a6b0a686d8943d26c", + "size": 588532 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/archive", "status": "success", "path": "en/api/typescript/beta/sessions/archive.md", - "sha256": "843cd92b712774be3b91b290c43275d43dc44e3ea685774cc92812c99c856751", - "size": 46612 + "sha256": "80f2644d54ad5c20c31b9291f9ebdbeb04b65c2d372d51ccac3adc91697fe80b", + "size": 46693 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs/list", "status": "success", "path": "en/api/typescript/beta/deployment_runs/list.md", - "sha256": "82ae4cfa0416fc06d3faf524bb51461bdec12786a20d54b4b6511cbca8e8b857", - "size": 11188 + "sha256": "1c3dcb11fd12f4c3717973bffd1a2e3906a55328a03f66a4d91945200986fca1", + "size": 11269 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs/retrieve", "status": "success", "path": "en/api/typescript/beta/deployment_runs/retrieve.md", - "sha256": "0a8ac4aa67e176e3e4eb89e7246e72fb121aa32be8ed81cb0c19e10fc7b657ad", - "size": 9645 + "sha256": "ad873b4e640b15c5fe66edad053f07352733a3e82a4fa7dd3d390175ef4bae4f", + "size": 9726 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/list", "status": "success", "path": "en/api/typescript/beta/deployments/list.md", - "sha256": "69834a2af1afe5630a73e46d1e4ce4f7ad69055482ee5b915dbf9255062bcc03", - "size": 21109 + "sha256": "ce16202398329cc7711e0915d77a243eda98079e7ed421ad1c8fea2afea0d407", + "size": 21190 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/retrieve", "status": "success", "path": "en/api/typescript/beta/deployments/retrieve.md", - "sha256": "20079a5ea5575373ef93d275c25a59e72b6296e6ec4b95c21232700870c8db5f", - "size": 19705 + "sha256": "1c57c9bc7d72b7494696cc25e374e9cf50838c7d67edd5e6d05cc51e14412e25", + "size": 19786 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/update", "status": "success", "path": "en/api/typescript/beta/deployments/update.md", - "sha256": "d3a1a1ce84325aafaa2c5d81f65dba652168862fd7f27c6f438a5ca8c78cf19c", - "size": 31456 + "sha256": "f5b4d0a9dec5ed30eb6a0b86330256b8280c3b2215b61dee4c1f1c53d87aeb50", + "size": 31537 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/pause", "status": "success", "path": "en/api/typescript/beta/deployments/pause.md", - "sha256": "59970477c978170d719d18ab3687a7cb7fef263f10bad1bae91c0e7ae8aaf8f4", - "size": 19715 + "sha256": "53a09e9ae7a0ffe16139818c730cfd018b1c9a1d4b3ea489e2667b7c4470de8e", + "size": 19796 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/run", "status": "success", "path": "en/api/typescript/beta/deployments/run.md", - "sha256": "6858af7749019383456eb4a6ea453335d5634ef372884cd8dd9d9cb4a4d0d898", - "size": 9618 + "sha256": "731f1ddee57f1401c7de349354a93497fe1bcbd65bb5671ea59e343ad65c2961", + "size": 9699 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/unpause", "status": "success", "path": "en/api/typescript/beta/deployments/unpause.md", - "sha256": "7419b50a62ba072e474baf68f4aba3b0c0e0992a0c3b263169ccc91b51faaadb", - "size": 19733 + "sha256": "b3c8c9226e4699133d7d27429c924f404af687dd7feb914ff308eaa799389da6", + "size": 19814 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/create", "status": "success", "path": "en/api/typescript/beta/deployments/create.md", - "sha256": "012eff81b6863fedce64a91616bbd9e8931402afb980c2525fd6f51079f09c22", - "size": 31381 + "sha256": "22955cb7fd0d2cab0ed1f78cef885e7b950712fa6e1ad55d1836ad88cef4eea4", + "size": 31462 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/archive", "status": "success", "path": "en/api/typescript/beta/deployments/archive.md", - "sha256": "772ff577cd63c171b0b667482b08a347f4540dab7493a6a34727758fd9183516", - "size": 19733 + "sha256": "f23ec6ecd283330af315c822a3330a6e8bb9025757c44380f893e685aebaa69b", + "size": 19814 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/list", "status": "success", "path": "en/api/typescript/beta/vaults/list.md", - "sha256": "f9813ecff441a9b4b7c90f3d07805909d8797c493793bf330ef24cac36a327f4", - "size": 4714 + "sha256": "7c64dffe5b90bcd3d9ed47bd54c5d59479a6f24d2830ec8a319c9287137ca685", + "size": 4795 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/retrieve", "status": "success", "path": "en/api/typescript/beta/vaults/retrieve.md", - "sha256": "b052719e663b8e31083dabe3296aa9c7d610242adcb2d9e7018fa479c55ff0af", - "size": 4184 + "sha256": "7a9681e77bbc1f407878c0ad448501d5014b86cc498518c5cd6ba02025351eee", + "size": 4265 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/update", "status": "success", "path": "en/api/typescript/beta/vaults/update.md", - "sha256": "5ba5ca96dc23eaed6db60b2e3a1015d324248d0ceec94eaf9dfc8e3cefc9f489", - "size": 4465 + "sha256": "518515481f78d239c986d3a79f594f8e1c156a7b2ef48f2e3f9accfa81f8d036", + "size": 4546 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials", "status": "success", "path": "en/api/typescript/beta/vaults/credentials.md", - "sha256": "1dcfbfc31c59582452c72412bbce030b6c2e923e7d967a8f173c65ae0b1187d4", - "size": 97826 + "sha256": "7d3456900a9bd7ab1d4ca00357b4d1bd7b71cd33d657b644121f6126602601fb", + "size": 98393 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/delete", "status": "success", "path": "en/api/typescript/beta/vaults/delete.md", - "sha256": "d5dd93bfa0fa9ab7a19be2264edca82432a231622383b57323593625aa19c998", - "size": 3550 + "sha256": "7aaabcdd988ef931c458918792dc4868a8173d03beb5fc605460071a0e5da3ee", + "size": 3631 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/create", "status": "success", "path": "en/api/typescript/beta/vaults/create.md", - "sha256": "539c87558f969bc324ba0683cb00d39e389266235fa27b35d2245298ff7a90a5", - "size": 4348 + "sha256": "b4e8f00c8110db9c7e0261adf31727b3b743b4c86ed807f176fe1afbfdffd68b", + "size": 4429 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/archive", "status": "success", "path": "en/api/typescript/beta/vaults/archive.md", - "sha256": "379e8d9b1ad73216058b3ce03bf9a9947b260c04f60daa3f68434b4e41827236", - "size": 4185 + "sha256": "9fd62c174a8f2877bd21ae07a2f655eae4765d0e3a90be5ce11c886b0f6ee9bb", + "size": 4266 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/list", "status": "success", "path": "en/api/typescript/beta/environments/list.md", - "sha256": "ce1c3b63676e57c1dcc8de98a3074fe0804b8b857595e58a65f7c1bbc46bdb11", - "size": 7586 + "sha256": "96d6d9868f4b987f799bfef9b0817f682647be474c3aafb0ee52a8bbd24eff24", + "size": 7667 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/retrieve", "status": "success", "path": "en/api/typescript/beta/environments/retrieve.md", - "sha256": "794493313997fd1b1790adc9241ae67cacaa1151b994ad79825bde4e166a0131", - "size": 7007 + "sha256": "03e91f6aae5aab0b7fd84a098d5785c78ff2e1130e883b43c9b8cfb95cf4abc7", + "size": 7088 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/update", "status": "success", "path": "en/api/typescript/beta/environments/update.md", - "sha256": "d17c45ebf4c31c1859482b9990a8f14b9cf72476b9af9f56ff631f1bade2b1e5", - "size": 10184 + "sha256": "2bd03463faef3f3f7a9adb6cf491be0b8acc4d5b55fb80eaf594ee105b57242e", + "size": 10265 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/delete", "status": "success", "path": "en/api/typescript/beta/environments/delete.md", - "sha256": "e03ebfb46cef12b2edb6f425374ac64962585007a5b2d57728d90ae83db3bafe", - "size": 3644 + "sha256": "43c4c87ab09213033745adea2822b1a4e7cc46be327092646e1116cd9dc6a1ff", + "size": 3725 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work", "status": "success", "path": "en/api/typescript/beta/environments/work.md", - "sha256": "abb6b35c661323850b5b2b8b0a4c67842c02a2c4c2a3e206fffa5ee2e0acb27e", - "size": 48837 + "sha256": "7326b8abddc1be4c17569cf20e07202c2295be47cf6d57eae857bc73e8e45722", + "size": 49485 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/create", "status": "success", "path": "en/api/typescript/beta/environments/create.md", - "sha256": "8bbd33d7aaeb39e6f599b27cfdd2ea824c89e085496fff8310761ef2d098cea9", - "size": 10091 + "sha256": "9987a1777e57a287002b630631bc02c718627b61b253f0729aeb39f499adaae3", + "size": 10172 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/archive", "status": "success", "path": "en/api/typescript/beta/environments/archive.md", - "sha256": "362fc9e3f81a3d01ff7f2f6a0d39764f793717fad2c5f5bf430d14792d436585", - "size": 7068 + "sha256": "a84a6e6b933dc7e086e91296203ccc4ccf82f254fee7838ccde57e1441f7d03a", + "size": 7149 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/list", "status": "success", "path": "en/api/typescript/beta/skills/list.md", - "sha256": "d96baeff666e6dd716419405a3b3a2d090470c7868528e5ed2318d38a353ff9e", - "size": 5780 + "sha256": "699801235d485ffdece075519027af5364e910a190dbb8cf0e68e76afe3f4750", + "size": 5861 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/retrieve", "status": "success", "path": "en/api/typescript/beta/skills/retrieve.md", - "sha256": "32b1980adf8cac84a36226b3b726b94c1a1abcde6c4ec8b8e0e69061c9e35e4b", - "size": 5154 + "sha256": "a31231196dcbde1c87d0d499c8b12f32906880cbe153b5a50890ddca4d6d31fd", + "size": 5235 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/delete", "status": "success", "path": "en/api/typescript/beta/skills/delete.md", - "sha256": "867f0b5ef22916d7a185e694a0ed71064d10c52cf4b05e4bb173e1c1ac0ab5f0", - "size": 3602 + "sha256": "aef0585d0bd99dc3eceb4a54473df711fb4bc0cab96fa247e71e62d68fbf1288", + "size": 3683 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/create", "status": "success", "path": "en/api/typescript/beta/skills/create.md", - "sha256": "4ff8288cbbd86fba24adb539b7b403b6eeb296e81d099477f89b19272bd2205e", - "size": 5451 + "sha256": "514baf3d6292171eb8608246793da6c8aab905eaa5e052fe3d8e39e371266282", + "size": 5532 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions", "status": "success", "path": "en/api/typescript/beta/skills/versions.md", - "sha256": "1067b79f0a107e883f2c0c6ef258a03918e40e2f07d2027000f86327d90efda3", - "size": 23046 + "sha256": "bdbd5051fca3a9d2cd9646152a7938290c59dee2b5bc3338fc349e01c4a799cf", + "size": 23451 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates", "status": "success", "path": "en/api/typescript/beta/tunnels/certificates.md", - "sha256": "a5b162622fe157d18b15e9852c4f6036ff49938d9030a602741e5a525729c138", - "size": 20869 + "sha256": "c2c5aa6e70b87492bd0449a782e560d84c11dd1afc3334280d46f3f03bf32dfb", + "size": 21193 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/list", "status": "success", "path": "en/api/typescript/beta/tunnels/list.md", - "sha256": "b8f74c150696a08223390a8d5d20deb457076a064c99ac63bde38ff4d76e2c71", - "size": 4943 + "sha256": "80d1c61592d5f9ef6335c008e3115e7ec0c73ddce23d982b8536fa202f89f1de", + "size": 5024 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/retrieve", "status": "success", "path": "en/api/typescript/beta/tunnels/retrieve.md", - "sha256": "e4effb475e8f79060230dc68d1189d8364473e00fdf9ac1a25534d9d8b29bebc", - "size": 4427 + "sha256": "d6034d1d86446269c8d4517621e3c4cd20e349b2114766e5d759f06d29c5b6a2", + "size": 4508 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/rotate_token", "status": "success", "path": "en/api/typescript/beta/tunnels/rotate_token.md", - "sha256": "51aa484f4b5ad711456786b039359fe56986f258cad1299ed17b1a4258d5d251", - "size": 4239 + "sha256": "a0794cc31002ffa90c1b69bfaf2501f2dbeb2305158e571b1ca9f75191a06b9b", + "size": 4320 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/create", "status": "success", "path": "en/api/typescript/beta/tunnels/create.md", - "sha256": "26c26be6718044a1046fc90772ed28467f641754f8556ad735f5128042f7ab1b", - "size": 4617 + "sha256": "8552c5a0aecb91e79a5e222644f055ae7b94cf3d5af4dae6aa09c361613be1a9", + "size": 4698 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/archive", "status": "success", "path": "en/api/typescript/beta/tunnels/archive.md", - "sha256": "5bbbab3b5b458186d57582ad36cd0a7cd221645bba33ff29a3309f8238ed8d6b", - "size": 4709 + "sha256": "c055a7fd48eb68ffa3e0f73ff6e5266998e520f5e058196f258a6f1570d932b7", + "size": 4790 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/reveal_token", "status": "success", "path": "en/api/typescript/beta/tunnels/reveal_token.md", - "sha256": "026de85b6a79a84895fd8e0fa5987b9283d83853bff4ff592eb5e364c99e9882", - "size": 4140 + "sha256": "f47fcb5b381c8504ecfac865a394f4c2ddfbfce8fa2b98eb63d913f0430d1c08", + "size": 4221 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/upload", "status": "success", "path": "en/api/typescript/beta/files/upload.md", - "sha256": "14ec2ccde36b5c5c329a02677db9b45b11fd6722af3c3e7cb8cba21a7f357544", - "size": 5213 + "sha256": "6618d50678b64f46bbb79e5663f201ec4e5a501131312ae705ca80d81a2c0b5c", + "size": 5294 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/list", "status": "success", "path": "en/api/typescript/beta/files/list.md", - "sha256": "0da22168bda6c5341ab291c11152c4723f2de7fb69ac182313cd731ef189a6db", - "size": 5648 + "sha256": "6b59ace07fc7d8f5abcfda5bd4abb832b4ac0616174554b5713e67c7fe48f82e", + "size": 5729 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/retrieve_metadata", "status": "success", "path": "en/api/typescript/beta/files/retrieve_metadata.md", - "sha256": "f3defedbad4cff557a54807e9ce60eb508ab7fc1b8ac28046f819ed73e06f291", - "size": 4806 + "sha256": "8129bbc3fb3943d180246d220abd2e8e1bc6478994c3761c29a8eaed29abd397", + "size": 4887 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/delete", "status": "success", "path": "en/api/typescript/beta/files/delete.md", - "sha256": "83de44409c9298ae131210c1b8b72fac3a987880d1ebe9fe757059c7b8a296c7", - "size": 3451 + "sha256": "d40babc2dad929a03fb88edb31f35bab9e26011c9cc809d56b0dff38c2ba78a7", + "size": 3532 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/download", "status": "success", "path": "en/api/typescript/beta/files/download.md", - "sha256": "a3e356e25c9d77a16951f4b2d5ee6238d272cdf6d026a8a5a9222a6267d8be9e", - "size": 3226 + "sha256": "8979f66794c7065fe817f0195bab6b8c0fc6e8f52df358b018e5421f66f6d076", + "size": 3307 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/list", "status": "success", "path": "en/api/typescript/beta/tunnels/certificates/list.md", - "sha256": "239f2add479cdc08f845b19c346683b0bccdadf3f51e891ac4f18a93700cef54", - "size": 5321 + "sha256": "a12e0064a403a07fd96e5bf27e183ef9e21262b91c3923ca8dc75ff7a7bbe98e", + "size": 5402 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/retrieve", "status": "success", "path": "en/api/typescript/beta/tunnels/certificates/retrieve.md", - "sha256": "4eb0996af50b7fcee2f06558e5aaec8c8080cfa96552c5ca2cfef2e9718c6d43", - "size": 4849 + "sha256": "29cdd8a4e44330294be3603e5269beaa99c043266081ba384724d0855e32b857", + "size": 4930 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/create", "status": "success", "path": "en/api/typescript/beta/tunnels/certificates/create.md", - "sha256": "988a6ff1ee559c734f0e932a52465390fba46a8be0265daa9f9531dc6e61f3ba", - "size": 5095 + "sha256": "96dfeb84ab4ac528c8d4041afea2b1250bac326756db890f070604437bd462fe", + "size": 5176 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/archive", "status": "success", "path": "en/api/typescript/beta/tunnels/certificates/archive.md", - "sha256": "d754572e878acc7acd5cbb21583e1cf2c256241c58710fcc845a28737bca2ecb", - "size": 5085 + "sha256": "a9d9af3207009e6744998076b4987232ace5e3335a7613d2968a32fd8511c9c7", + "size": 5166 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/list", "status": "success", "path": "en/api/typescript/beta/skills/versions/list.md", - "sha256": "e4c2acd6e147c12cfaa2af62a790cd74ac5e66c776b0dfccc30313804699649c", - "size": 4910 + "sha256": "f81148bd61d537c203fb40a9416be827c5e611f979db5254ec8000fe69fc6e38", + "size": 4991 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/retrieve", "status": "success", "path": "en/api/typescript/beta/skills/versions/retrieve.md", - "sha256": "86732de41e8f671457eebbb006a6c1f50122fff6701779564a0cc0b50f947f18", - "size": 4809 + "sha256": "6fb7afd2ca5483d253d25f670a4ee25e9625eaf2b69b7137ef855890d85d75cc", + "size": 4890 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/delete", "status": "success", "path": "en/api/typescript/beta/skills/versions/delete.md", - "sha256": "034a94979af2d4a90642409591277f895a7e893d6fc13261ac55efcd5dd49275", - "size": 3996 + "sha256": "71c70321dfda9719fe29afc1a58c9d728b2004140713e9c49fbc72164c5e28b2", + "size": 4077 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/download", "status": "success", "path": "en/api/typescript/beta/skills/versions/download.md", - "sha256": "5dcf01ad9e2f710c62b31df2b97da46e3f7331c964d601a09466357561170051", - "size": 3689 + "sha256": "a6cec49c3cddf00254ff4b2743898547d66c81a708cd0aa317eb16f70eb243a5", + "size": 3770 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/create", "status": "success", "path": "en/api/typescript/beta/skills/versions/create.md", - "sha256": "1b5e34e7de9d3a86791110675be9291998c081088a67b49a4228c48281ffcbcb", - "size": 4720 + "sha256": "a655e45ee6468252066926abcf260dcbb63ab75e3fc920883907080f9922aaa1", + "size": 4801 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/heartbeat", "status": "success", "path": "en/api/typescript/beta/environments/work/heartbeat.md", - "sha256": "bf8a919ec9963c45fa9adf25edf112c41653a1803b03917cc8c55be7acf5d2a8", - "size": 4600 + "sha256": "f1f8086b45932d298ddd0f78735a4f7da920eca16f8945cdd1802092e6fab50a", + "size": 4681 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/list", "status": "success", "path": "en/api/typescript/beta/environments/work/list.md", - "sha256": "4f17aeb87fef2f07fca3b177e67f5f2c39eee53faefdd56a5512d7175f5bcf1b", - "size": 5775 + "sha256": "024ddc3db7468c3ade02db68bbcc6e1a305937622b3418a0a4d8e4c5e965a22c", + "size": 5856 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/retrieve", "status": "success", "path": "en/api/typescript/beta/environments/work/retrieve.md", - "sha256": "3bef78950cc8d033debd81caf6476c3155a24a511cce6c58eb7adb1f7dcc2c52", - "size": 5830 + "sha256": "b7811d5429aec59bfe4cac103dea98cf1f68951de8ea01116403c6730796ea33", + "size": 5911 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/update", "status": "success", "path": "en/api/typescript/beta/environments/work/update.md", - "sha256": "fa2fb0fb853cc132f505ab25a750ced744e92db6ead5aa7e7bfb37ec206b28dd", - "size": 6025 + "sha256": "d66b7d2366d6f3c14a220388aed5798fde797aedcd896a238baca2c77decd016", + "size": 6106 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/ack", "status": "success", "path": "en/api/typescript/beta/environments/work/ack.md", - "sha256": "227d9232c16ef826334599cfd95e56386cf2315c55d397fad3e50bd36c400208", - "size": 5511 + "sha256": "669994ea732154bf6c650293ce7bcc7fb3a948fbe511bd0990c3d40a3a50f2cf", + "size": 5592 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/poll", "status": "success", "path": "en/api/typescript/beta/environments/work/poll.md", - "sha256": "d549ad54802d214c973912cd81f89dcc638b751ecb8893ef9571f0c3f971fbe6", - "size": 5711 + "sha256": "2ca8fcda5268790ecb8c57f62a11c1d6b651bc919ae7208d4a550e572956fcd7", + "size": 5792 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/stats", "status": "success", "path": "en/api/typescript/beta/environments/work/stats.md", - "sha256": "069d0d706bf2f6aaf86cc16fa8a45e0860d54a6d07ca3099e1a6b711db61a2cc", - "size": 4248 + "sha256": "279a4090457ab3af2e3246a7011df62f6334b737ddbf1d11776067bb1548cb70", + "size": 4329 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/stop", "status": "success", "path": "en/api/typescript/beta/environments/work/stop.md", - "sha256": "f7bc06eacd8f418a6cd2da9c6afa747fe518c3f872f9585962fa6531bdfa357e", - "size": 5897 + "sha256": "59df148a18f18b9c34df617fb87ca2cbb74536a98dbfdc7c4ec7b04e955785bb", + "size": 5978 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/list", "status": "success", "path": "en/api/typescript/beta/vaults/credentials/list.md", - "sha256": "547544ce99bff47c9a848d986fdf43cca18816b6d680c3055d5a3ddaf105645b", - "size": 8968 + "sha256": "a7663d4b56ead937760c646ba1127111025556906d25c045d91c2650e03064f8", + "size": 9049 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/typescript/beta/vaults/credentials/retrieve.md", - "sha256": "56cad22160b05700ec2a4d31534127514669aeb4653d936f9473ab483e5d8bfd", - "size": 8423 + "sha256": "8cde7b6ea8ee789fd7f858e93e566c26e706432040996e113b97ed2efe63292f", + "size": 8504 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/update", "status": "success", "path": "en/api/typescript/beta/vaults/credentials/update.md", - "sha256": "0d73461f555888efbc083a5faef8899a26d387b53a7a70a6856dbd47108ddd2e", - "size": 13322 + "sha256": "19aba1cc8cdf213e39f79bf15bd7312940471ceab47c7723f0d3fef52779ab7d", + "size": 13403 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/delete", "status": "success", "path": "en/api/typescript/beta/vaults/credentials/delete.md", - "sha256": "29f129bcfc640608989fe34a0328b5f5d6d4f820f0695cb23e3f5d98fdfc7535", - "size": 3848 + "sha256": "4866a0b16762e4ad2bcfbb6118af466595dafc365e44a51bfaf30fb2b73b74b8", + "size": 3929 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/create", "status": "success", "path": "en/api/typescript/beta/vaults/credentials/create.md", - "sha256": "2e3ef296b7b5bffdc288dd966389db666ae521f9743c5caa8f01abcf50cee7e3", - "size": 13762 + "sha256": "799375055624b6bfd4986e984890b69c7c906a3d3f33750ee69fc5de665de9a2", + "size": 13843 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate", "status": "success", "path": "en/api/typescript/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "56c0df8b9c1aba9d17eccaccb02b1de12ab05f2aada719383f395ea8bfbad504", - "size": 7187 + "sha256": "d5ab1d8ff0a1774c8e1c1419c5bc387247b4bd82ba7fb71c15f127be84471311", + "size": 7268 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/archive", "status": "success", "path": "en/api/typescript/beta/vaults/credentials/archive.md", - "sha256": "96772b8b12140a3a29a1f8c1d51c3edbf711d93c0f8453131d353bfe590348e8", - "size": 8424 + "sha256": "f9511d3dab4e9b3f5e8d77b002c0c66e3ae04d74e37c87b1f9e76d20b6986b05", + "size": 8505 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/list", "status": "success", "path": "en/api/typescript/beta/sessions/resources/list.md", - "sha256": "058533c1ab4e541acb406d2a7cceb945b45f13022ba375d8e1cbb7d51febf09f", - "size": 6890 + "sha256": "a9729115243e40ac64e7d2a47221c4a445fdb0f578dd8ac2ecc4b33ac81fb307", + "size": 6971 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/add", "status": "success", "path": "en/api/typescript/beta/sessions/resources/add.md", - "sha256": "c5e832ebb423a052af1ea9bde1147bb1962613ee7fc94a82c2ead1fc7b4db48f", - "size": 4174 + "sha256": "cd569facdbb65a905adb11fc057f42b01c9e68bc51b3908a8b275d477c2feb0b", + "size": 4255 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/retrieve", "status": "success", "path": "en/api/typescript/beta/sessions/resources/retrieve.md", - "sha256": "02c1ac3442bd74b530571e47457c34cff4ea854dfef2168140665dec16a2b251", - "size": 6267 + "sha256": "db1c79c2c23343b55deb7e2a23c01f992286bceec1a89e2b7bfec069807e3c40", + "size": 6348 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/update", "status": "success", "path": "en/api/typescript/beta/sessions/resources/update.md", - "sha256": "1305323434552ed2446baf1767e7817883299167179d076d53955825d5175c50", - "size": 6490 + "sha256": "5efd07bca3b18814bf82ab35cc3197978142e885de408e097a95f487e1b57c1c", + "size": 6571 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/delete", "status": "success", "path": "en/api/typescript/beta/sessions/resources/delete.md", - "sha256": "44dfd1d967e7a9e56edae8a40243d2e63eda1fbc8d8dd63c6518cd099edddfd8", - "size": 3711 + "sha256": "c706393ccf83b1eccf31426b73d635e908361d4bf8c1662f29ecd275653eba95", + "size": 3792 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/list", "status": "success", "path": "en/api/typescript/beta/sessions/events/list.md", - "sha256": "1699d065e0c6744ca0ffdba5af61cf6a031a6fb53d12c1beabff8f0ebc00321d", - "size": 102325 + "sha256": "75a6c87aeb685e8edddcb2382e59884330242d601ccbb0bf0acbd8b762b510e7", + "size": 102406 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/stream", "status": "success", "path": "en/api/typescript/beta/sessions/events/stream.md", - "sha256": "c86fe3a998aef42a4f6279edb97ec83d14c689face92b033678ed0b28254c117", - "size": 102830 + "sha256": "3639c942624ee0f25b84ab3d98199e285633fcce79330d507ddf2951863dc1e6", + "size": 102911 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/send", "status": "success", "path": "en/api/typescript/beta/sessions/events/send.md", - "sha256": "8199569ac3249ed76c962663b4b5537a88c1e772cecb1f14b5a5296cf5a155f4", - "size": 26726 + "sha256": "bc9912888e60bccc0cf1dc65ccf2f044dd9a6f8b927807b1ef4974a65ca79f98", + "size": 26807 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/list", "status": "success", "path": "en/api/typescript/beta/sessions/threads/list.md", - "sha256": "6b216d902ed7dfd8b68a41e3a977fa504323e5332753462311ae60b4e5ef50f7", - "size": 34858 + "sha256": "5fc9c02e3259f5d0fa3d5dfa849250b31337f75e54b903f73417b50341a1d437", + "size": 34939 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/retrieve", "status": "success", "path": "en/api/typescript/beta/sessions/threads/retrieve.md", - "sha256": "fd00631aae5226f7067c6a8cb2708368d87239b7823e2f561da383a555c88fa9", - "size": 33923 + "sha256": "48a2cef5e0e1df7d4506cd8d24c95e608cce7a3a3eb589eaa81e7018b43ce44e", + "size": 34004 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events", "status": "success", "path": "en/api/typescript/beta/sessions/threads/events.md", - "sha256": "e31e58abd7b0c990edab3b0921c2bafb77e85cd633c17dcb2045140c5e156ffe", - "size": 202786 + "sha256": "2d9eac92b0e5e2ea3903f7c7cc723131486fd5e21f8da8df554ee90fceb578db", + "size": 202948 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/archive", "status": "success", "path": "en/api/typescript/beta/sessions/threads/archive.md", - "sha256": "6a8a10e36c6103c66347a39998740ced1a0436290fda2e3cd5e127ea411b7c2f", - "size": 33940 + "sha256": "47a92b613545144684198c7a8150e9cb3f1d197a481a95de3be58a5e5be56a57", + "size": 34021 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events/list", "status": "success", "path": "en/api/typescript/beta/sessions/threads/events/list.md", - "sha256": "e1cd0cc442d246349452256c3ac462aaf9fab0f800906cbe2ace776015f59145", - "size": 99890 + "sha256": "ec48bca0f9de5bd8d2cedd1604bbc94bcfb4417f5da703364632fce1d17d7197", + "size": 99971 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events/stream", "status": "success", "path": "en/api/typescript/beta/sessions/threads/events/stream.md", - "sha256": "5cc7175ee4308ace05afb461319ff1606d23bf30fe273749e1cd4be99a1f339e", - "size": 103037 + "sha256": "37db375ef8aa872aa86e34c7c608cb271b06fd7a7c2f32495eb036cf0b654d44", + "size": 103118 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/list", "status": "success", "path": "en/api/typescript/beta/memory_stores/memory_versions/list.md", - "sha256": "bf4c17ad6cb8047fd9486b40d1023c9346453179dae6975e5d20710421c5403b", - "size": 12342 + "sha256": "e65aecf68917f9f4f18e33481900b07f62d4c598907605ea81cfd81a5491d892", + "size": 12423 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/retrieve", "status": "success", "path": "en/api/typescript/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "aaa9a805cfca6a4514212ef29df52dc994b474e3f1b225a2f5ec49e45f54f617", - "size": 10288 + "sha256": "c2cf5f748300ade5073e5047d8360f1214b97bed37b1eda2108a2f24906d22ba", + "size": 10369 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/redact", "status": "success", "path": "en/api/typescript/beta/memory_stores/memory_versions/redact.md", - "sha256": "697191dbb8a8cc893d5f7e1553b5766636e988e6139383f6f500926a1ccbba4f", - "size": 9659 + "sha256": "a50b6d8bce5b1743686cae1c42e9134a94b84b8cb99ba7e9133a308611bfc42b", + "size": 9740 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/list", "status": "success", "path": "en/api/typescript/beta/memory_stores/memories/list.md", - "sha256": "463aab7ac046ee03c7f864061efd2f4381dde1449038caabb5bb5c9da82a0dda", - "size": 9034 + "sha256": "36df744e793bc17175e403b2bab099ea3913083db79f25531ac8491183d77883", + "size": 9115 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/retrieve", "status": "success", "path": "en/api/typescript/beta/memory_stores/memories/retrieve.md", - "sha256": "efffacb149a8397861ed395f5037824b6bc016b007bac83ad2652523b22a8b41", - "size": 6883 + "sha256": "91a80754bf85edc0f8c11a5e2c212ded08c1aa51071da42ce3571392823d5927", + "size": 6964 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/update", "status": "success", "path": "en/api/typescript/beta/memory_stores/memories/update.md", - "sha256": "9037ad2bcebe7da7c68e5afb717d474877d27526c736357d87451bf41599e246", - "size": 8128 + "sha256": "ab4b6ab4197b017d6d135d40a6dace39073feebc77165fb52d703a1a4fc852ca", + "size": 8209 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/delete", "status": "success", "path": "en/api/typescript/beta/memory_stores/memories/delete.md", - "sha256": "273272c11022d487129251f67cced86810798ca457edc23da3dcc239e387abd9", - "size": 4730 + "sha256": "eb68d21bb9434285c573b6af3c66d2a3be6d3edbe74d5e1a6f0875e99fd70929", + "size": 4811 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/create", "status": "success", "path": "en/api/typescript/beta/memory_stores/memories/create.md", - "sha256": "c3cbb60caa48c14db5f33ceac4711fdff79b4755cf43a3bc4943e6590f4f21bd", - "size": 7382 + "sha256": "042752bc0ab1e33ec0fb8ad56b88599b05b51e92458fe40ac556534da36de270", + "size": 7463 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/versions/list", "status": "success", "path": "en/api/typescript/beta/agents/versions/list.md", - "sha256": "28c47fcd5bdd1f1edbf202901b60e97fa476218b2ec3528a61ba4e0628adb020", - "size": 31331 + "sha256": "8f1c11c747dac2ed10778834f5a12f94a6601f5c8ed1187cdef6abd8ad558998", + "size": 31412 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/cancel", "status": "success", "path": "en/api/typescript/beta/messages/batches/cancel.md", - "sha256": "d4f8264e1d4b2fc496bb59c527e564b85aa97a68e268deca22a3b43bffbf1c79", - "size": 7509 + "sha256": "b8f5907163c0af8edf8e3b16f378ff22a3490edfe9c35eaae62d1eed563e12b3", + "size": 7590 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/list", "status": "success", "path": "en/api/typescript/beta/messages/batches/list.md", - "sha256": "27b736682f341d292299890416187aa68f1221c8479f51d1441af773265a4bf7", - "size": 7703 + "sha256": "591c469b6a0666ae9a95d3ef6a2fd9f89d34785da275a455edd49667133a4f5b", + "size": 7784 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/retrieve", "status": "success", "path": "en/api/typescript/beta/messages/batches/retrieve.md", - "sha256": "72cebb3d935e30a71c80ab8f4b5fa56dabf398a593478fa7cf0eac8a710fdbc8", - "size": 7203 + "sha256": "ba7486ab5e978841cf4ffdff14cfbcfa8076b6c038d9d64071b345d299f6d12f", + "size": 7284 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/results", "status": "success", "path": "en/api/typescript/beta/messages/batches/results.md", - "sha256": "3f2e65cb3486a7b593079e3ea5b86d7b03e14477886dc01fa539afdb443fdf8c", - "size": 156903 + "sha256": "799cd70a788a026fe57509274617d831f9301f81d5253f4b9cb7450d0163a248", + "size": 156984 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/delete", "status": "success", "path": "en/api/typescript/beta/messages/batches/delete.md", - "sha256": "78ec5657bcf4e85a0efd67d8b6dcf1707f52af3a54e97cbdbe9f6bbb31253663", - "size": 3949 + "sha256": "7bc2028339243993124cb7d405c4dca2eec4c7f88bf1352d56f709e03a98af3e", + "size": 4030 }, { "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/create", "status": "success", "path": "en/api/typescript/beta/messages/batches/create.md", - "sha256": "81281914859914bce6a185ed143799608ea60ed4df15efa9c1842a7c670339e2", - "size": 177324 + "sha256": "ba6764b7c36b0843c72b2400cccd9985bb7ff4966f8c09261482b4d4192c4f08", + "size": 178166 }, { "url": "https://platform.claude.com/docs/en/api/cli/beta/deployment_runs", @@ -15822,8 +15857,8 @@ "url": "https://platform.claude.com/docs/en/api/cli/beta/models", "status": "success", "path": "en/api/cli/beta/models.md", - "sha256": "1f21a85746b0479ad2ad7adc7cd94b54bad0d2487cc30bdfe051b4fd40139f0c", - "size": 46864 + "sha256": "6b4436366a26210d7d6afad297964107b3b0b838960932f71c01f0ba5cae4b1c", + "size": 46862 }, { "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions", @@ -15843,8 +15878,8 @@ "url": "https://platform.claude.com/docs/en/api/cli/beta/messages", "status": "success", "path": "en/api/cli/beta/messages.md", - "sha256": "faa92ea75feca973ffd0e1bf583b13169b319e000960867ffcbe74a1e60a229e", - "size": 3343188 + "sha256": "693fef24acf3e9655f2536101045e8ef9b773ffdc5ddb6a4a403b19630576c9c", + "size": 3344743 }, { "url": "https://platform.claude.com/docs/en/api/cli/messages/batches", @@ -15871,22 +15906,22 @@ "url": "https://platform.claude.com/docs/en/api/cli/models/list", "status": "success", "path": "en/api/cli/models/list.md", - "sha256": "d2331807836c03868137adabe6993103797a9ccb990cf51c7dc6d3b7edb121a6", - "size": 12579 + "sha256": "1d36e3238d68c8bd549a9b93ee85c3a3a7b1c08434e86e609fbbb123794626a9", + "size": 12578 }, { "url": "https://platform.claude.com/docs/en/api/cli/models/retrieve", "status": "success", "path": "en/api/cli/models/retrieve.md", - "sha256": "1f5caa2fd591540df316dc8d05a3a64e623d10ba642dc9c6978716a941affd1e", - "size": 10709 + "sha256": "0133d7c89808f47a39d27bcc50cfcd1994567a897908c1fd21e40face5268af4", + "size": 10708 }, { "url": "https://platform.claude.com/docs/en/api/cli/completions/create", "status": "success", "path": "en/api/cli/completions/create.md", - "sha256": "619b575b44c1b574c3aaff145b7100bef29be39e6fb52cf23543c29bd1633aca", - "size": 13307 + "sha256": "60a63dcca786296689755c2b78eada117f8a207c1f1a354c459000037d94b1ff", + "size": 13384 }, { "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/cancel", @@ -15948,8 +15983,8 @@ "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/create", "status": "success", "path": "en/api/cli/beta/messages/create.md", - "sha256": "ea81965054458b5d82e8de5a8c5b7baa01f6942c75567ba136e00ccefc9e368a", - "size": 215906 + "sha256": "40be522d3a351e3d2a547eea6e5dcd67decb862be5e9b6ade9b1b760dffaaa22", + "size": 216284 }, { "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/list", @@ -16088,15 +16123,15 @@ "url": "https://platform.claude.com/docs/en/api/cli/beta/models/list", "status": "success", "path": "en/api/cli/beta/models/list.md", - "sha256": "31019c9d1c16aacafc2a76d91f01a5d9e4ae05a7d9afe6e41a94bcf5d2640be3", - "size": 13584 + "sha256": "068adaeca49968bd3506ea20a9f3e9d5c950d56cb1b4b65a45c0c970d419868d", + "size": 13583 }, { "url": "https://platform.claude.com/docs/en/api/cli/beta/models/retrieve", "status": "success", "path": "en/api/cli/beta/models/retrieve.md", - "sha256": "ca0588d7c05c1d74edaa572a1a2b8e71e632818c3ec86291e41addadc2522583", - "size": 11655 + "sha256": "08d74c725f8c63d02f699b2594d6cd287154495f28dac3afaf85637ae42a1848", + "size": 11654 }, { "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/list", @@ -16823,8 +16858,8 @@ "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs", "status": "success", "path": "en/api/python/beta/deployment_runs.md", - "sha256": "fa667f8ee99a20b6afceaa19928b613970d0397f7c1d827d4712955c8b7c7a86", - "size": 32337 + "sha256": "315824914b34b014ba5a538420afa8efceee4723398a39129150bd6e81db4f19", + "size": 32491 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/webhooks", @@ -16837,85 +16872,85 @@ "url": "https://platform.claude.com/docs/en/api/python/beta/deployments", "status": "success", "path": "en/api/python/beta/deployments.md", - "sha256": "2620a02a11ad33262a57d8db40b4541a8924a64f3c9e68bc9490435ee3d8fbd0", - "size": 218421 + "sha256": "60de9d5f4d5354a649010c57d58d0d52cf39f75bfcee2f4b8769babb75f07154", + "size": 219037 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles", "status": "success", "path": "en/api/python/beta/user_profiles.md", - "sha256": "01bad769d8c0e03f0b3cedc9f788104fc0b1faa64a1f801eb1b190f3bcb5b541", - "size": 66309 + "sha256": "88895c326cca61757190a148934168ae5b1234b9f724aed9c88701f6ebf0431e", + "size": 66848 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents", "status": "success", "path": "en/api/python/beta/agents.md", - "sha256": "68ffdf9b3f33720d0631bbbf076522a49bda253d9f8c60116f5a55e54ac8c1d2", - "size": 451030 + "sha256": "89782f726f5ece21d096c58788888a312cd8891d7064d63f0210fe66edc204c2", + "size": 451492 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/files", "status": "success", "path": "en/api/python/beta/files.md", - "sha256": "966fcbddf62a60f91b036cb815d0d7f293291bfce428f7b924660384a7fbf233", - "size": 22821 + "sha256": "47d43e6656e131b17492a453bc31faa5815e3aa445140208f9b309c225d767e6", + "size": 23206 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults", "status": "success", "path": "en/api/python/beta/vaults.md", - "sha256": "6aa8cb5676930dfbdc1d63971bf4fe4796f49d3a37b033c25cbe58e44cecaeea", - "size": 84417 + "sha256": "d62f67ce16fde397f6fcf4834c43d99e9e02ed9e62dd765f9778e476139ceb20", + "size": 85418 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills", "status": "success", "path": "en/api/python/beta/skills.md", - "sha256": "519244e715031f3ce2849de636edefd2f03a133b63b2d31c3467fd1185a45ac9", - "size": 42145 + "sha256": "d061f01c9095060311d7beb17bf17d00247abfa0baa467721dd9d71e737643d1", + "size": 42838 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels", "status": "success", "path": "en/api/python/beta/tunnels.md", - "sha256": "970bea395cac0a966ceb49e480a882bc0767ce797e5bca4035119a77e8c40f41", - "size": 45872 + "sha256": "c5d0d461176052d4d43eeaeae79c8fa7b63105951922efed6f10f5d6063ec493", + "size": 46642 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments", "status": "success", "path": "en/api/python/beta/environments.md", - "sha256": "c3d06102fb18369113b62c17fb5329df85285c72a7425bf80cd6d31749ab8e38", - "size": 95145 + "sha256": "e5fb6f0843fd6899d2f04fcaa877eaa9c84c5eff04bd70b6a5cefb151b397ee6", + "size": 96223 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/models", "status": "success", "path": "en/api/python/beta/models.md", - "sha256": "af2b4a649dcd5b581f557dda4d0d876ac74d980c8f2911f4033c459b01b36ce1", - "size": 44338 + "sha256": "4068c23a45712dc3eada6bb348e1b2d032d961e0e82e8863bcb1b71d30efdaeb", + "size": 44490 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions", "status": "success", "path": "en/api/python/beta/sessions.md", - "sha256": "50b0d104396b3c89930205536d74330aa4c406a420945799af42ccfc38ba47e0", - "size": 1170695 + "sha256": "f6edbc1e66d051e3d5015ef6fcb9ce2481a0ca87bce23401d1d1689c85df526c", + "size": 1172158 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores", "status": "success", "path": "en/api/python/beta/memory_stores.md", - "sha256": "dcbc5dc336357621329481f87df6c7adbf1661da79732f893d80352620112c33", - "size": 101158 + "sha256": "058c7fce07c04e4ba8e026001c6a6918f3b782fe7f1d88b735b53e9c4e42d5d8", + "size": 102236 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages", "status": "success", "path": "en/api/python/beta/messages.md", - "sha256": "0fb51a2c713c9a5cc0e05ca4c43d2401721c57db9b951a965a7b1bcefafb15b3", - "size": 3395567 + "sha256": "fa380086f9df12e27cc323e56ee962da9a333d132a1389523318440bf7ba076c", + "size": 3398815 }, { "url": "https://platform.claude.com/docs/en/api/python/messages/batches", @@ -16942,22 +16977,22 @@ "url": "https://platform.claude.com/docs/en/api/python/models/list", "status": "success", "path": "en/api/python/models/list.md", - "sha256": "8aeddf2c564e6f054f1822d3774e1c4eb83b1b2567ce645ac1e16c743adb3624", - "size": 10863 + "sha256": "e97d3d55532eaea0c016a3e1b67876aac193b7000eb69a3195179317988a9ac0", + "size": 10862 }, { "url": "https://platform.claude.com/docs/en/api/python/models/retrieve", "status": "success", "path": "en/api/python/models/retrieve.md", - "sha256": "0ce6a7c6e8bb6cff53e19e182f35cc4a1b6d29a22bd774e2a32088770b6b05b1", - "size": 9558 + "sha256": "f6bef3d7a4eed0ccc75506a339977c358ff7049b16d391aa5ef044b0225044d3", + "size": 9557 }, { "url": "https://platform.claude.com/docs/en/api/python/completions/create", "status": "success", "path": "en/api/python/completions/create.md", - "sha256": "ffd192e63c8b97faefd7cce08e2f082dd1df3cb60c8a68d9607b17116a42888a", - "size": 13310 + "sha256": "1ead8f0b5c6716e6fd2dfd3a03319431381e3ab4fbddec8937b5b06182b64055", + "size": 13387 }, { "url": "https://platform.claude.com/docs/en/api/python/messages/batches/cancel", @@ -17005,897 +17040,897 @@ "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches", "status": "success", "path": "en/api/python/beta/messages/batches.md", - "sha256": "1457b4bbbc0bd5293fdf0f1efc795293e7842c1b0e0f00eaa828e80329161a7c", - "size": 805195 + "sha256": "e5896e46203899acfd1c948befd958ad303bd25c2ca8b0b8e6d1add1f36f89ba", + "size": 806407 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/count_tokens", "status": "success", "path": "en/api/python/beta/messages/count_tokens.md", - "sha256": "a3ad66dc713b3aa62b4a5f81f5771b1897a537ab9a303ed6363ec3697230e8cc", - "size": 149230 + "sha256": "f0ae66576112778035cbc66920d457c930ebaea20187b029877d7f5ece7cd3e3", + "size": 149307 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/create", "status": "success", "path": "en/api/python/beta/messages/create.md", - "sha256": "7cb4e5acbf18a5111a5348851b8eb50269101d845dd9340714d7c10180c1008c", - "size": 311284 + "sha256": "9aee4569a77571ea14233b92f3ac1ab861fa4efafd544899c95f68d5911ca1c6", + "size": 312071 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/list", "status": "success", "path": "en/api/python/beta/user_profiles/list.md", - "sha256": "a7bf4b8182aebb9648150d24a3294ae94f4efb761e84ce3c95dfe85cbb5af1c3", - "size": 9987 + "sha256": "bc5834e25503a821ffeda1b0c60b1ff6c43d3ea86acbeb1aa02d34f1707282be", + "size": 10064 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/retrieve", "status": "success", "path": "en/api/python/beta/user_profiles/retrieve.md", - "sha256": "0c4447d45540482405592dd3c96252e8d363457d41f94924f4f20bf4718b2349", - "size": 8884 + "sha256": "7266d78a434f03409f683a7358c5c1896fb593fb01facf69e1e66a1406f35f57", + "size": 8961 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/update", "status": "success", "path": "en/api/python/beta/user_profiles/update.md", - "sha256": "cb482957bf9ac3b395e7d92dbb0334ee342183f92293ebf2b86eb1847098b7e6", - "size": 13092 + "sha256": "c8d5a3244da7d81615626f1a14ad11b6afb5ba1ad39ed849a8c2c4f1719cf796", + "size": 13169 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/create", "status": "success", "path": "en/api/python/beta/user_profiles/create.md", - "sha256": "88b7e3fd81aa62f40945b3d0c9682c6bcc5dae193a2f09636026d218849c85c3", - "size": 13225 + "sha256": "cb51840d6cddf273d16f5b1237835fb41ff366dee4eb2d39dc9e7eadfefa123d", + "size": 13302 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/create_enrollment_url", "status": "success", "path": "en/api/python/beta/user_profiles/create_enrollment_url.md", - "sha256": "bbfeac8b005c6b642f5f272f4b5fb7747a8ded1866d498dddc843e7bb2c0739f", - "size": 3874 + "sha256": "681ffa2d898bddef12369ed67aa65a1380c88c72b43c6b83f785158fdb0728d2", + "size": 3951 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents/list", "status": "success", "path": "en/api/python/beta/agents/list.md", - "sha256": "e9c75f64b2b8ce7dcb03d60e560e5a9c6b47339ae16c9ecf3f45eb960f49c922", - "size": 30275 + "sha256": "f99fc8d30e7557a1bd00b6f5c5f86d2a0af4ba29360631ae62c3fc297fde32cc", + "size": 30352 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents/retrieve", "status": "success", "path": "en/api/python/beta/agents/retrieve.md", - "sha256": "35ee0823ec87eefc5fded4db020139790ca5994f76f467a8c4f30db5c87f2608", - "size": 29522 + "sha256": "9a98178fdd07aa5d5eed982c58ce23b50addb3da8f77ab00b6e6c5ee5526048c", + "size": 29599 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents/update", "status": "success", "path": "en/api/python/beta/agents/update.md", - "sha256": "0526eb6c3264a298a6e3178babd11bebcb8f36ecd48e0fcdff585cf5b07a40ba", - "size": 65002 + "sha256": "d26c121d0a81c773edbd62813979f037cda1936525ed015b14af12e24ded8728", + "size": 65079 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents/create", "status": "success", "path": "en/api/python/beta/agents/create.md", - "sha256": "4cc8d2d595fc440dd46af20bb66ce4c48a7ac15b9ca33acde121cf06fbebb665", - "size": 64041 + "sha256": "1545063e2f2077e18c36ffa4f9e3f630867751203ee6fb22f69847efbff2440b", + "size": 64118 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents/archive", "status": "success", "path": "en/api/python/beta/agents/archive.md", - "sha256": "33091f70f6118646069784cc89c81bb2dcae33bbe0121b00f9594671f879f88a", - "size": 29391 + "sha256": "bdfc0d998e812a01fb7a4086df41e9ac37b1dba74523f0caf0ce0d894dff5146", + "size": 29468 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents/versions", "status": "success", "path": "en/api/python/beta/agents/versions.md", - "sha256": "74085adcb3e7820d48d6a61cdb04ec1a417aad7f97ab15e50b98c94d8f3475ab", - "size": 30033 + "sha256": "a55e7445302ecd99d90adeb78ee55ca56a0bdcbe351aa77dba546256323687bc", + "size": 30110 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/list", "status": "success", "path": "en/api/python/beta/memory_stores/list.md", - "sha256": "e2ffa22ceff9747ee04671608fb421fa07f95c9ecc568834f646ce5d24ef7949", - "size": 6140 + "sha256": "afb05f17aedb02c2aa71a47d61de2ee7c2d145d0112d583438079a0f1289fc0b", + "size": 6217 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories", "status": "success", "path": "en/api/python/beta/memory_stores/memories.md", - "sha256": "74b5d4bea7388cd78db92881d6ba7b4349421ca83ee0e1b24d8dfbbdb1746162", - "size": 49821 + "sha256": "fad8a36db2bb15b62705c2c183f0d702c42c49c2776946589bcb227aa890a635", + "size": 50206 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/retrieve", "status": "success", "path": "en/api/python/beta/memory_stores/retrieve.md", - "sha256": "6e4562d73898f10bad9665d838a4538564048a942ba14b454f73f0ca096d9dad", - "size": 5425 + "sha256": "16a7c9b3265cd7f3cbd74753d42ebb844d94f79c3a4e93080936e1b5cd842fa7", + "size": 5502 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/update", "status": "success", "path": "en/api/python/beta/memory_stores/update.md", - "sha256": "34bba3c9dcf37824460fc669086bf37c1d0df8bc92809aca46f733f3babaf8b5", - "size": 6223 + "sha256": "80e5d127796db55522696b5ba5919a97cd8d003f8b420a7331365a417a6c083d", + "size": 6300 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions", "status": "success", "path": "en/api/python/beta/memory_stores/memory_versions.md", - "sha256": "c3f96691f212620cebf90262bdb961480c1b093fe712c7703a86044a9b8f7b6a", - "size": 40962 + "sha256": "6bf770462089c5423aa02c8d1c7ea21f64da3846dbcea3c125ede8a71a357c43", + "size": 41193 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/delete", "status": "success", "path": "en/api/python/beta/memory_stores/delete.md", - "sha256": "73a906e80f4e1359fd749d2ff66ad8cac86540c061ed31ae4bf324d15e91b430", - "size": 3706 + "sha256": "b5cf10749484237701a76c4a284d5c198ab21f856756cfa800ffcc289899f256", + "size": 3783 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/create", "status": "success", "path": "en/api/python/beta/memory_stores/create.md", - "sha256": "3ff9bc6d629b5760e4207308e3a84fe6fe6215dec04f647f17cc163e54116971", - "size": 6370 + "sha256": "3d353a9aab7cbb8e6f6fe0101ead7a00160a3a495c82f696779ee25c599e473b", + "size": 6447 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/archive", "status": "success", "path": "en/api/python/beta/memory_stores/archive.md", - "sha256": "b8c4961a52b4a69f2f941d42e2383138fa78a80a60d66c09560463add083488d", - "size": 5522 + "sha256": "18b67e8c17f364d3334df81aa14a452920b8d685973498c6c68aef8d33b9b952", + "size": 5599 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/models/list", "status": "success", "path": "en/api/python/beta/models/list.md", - "sha256": "578f2ff6daed236066ff4527a478c1e810f40d34333283924a13b0358a2f716e", - "size": 13789 + "sha256": "5bc7abed14e5f73d8b18505d35bf9d0cb29f2bcc122af22746d7ff0029395e00", + "size": 13865 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/models/retrieve", "status": "success", "path": "en/api/python/beta/models/retrieve.md", - "sha256": "667da089cfbaadad32866b15b5588aa81ca2bf66e34fe690738480a425fe90b8", - "size": 12458 + "sha256": "eba39f913f9e44599a0dc2ef47ce223894797615ebb11f2aefc44933849e8c2c", + "size": 12534 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/list", "status": "success", "path": "en/api/python/beta/sessions/list.md", - "sha256": "7344bf09bbe2bb96b8d86cbecab3846a478f8739693264df97ac49b3bf4c73a8", - "size": 47831 + "sha256": "2de1d55c40f77bb68096ed93dba2fd3896cc2105d9a3620b7a05f293b1c9b72c", + "size": 47908 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/retrieve", "status": "success", "path": "en/api/python/beta/sessions/retrieve.md", - "sha256": "decfec1af9c1320efa6cc094f2320cdf448eb5c1ec94b94cd63837ed06ba073e", - "size": 44935 + "sha256": "b2a20b32a75388a98457111795a4ab011b6565a251e9355e64712b7a8c450f64", + "size": 45012 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/update", "status": "success", "path": "en/api/python/beta/sessions/update.md", - "sha256": "7888866123017da3c43e5369eb4df0a6d3c74f9203449242627513ad2c8126d8", - "size": 68557 + "sha256": "be067b4b068a29500e18e007d2e6ec31ba1353b47e77fa8c14978e6a6a91fa06", + "size": 68634 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources", "status": "success", "path": "en/api/python/beta/sessions/resources.md", - "sha256": "47f5dcc9e9119e28de7f79616749e081a97ee4515781b89577be2ffbf2616e16", - "size": 35592 + "sha256": "cb818153f7e65ed2fdf716fb3a67519ea0070f497c6a7d6c286dabbb4dce0968", + "size": 35977 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads", "status": "success", "path": "en/api/python/beta/sessions/threads.md", - "sha256": "00c8467135d43f1b2afccec6531d027aa67eb0bdbbb43e40172d0341091e181b", - "size": 436248 + "sha256": "bb53dacc77bb5cd0957e9bf965f5684f82b1f1d59753c11259649ddefa154ba2", + "size": 436633 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/delete", "status": "success", "path": "en/api/python/beta/sessions/delete.md", - "sha256": "7d92ac847a7a2d8d12556c8054847cdb73cd6a5684dcd4fea14237d6df9a47f8", - "size": 3354 + "sha256": "8a7628848ec2195a2a5cbe5aa00399ee12efe7c6881484abd7f4aa23cf0e539a", + "size": 3431 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/create", "status": "success", "path": "en/api/python/beta/sessions/create.md", - "sha256": "43839fd9f13a1cb174b093a3738dd66b57671699e47b2aa4c3a990b52d69908d", - "size": 82735 + "sha256": "076da1155b9fa25877215a26ba0f5c67065f445519323518147279397e0d0509", + "size": 82812 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events", "status": "success", "path": "en/api/python/beta/sessions/events.md", - "sha256": "dcc92f016cd70d00f1bb981134731056feabe479a1d15c240292aa614b1a6967", - "size": 560435 + "sha256": "a1f2a795c98bd65459245f8b6cf3ec4d1a92bc9882f4ff24065e0f079b1101a0", + "size": 560666 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/archive", "status": "success", "path": "en/api/python/beta/sessions/archive.md", - "sha256": "0267cc3f22b0d4b1572c8bbc2ffa88312bcb836f3c56aca272037e4acc6e6087", - "size": 44953 + "sha256": "82c97458d2857ac9fc754928382d3f915743609cab5214793e89a868956a8537", + "size": 45030 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs/list", "status": "success", "path": "en/api/python/beta/deployment_runs/list.md", - "sha256": "d2cc3ba58224d4a8f399e0595ae77e1fba8edaeec2642b494bbb00d00a76fab4", - "size": 10895 + "sha256": "a68e0dca9d44af98e053d94b7e829468be24a8507ef09795e5ae3560ef443ea0", + "size": 10972 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs/retrieve", "status": "success", "path": "en/api/python/beta/deployment_runs/retrieve.md", - "sha256": "fe27e0138bd3f82a5ce8ef87b7f4bd88325a8d26eceb4106635732377792859d", - "size": 9405 + "sha256": "6120f3d69e29084d2ab3be900560b08a21e66c1206407bdfd4871622f74f3cf2", + "size": 9482 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/list", "status": "success", "path": "en/api/python/beta/deployments/list.md", - "sha256": "9e54a5d1d401d55bd5952b6dd368a1a12d030c169f944da10c547994cbc44167", - "size": 20587 + "sha256": "54da664e2f074c1f7e8fcc45d5389909a01b1951849b497007737b33dffa56ef", + "size": 20664 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/retrieve", "status": "success", "path": "en/api/python/beta/deployments/retrieve.md", - "sha256": "71a30582d07c9f3591099c6319ec627630d17aa03201c48a538328d7ee5f7a5a", - "size": 19250 + "sha256": "850e12a6f002636d7df9de76d56cd99f3c5b45f4e326d7024b6c40331247c5fe", + "size": 19327 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/update", "status": "success", "path": "en/api/python/beta/deployments/update.md", - "sha256": "72d702f439c80ae3bcc73fc3a4c51b908fa0cf7caa572c04226d9c423ab5df65", - "size": 30118 + "sha256": "1d84c9d6bcfca23223284e10d3f4175d9508ed24659e0e5c8ad99ca75510ff6d", + "size": 30195 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/pause", "status": "success", "path": "en/api/python/beta/deployments/pause.md", - "sha256": "51c8ecc8a4e228a5fcd568b823f510f45b80a831d8b819c43f0ac653bc08c51e", - "size": 19263 + "sha256": "f3f9471a3060abf4497210a8199af92fcf6c3cdab71113dcd7b17e1daae11687", + "size": 19340 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/run", "status": "success", "path": "en/api/python/beta/deployments/run.md", - "sha256": "299b427da1b743cc313cefc54b2ce737b1e8337b4360d08580d979f44b6a4fd8", - "size": 9378 + "sha256": "f78fb5b23d6469e965987c0eb7b4ad8062ded910fda405e1ed96282a272cd336", + "size": 9455 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/unpause", "status": "success", "path": "en/api/python/beta/deployments/unpause.md", - "sha256": "c97aa66259f65b1a58c095e42b8f2b90b5f048b2f8165564019a92f7d7da50e0", - "size": 19279 + "sha256": "2afb22c8c03cb055dcb8777f3905acccd547f33ec746bcfaa724b52dde71f2dd", + "size": 19356 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/create", "status": "success", "path": "en/api/python/beta/deployments/create.md", - "sha256": "83e8fc13faf7b57ea973c02e6fc96a989d873b53f8310cc728bd320e36dc2490", - "size": 30146 + "sha256": "a5060640af86ac54c4ca2b017900a06afdc4686ed562252716ebdab7035b8a03", + "size": 30223 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/archive", "status": "success", "path": "en/api/python/beta/deployments/archive.md", - "sha256": "abedd11064d732bdf091bd7e230639261e8504232ca88bc321bc3dc68f25d40f", - "size": 19279 + "sha256": "d8c5ef178066c1cf266dbc3fdc7e504d9902373f7b85fbe1f77b24576edde5e0", + "size": 19356 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/list", "status": "success", "path": "en/api/python/beta/vaults/list.md", - "sha256": "662d109b7814e06a19b563cb9c06257372e4d6a10f095ba20cfa7088ce2ebaf9", - "size": 4470 + "sha256": "7106fd96dc7a2580aebf6acff52eeb14dce9f977344c94f0bd53da0bf9304cc9", + "size": 4547 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/retrieve", "status": "success", "path": "en/api/python/beta/vaults/retrieve.md", - "sha256": "9f8d82ea63f21f317a7a4c94620247c974b8204be57242eda32feae48ad3427a", - "size": 4023 + "sha256": "87ab9a029501e8fc0c47445d3201ecaea971926587d483e5257faaf5c7208e5e", + "size": 4100 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/update", "status": "success", "path": "en/api/python/beta/vaults/update.md", - "sha256": "4fe31f1867cf0ca21b9500017db4fb728e3c73e469400788077794ed8783f411", - "size": 4297 + "sha256": "5fdd1ea71a2eeb93defdfdfb3bb689a0cf767b92048a16a02a0c38bfeffd566e", + "size": 4374 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials", "status": "success", "path": "en/api/python/beta/vaults/credentials.md", - "sha256": "f8f6c19ff1d56fc4d20adc4083330116e742c8b6c90227c31f67f83456b7dc3b", - "size": 93263 + "sha256": "3b8c31d6037c4dea064354f159a34f44cc691b4feb822d70cd3470b060d0964b", + "size": 93802 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/delete", "status": "success", "path": "en/api/python/beta/vaults/delete.md", - "sha256": "06becfed0cb74ad0c5ff011962e641b713a99f16cc9c0e410a0c54c55eb69657", - "size": 3395 + "sha256": "12b19dc6627310c61f0299984a91afa89228ca2bcf6f15c6ee3b80579ede3098", + "size": 3472 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/create", "status": "success", "path": "en/api/python/beta/vaults/create.md", - "sha256": "f1d23b4df4d346d3e8fb576b4cdddf831c311e69a18682a8ad0b7fd519adbe73", - "size": 4167 + "sha256": "352952ac889c9caee15f87cc6af694a5076d1b55f0cd8bfe7e99c6d201f8fa65", + "size": 4244 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/archive", "status": "success", "path": "en/api/python/beta/vaults/archive.md", - "sha256": "bbec5933cedeb3a7a6a16302dd788c736e3706e0abd54ebfcaab59a179622511", - "size": 4025 + "sha256": "bfd1847fc1b25f69b2e38bfa088ef74d5f2aa9a304f8ed86e1673e105072f57c", + "size": 4102 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/list", "status": "success", "path": "en/api/python/beta/environments/list.md", - "sha256": "70943368337bbd6c8210d2f508494ed2099e017ba719dde036efbc64e76a7924", - "size": 7318 + "sha256": "b3ee12680f33f904b80229028cc2f0b2c447a03d42563e6eede88ae1567fff5d", + "size": 7395 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/retrieve", "status": "success", "path": "en/api/python/beta/environments/retrieve.md", - "sha256": "42395e21d1947bb2fd5519a8b4c86ee9696c2540796367abb50e11d0430e6043", - "size": 6782 + "sha256": "c1e7c13a7a77277013939fcac29c1387251cbc662f9c872f0babf75017d4ef18", + "size": 6859 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/update", "status": "success", "path": "en/api/python/beta/environments/update.md", - "sha256": "6a1cd08b191384fefb005e94f845337e922c5bac97e961ea2059aae2cd722a8b", - "size": 9832 + "sha256": "6df86afb8eb1befbcd9c145cbbb5f85c59a3f425e1b940aae004a64a90432950", + "size": 9909 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/delete", "status": "success", "path": "en/api/python/beta/environments/delete.md", - "sha256": "6fb0a79f4dada7a906cfaa6768a5c5c55f9b5dc9a38ae02181c573a10b982f9d", - "size": 3487 + "sha256": "a54527819b7190c604fd6cd17dc158531953b3e7bc825521806d107579324796", + "size": 3564 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work", "status": "success", "path": "en/api/python/beta/environments/work.md", - "sha256": "67974d79a1baa598cc775839da3d76b4f5ebd20b6fd35135642b457f74373bf9", - "size": 47785 + "sha256": "ef58394e022adba0295fae04c55eb9299024e7c6ab3e854161b60c66b7b89ede", + "size": 48401 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/create", "status": "success", "path": "en/api/python/beta/environments/create.md", - "sha256": "567c87bed2b6122e833a3ce6c4b128d7c41c4d3d731ee781ba246771098abf93", - "size": 9713 + "sha256": "0c71e389fc6451f07401319dfb6333c5df68f2f8a1c323c14fca7e7cfa9c9c18", + "size": 9790 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/archive", "status": "success", "path": "en/api/python/beta/environments/archive.md", - "sha256": "2978e1a61cffa6105ea8be603cec250f7d77e5e599f3090b2568f1ec8b34f749", - "size": 6848 + "sha256": "cf445014a9c2b5910beef62a27e2bf4951c711043d5f6d473560306167efb710", + "size": 6925 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/list", "status": "success", "path": "en/api/python/beta/skills/list.md", - "sha256": "a24251a53bd7c4b62a6622d737de999ed28a92983adf12be8c8cc4d18c85776c", - "size": 5561 + "sha256": "97c4823da8101f754bd0c5d9d4d9110de9674457f94971df43f9810d06bcd513", + "size": 5638 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/retrieve", "status": "success", "path": "en/api/python/beta/skills/retrieve.md", - "sha256": "fbd85ce6f36c857c5d59fa0b025bc4f4436df8832cf7f8e9e51fc0d470a48185", - "size": 4999 + "sha256": "5d82c29761ed0750c908a37a3fb060b009adbc6083a4df4c6c73664fb7ebe8cd", + "size": 5076 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/delete", "status": "success", "path": "en/api/python/beta/skills/delete.md", - "sha256": "dffc457f8eaee46774bc138990c91708cd78b4c4c76ca2eb3bbe2254277f1bfc", - "size": 3447 + "sha256": "976eda7fa1e15bc7a86bd6f91c27f5e0b59d5da579cae8d5ee41bdf98d0f0824", + "size": 3524 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/create", "status": "success", "path": "en/api/python/beta/skills/create.md", - "sha256": "e27bcf4080875f4c96a9ce86050aab7052189233ce22aa9bc58fdab610fa6f60", - "size": 5251 + "sha256": "c468ef2688dd6f386b10ee631b78cc28eac083c132426e181bf70763309feda2", + "size": 5328 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions", "status": "success", "path": "en/api/python/beta/skills/versions.md", - "sha256": "9939ff629107eb04b61ee78a1a80f6b04dd4ba9b087be0f7025287053399a689", - "size": 22097 + "sha256": "2ba8375b6970e75824e3872aec5486afb872e3966bf9511ce975d87ba3e0d783", + "size": 22482 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates", "status": "success", "path": "en/api/python/beta/tunnels/certificates.md", - "sha256": "b2f2e9b8f00856694bcb995c66875bd27fdde7ed5f86dc2e595ea2b972ef2adf", - "size": 20177 + "sha256": "3eef3491033ecab28ab5b2ff5b210f1f0bac698399263ddadc0d220bc422eec0", + "size": 20485 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/list", "status": "success", "path": "en/api/python/beta/tunnels/list.md", - "sha256": "478be8c83be951cfdd3db2b61c6b20e8cc578e6f7c8fe9a74c450d7857354c01", - "size": 4732 + "sha256": "383648e9302270446051bb79c80caccb47e1a02705bb12bedfc828861f1401ec", + "size": 4809 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/retrieve", "status": "success", "path": "en/api/python/beta/tunnels/retrieve.md", - "sha256": "a713c21e6d0cd945945e165475c3a6fe39342f64259d1c682b2faff9f3938634", - "size": 4272 + "sha256": "a33f64f17c05f4f908d0ab65ba397c21e3a84b10a9132afca45eefb450a7f627", + "size": 4349 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/rotate_token", "status": "success", "path": "en/api/python/beta/tunnels/rotate_token.md", - "sha256": "7661d40a7ae422ab039d79368a2fda973cdd5434799ee0badaae6ed6f959cd37", - "size": 4072 + "sha256": "319c6a8deb44aa403cce0df23f42ac4a03d19cf510f0b2eb5c0cb4346e93a293", + "size": 4149 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/create", "status": "success", "path": "en/api/python/beta/tunnels/create.md", - "sha256": "7d878a0571eca77cd47e507494a0b1cada03eaf52e4afe7713e25d4b46cb1901", - "size": 4442 + "sha256": "a021ba0d8d4f8e62d3b00c2f195df6c3472c3220b942c2cd7ed08ac1cda10fdc", + "size": 4519 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/archive", "status": "success", "path": "en/api/python/beta/tunnels/archive.md", - "sha256": "c2553455e1a3b0312632644d7f8ca53ea96753237bd884d09895114d45e0ed9a", - "size": 4555 + "sha256": "b96fe6b381e146a6969e7f431fa4faee857bb52930bea14ce9555fc9c11db271", + "size": 4632 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/reveal_token", "status": "success", "path": "en/api/python/beta/tunnels/reveal_token.md", - "sha256": "4e647ca307d1adb4666082d50525b246ad9372442443ee04269d12818cb01ad8", - "size": 3979 + "sha256": "4034ab3a3899c49bfd0bb0c94a96fb1c148ac8ec2417b4065633f897e2c1ebea", + "size": 4056 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/files/upload", "status": "success", "path": "en/api/python/beta/files/upload.md", - "sha256": "cef92f46b30d722ffabd363fb3747100a65944a9b5ccab616be436f5452f5ac7", - "size": 5008 + "sha256": "b5647f80d1b53c33966e0fa576684c2e3b02942118f1ef8a00b94e71df627097", + "size": 5085 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/files/list", "status": "success", "path": "en/api/python/beta/files/list.md", - "sha256": "09ac2371b574b698d89bd0c187a617b4ed0a06004157395b4257e8d6ce00d208", - "size": 5436 + "sha256": "9f5cb9107ad694631454f25c02354b52bc837d0ba7dee5b6f512cdc8777544d4", + "size": 5513 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/files/retrieve_metadata", "status": "success", "path": "en/api/python/beta/files/retrieve_metadata.md", - "sha256": "2471a5de4ac87d426eae8a4d16080f859b717fe4dc958d0c5176b18816533339", - "size": 4654 + "sha256": "4aa156c2129afed8e87c72e098f0e792c270b45c6edceb4a8d4e25ad79e32399", + "size": 4731 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/files/delete", "status": "success", "path": "en/api/python/beta/files/delete.md", - "sha256": "bbb9af615c40f5d037e2de5f6d962156e87dc9b4faec151760370513165b33eb", - "size": 3305 + "sha256": "2c37a47f6a7757853ef1501b15c41e40095d21f388c9ee831a712b41686fcf49", + "size": 3382 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/files/download", "status": "success", "path": "en/api/python/beta/files/download.md", - "sha256": "d8edbacd6c960359efe7b464ea216566ce2d7f2b4368d7b5f88068fa6d6a5ea8", - "size": 3044 + "sha256": "12425750a84240d0dbd38ade4788c4ab8057d979256f71ff04d82860b07453ab", + "size": 3121 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/list", "status": "success", "path": "en/api/python/beta/tunnels/certificates/list.md", - "sha256": "31ad53bb113d5bbd7089ac5d79bea18805aae1ed50151e3b438de2feaadf597f", - "size": 5101 + "sha256": "423e79692fef21c9a205d7cfb3f3ee4e30d4bf47bc0726f1843dbef5aa393f15", + "size": 5178 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/retrieve", "status": "success", "path": "en/api/python/beta/tunnels/certificates/retrieve.md", - "sha256": "f973fe2990fd152499d4211d662d4d4459e258602872e0b3d1412f4253871ff6", - "size": 4685 + "sha256": "c34d39c0f9b1099232ee864aea9afd149c0f11ac54124d3cc8fe32a832a8815d", + "size": 4762 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/create", "status": "success", "path": "en/api/python/beta/tunnels/certificates/create.md", - "sha256": "797f813cb7a51e172cf04cfe7570de9e07d90f3e21d015bbfaa55558d21a2fc2", - "size": 4930 + "sha256": "df06c928dd01be95a59b6656d821a7a5cfebd7c158a5d8b0d29fcad80e9148d3", + "size": 5007 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/archive", "status": "success", "path": "en/api/python/beta/tunnels/certificates/archive.md", - "sha256": "da1ef3476f9bf73e51ab7feef8a47457e6201ef58f3d2e2b477c522aae5a1958", - "size": 4922 + "sha256": "481a2331fafee4c81b5b185526c384385b38362e112608bc66526a11d6a19777", + "size": 4999 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/list", "status": "success", "path": "en/api/python/beta/skills/versions/list.md", - "sha256": "9e9bfcd95030befb27965f8326c37a996b782516d357f8571534bb2549cefa3c", - "size": 4685 + "sha256": "c0a5b049e8a2b9d69fce79bf9dbee556fda3d58c3e2d71ee0849aeb44a14daec", + "size": 4762 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/retrieve", "status": "success", "path": "en/api/python/beta/skills/versions/retrieve.md", - "sha256": "254de6b6691cdc7069ecf7d724d9c0f17a8721e085a5ba85f84836c03d6d10a7", - "size": 4629 + "sha256": "0c41744a7e3f7347f3b720df9f9e2b5e9b33c74ca7ab1b067fbedc7f863bba83", + "size": 4706 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/delete", "status": "success", "path": "en/api/python/beta/skills/versions/delete.md", - "sha256": "d3073f859496bac49795171216245086375708c464680f1824924bd286447263", - "size": 3827 + "sha256": "76b0ccbb97bd1f666c381b02bf8963cb429e7ea9de2497a1a6229c533b4e644e", + "size": 3904 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/download", "status": "success", "path": "en/api/python/beta/skills/versions/download.md", - "sha256": "103becc27fa4d842596c932432ff0c7d2eccaff3b642e8b878ba805a743debac", - "size": 3491 + "sha256": "24ce05c18f16278ea1307f669a564b106ac8f7176e81f5cd54e9c13000eeb5ea", + "size": 3568 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/create", "status": "success", "path": "en/api/python/beta/skills/versions/create.md", - "sha256": "b8d8107a441617e1a366748d1d0e4fc57b0fe8f813085d9a1c4759a6d3d32735", - "size": 4530 + "sha256": "bfd4f692fc8ee0277ea13c06e9a4569b27b5e02c4230a925bcd5b64cf5fdb544", + "size": 4607 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/heartbeat", "status": "success", "path": "en/api/python/beta/environments/work/heartbeat.md", - "sha256": "05c1e2f1b96dfbc10f51bee9f1b1af0c732742a765be3450aca63df410f360bd", - "size": 4427 + "sha256": "ab36ce688f7d3ea32bfc4d4ad3b0b74b051775665126d2c66a0e0dbb9f5b0f84", + "size": 4504 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/list", "status": "success", "path": "en/api/python/beta/environments/work/list.md", - "sha256": "9577140def952c87bdd414599688f2136050805197d531cec297b9b048673273", - "size": 5565 + "sha256": "2e3040e08ef84dfe15e891f1a7487d0f2cbd6fea13d53258f879778b12abe412", + "size": 5642 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/retrieve", "status": "success", "path": "en/api/python/beta/environments/work/retrieve.md", - "sha256": "6df008e6890928298354936dc1efc15e5b347ffe1ff6bc26c40b3d52248aadea", - "size": 5666 + "sha256": "b5cc58cd9f58669661213a9e4e29f419f60624bb2b910788989ae79b7754481a", + "size": 5743 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/update", "status": "success", "path": "en/api/python/beta/environments/work/update.md", - "sha256": "1ff193330d911e953ee480fb332487f48f10a30c9720e5e0c6027d28c4f51151", - "size": 5855 + "sha256": "d20d030e1d75325e9da406a0c710816b55fb9c2844bb835750222f2e0c432cb9", + "size": 5932 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/ack", "status": "success", "path": "en/api/python/beta/environments/work/ack.md", - "sha256": "707fedb32ecf88d7ab5e1e1b781cf923971523592fe0b9211af621f6ef531d81", - "size": 5352 + "sha256": "49bd31b4bc9f7ec0fdb94a4b60b0600406734019696e793a50c89611bf22c41e", + "size": 5429 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/poll", "status": "success", "path": "en/api/python/beta/environments/work/poll.md", - "sha256": "526e5686e71bd754964997570e99ee1fed34ceeacc0cc3a11669275321d3f60c", - "size": 5800 + "sha256": "1731ed7ea88a4940adee49015eabe337e306d2af6606e633e802d98c6a0b4310", + "size": 5877 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/stats", "status": "success", "path": "en/api/python/beta/environments/work/stats.md", - "sha256": "b310a4a0ff04ff5df99c123e32269eef9ffe48b4ed0400e485e63a45666101f9", - "size": 4100 + "sha256": "9cca0165cb6ee7dc54c3e8cf0be18558bb3e51289a06175311ed07961d791574", + "size": 4177 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/stop", "status": "success", "path": "en/api/python/beta/environments/work/stop.md", - "sha256": "899ca635ec8a7c8c3fae1b79b0afeddf5635d136e6c299e58d17e2a9bf88396b", - "size": 5757 + "sha256": "c5e76a26f0ff2fe658e9d307a36ef1ec77d3ac7eedead31cbb287efe5a4ec6d0", + "size": 5834 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/list", "status": "success", "path": "en/api/python/beta/vaults/credentials/list.md", - "sha256": "0d51fa034f0824f6cdda34eb120d856f82402d70e4856687e520655281eb83b8", - "size": 8380 + "sha256": "4b8b16a5eb8dc320797b7ed5c564578f1eb51729f16b8efb4821c3b265e65a46", + "size": 8457 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/python/beta/vaults/credentials/retrieve.md", - "sha256": "dc934dba1fd2625f638b4d4848dbe1ab16df8c46341ee0193f0485587272d24d", - "size": 7913 + "sha256": "2e57c46709d03c7b649f276ad651baf84f53314d64184e28cee9b95749cc8eec", + "size": 7990 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/update", "status": "success", "path": "en/api/python/beta/vaults/credentials/update.md", - "sha256": "0c0bb43282604da6b02085b20378867344ec792ac6ef08f37cc2ad2a16157008", - "size": 12550 + "sha256": "d52e782755c3ffd6381c1b3a26879b9baf2b60cc27ada99c05721a11f89c9d2a", + "size": 12627 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/delete", "status": "success", "path": "en/api/python/beta/vaults/credentials/delete.md", - "sha256": "f1155402d824215724d49ab29c235159bfe74fa687cdad59a1954b34e47d7313", - "size": 3684 + "sha256": "6295fe4a1069b56dc21d60579eaf23d7c060e0171f6c116b29249c620d710202", + "size": 3761 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/create", "status": "success", "path": "en/api/python/beta/vaults/credentials/create.md", - "sha256": "77fc48a838906266c315d57cfa152e442b4a284d03676af780aa9c0d8c69575b", - "size": 12890 + "sha256": "1bb63bcb4d5543f6cdb46e15db07dc8372f9cf0c8be6045c7467ff7af2a08bb6", + "size": 12967 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/mcp_oauth_validate", "status": "success", "path": "en/api/python/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "24015b4b545368306aabc6ee6c59418159afe098dab98702f1a86aaa6e85cd20", - "size": 7034 + "sha256": "57667f2b0cd79af29dcbe288e57bbbda8806817b0b28a566ba4f28f9cb3f0208", + "size": 7111 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/archive", "status": "success", "path": "en/api/python/beta/vaults/credentials/archive.md", - "sha256": "b40156aeb18fabcc057e3eb928fce493bcf58caff2bb54a63d421b1901050b66", - "size": 7915 + "sha256": "46768da21647c2bbe2ed2e1f5c8c1ae7d815dd687a2b8f2b3850541dbaf4df4f", + "size": 7992 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/list", "status": "success", "path": "en/api/python/beta/sessions/resources/list.md", - "sha256": "4c6940e60084c71afd3725769ff98542a15ab534d65e670e157a2b3ac8675aff", - "size": 6493 + "sha256": "a524594dcbac4426f7d2031e301101c28fbf535f80e21fde4949dfb8d33a36ee", + "size": 6570 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/add", "status": "success", "path": "en/api/python/beta/sessions/resources/add.md", - "sha256": "c481dff9e9c6174dd92c352a9c25de77ce118d35dfaad3b22f01623af0b7956b", - "size": 4011 + "sha256": "f7260e7795ddac2844d602cda1a028d5b7bad7c05a125c9b91f6affd72a48308", + "size": 4088 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/retrieve", "status": "success", "path": "en/api/python/beta/sessions/resources/retrieve.md", - "sha256": "c4ceb0887dd2dadea92d68746ac953705bc56a20130688d6819ee629e1f33517", - "size": 5948 + "sha256": "02ca540bc9572f739de8c4d24598309e721b3769bbc5b051eafa4b423a384468", + "size": 6025 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/update", "status": "success", "path": "en/api/python/beta/sessions/resources/update.md", - "sha256": "19a122349b2893081768bccaf8f5db3979e3a53ad42685b8305ef76fb29707d1", - "size": 6167 + "sha256": "ef3849b9ec3df65c03c14025b108294279f25051d9c29fb60cecd74dcc5dfde2", + "size": 6244 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/delete", "status": "success", "path": "en/api/python/beta/sessions/resources/delete.md", - "sha256": "97fe493489a5837f651676840b3318d9b696faeed03f69b9d2a5beae31639381", - "size": 3551 + "sha256": "c29fcf795d3bfb2143eb2d1e8f68c6e6297d1dde93bce214bf779d10a4b7dabc", + "size": 3628 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/list", "status": "success", "path": "en/api/python/beta/sessions/events/list.md", - "sha256": "d5ef98c3794464e967e99d069245d4558697b9f88e1232531c3e2bfc41091ded", - "size": 97591 + "sha256": "fdeeb026dceef64b52a8d3f23b6b7e90ac5fb2e0e0a5695ee8e7f056962cacbf", + "size": 97668 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/stream", "status": "success", "path": "en/api/python/beta/sessions/events/stream.md", - "sha256": "29d7fedb455be5385c2e65eb02f571c754f4c85906d6ea6e8a047da04e2f3ac8", - "size": 98125 + "sha256": "60b62ab91f38c7ad653dac957be8021466b0e3e24fb98f85ae817009e151ffd2", + "size": 98202 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/send", "status": "success", "path": "en/api/python/beta/sessions/events/send.md", - "sha256": "cc243aeb9b974fa2d7b43610625b4d6c11472e74bd9c8e02a7b9902bffdfa85e", - "size": 25016 + "sha256": "0426b8c8c37903c50e04f38f7ff896a3b4d3857a4fcaf37138c2cfa455bfc0bd", + "size": 25093 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/list", "status": "success", "path": "en/api/python/beta/sessions/threads/list.md", - "sha256": "47964f0db5abc02c4308ad1bd7cfb7e412cc1565c5de5986063bb72eed789227", - "size": 33382 + "sha256": "9d7f3bc66f23f8a1bc5053429da780935a8b897aee9ea3a7620322709e49ed23", + "size": 33459 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/retrieve", "status": "success", "path": "en/api/python/beta/sessions/threads/retrieve.md", - "sha256": "f9d2ff1ce8c1c75feb6c7d472f15616e5da7bb0927a1db5e34cda946ec39d99c", - "size": 32533 + "sha256": "59483aa06081767af9b664cf7d57870d56fce4f4da04fe6d614b13b27777463d", + "size": 32610 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events", "status": "success", "path": "en/api/python/beta/sessions/threads/events.md", - "sha256": "1dd4e8847e0245a8f9f98470057f6ed3331f13397177f540a26566c0bb305e38", - "size": 193334 + "sha256": "126ed8d9eac6de8eff9207dda9af4b34ffd515c038db1b7f4331595b6374ae3d", + "size": 193488 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/archive", "status": "success", "path": "en/api/python/beta/sessions/threads/archive.md", - "sha256": "79919c57ba8651ab55f606dbb4d1c265eb97f5c32ad69e536d229760f3eadde7", - "size": 32551 + "sha256": "c246eb86b43b3b0e7cef6037ca501402ffe21d7a1ba890b123559c2de301e340", + "size": 32628 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events/list", "status": "success", "path": "en/api/python/beta/sessions/threads/events/list.md", - "sha256": "947fb7298f7c51e72b59847f44ab69aa850b6cef0e991fa8549b336aebd58df4", - "size": 95163 + "sha256": "b1f126c08a6a9a0d42725268bd472b0c3b969e302ad383e51bad6af5875d1635", + "size": 95240 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events/stream", "status": "success", "path": "en/api/python/beta/sessions/threads/events/stream.md", - "sha256": "e6d2e92862b900d10838eeaa413d445583fa27e98071d5111997b11bd1646f74", - "size": 98308 + "sha256": "81820b4a70152ef8a6b2af13245fb6dcb23cb98e6faa9dba3abb6313bed89419", + "size": 98385 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/list", "status": "success", "path": "en/api/python/beta/memory_stores/memory_versions/list.md", - "sha256": "f51ef529f14ff2b5702f37f50687297917932bf6a620bdc924eaf8a250331fb8", - "size": 12124 + "sha256": "c9dc762d9130e82aaa3a72c2828066952d50da5e6fa9abb5f5278eb8c047eec8", + "size": 12201 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/retrieve", "status": "success", "path": "en/api/python/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "a6a193ee8455da79bd809443f10b4489666a7410b1134e88dde9ec9c040f1e3a", - "size": 10126 + "sha256": "67e86644aa6bdb05b078a2d41ba46254b75b44c495e46b875f1582d3c668fb5b", + "size": 10203 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/redact", "status": "success", "path": "en/api/python/beta/memory_stores/memory_versions/redact.md", - "sha256": "3f6ca09ac4cf5445a27dfd7bcfd2571f322e46247236eb36e7621a453918ce47", - "size": 9504 + "sha256": "60f3efff3c0a320df15fd1f64ec2f692b4d7339df0c30e670befa644c9b8773c", + "size": 9581 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/list", "status": "success", "path": "en/api/python/beta/memory_stores/memories/list.md", - "sha256": "14c2a34463b2d21ea5472df7981eedfdd3310e89e48e88e1abe1e1afbbc0572a", - "size": 8710 + "sha256": "35e9aa2140f2ae879c53b9cb09ac7c54eddf2ca731ba77b010fdebd5c1c46a72", + "size": 8787 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/retrieve", "status": "success", "path": "en/api/python/beta/memory_stores/memories/retrieve.md", - "sha256": "6c68c3dec71827a25849bdecb868f075022d4157940837137e9324cc0666c318", - "size": 6696 + "sha256": "f8a962749bb84a09ff393062552dfeda1664b077aefe47cea6575dd17005e86e", + "size": 6773 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/update", "status": "success", "path": "en/api/python/beta/memory_stores/memories/update.md", - "sha256": "77df3f09c3b822995b72e324346df9da4d8e25b802fde95a8f9bb8af2a6c6507", - "size": 7946 + "sha256": "f5716bbd76bda9a3f894b8078438d46bdef2f38850d0a15a8dca21a65adce298", + "size": 8023 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/delete", "status": "success", "path": "en/api/python/beta/memory_stores/memories/delete.md", - "sha256": "22db25aa31e78554c3ecfe3516c558eb763a2484abb77177f90a1f1527cd17e9", - "size": 4556 + "sha256": "c1417dae5b9b091a1064dea5329317350f66b7e10e1abdf1388cd122d6a3d8c1", + "size": 4633 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/create", "status": "success", "path": "en/api/python/beta/memory_stores/memories/create.md", - "sha256": "463c80b4e3d70dd5921cc000fe11f5591639bc9e57e864024e90a49d3c61fc30", - "size": 7194 + "sha256": "3419b99462b7229740ba2cdcb0f19d0134f30791f102732618bfc64a5dcff82f", + "size": 7271 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/agents/versions/list", "status": "success", "path": "en/api/python/beta/agents/versions/list.md", - "sha256": "b49c183f50cdb3955e1547343311997487cd4a98e7f4881c1bc9eba82332b4df", - "size": 30032 + "sha256": "118de8ae966784bcbf93364d525f1563d7ea50f61dbd6551684f4c3d3f0d979e", + "size": 30109 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/cancel", "status": "success", "path": "en/api/python/beta/messages/batches/cancel.md", - "sha256": "3a55d0b0d48f3141178eb8776cb72f6ec65052eddc63bd34f9c7c2b7fb3c9bf6", - "size": 7371 + "sha256": "dbf68d516caf470282879a0d0cbf830fd2d8f7062111d80fc897ce879adc17c4", + "size": 7448 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/list", "status": "success", "path": "en/api/python/beta/messages/batches/list.md", - "sha256": "72e32fb4b3e9ba7d371c837211bae66bc556ddaacf0b8860f4d3d7cdb09592b3", - "size": 7495 + "sha256": "badf2da28722503ec2a40178691eae219e0430f3a193278284ec68c809aec836", + "size": 7572 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/retrieve", "status": "success", "path": "en/api/python/beta/messages/batches/retrieve.md", - "sha256": "f0cd81a84d36f5b3519d636e3de7f57f381edee2675a893458e5364101be971d", - "size": 7063 + "sha256": "e3f65d4dd5df6789220675282395a1af99879018744ea0813b237e8ad5008885", + "size": 7140 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/results", "status": "success", "path": "en/api/python/beta/messages/batches/results.md", - "sha256": "68c3e45c9651bf9b5da4b144dc58733b51b6644ceeb0b1697f2355c27546b13d", - "size": 156694 + "sha256": "d8f27bd7a2ec47c7d08a929e2df43686b92c6b480b393c127b97bd5944413b0f", + "size": 156771 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/delete", "status": "success", "path": "en/api/python/beta/messages/batches/delete.md", - "sha256": "9f350364bb93d06f9ddbcfd3b0ca1e3043e1e3d0bebaecee884db332c69eef20", - "size": 3802 + "sha256": "0f58e5b5bb32d996474ffa810a6e55638eb99291adb124a78121202826c19bd8", + "size": 3879 }, { "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/create", "status": "success", "path": "en/api/python/beta/messages/batches/create.md", - "sha256": "a1c332e55f18688c86cf269577cba4f20dacd8f7adc63e81b2d405ffd36095b2", - "size": 172961 + "sha256": "26283d1d0d4798e531f2adb57c4ef2001de4389430f87cf80fbdd9a97f04d188", + "size": 173788 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs", "status": "success", "path": "en/api/csharp/beta/deployment_runs.md", - "sha256": "94f34babc20159d2494a895ce2874047cf55156c147b4cdeb5590a99f12582d5", - "size": 36269 + "sha256": "6cc88ef80b17d72558cdb22ad9d89e63b9c721e0d1269874f0f142035a30e75a", + "size": 36543 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/webhooks", @@ -17908,85 +17943,85 @@ "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments", "status": "success", "path": "en/api/csharp/beta/deployments.md", - "sha256": "e8fc846fd5d99d372024c7d89a93a2bee1ccb6c5c824abf17667482b923eb706", - "size": 234641 + "sha256": "d6481c227bbaf1a5e6b3a85e21cbb3362f944e1598d7d5512c11064c8c2b6616", + "size": 235737 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles", "status": "success", "path": "en/api/csharp/beta/user_profiles.md", - "sha256": "c7b0f05bb8158ec44625e428227f2b6159f26c57b75174275c4619d698703106", - "size": 72400 + "sha256": "cbfe668da42375ed1e3a76370519d35090a45679c150d4535397838c944fc922", + "size": 73359 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents", "status": "success", "path": "en/api/csharp/beta/agents.md", - "sha256": "75c17cb065836fe9c35389a04ab7f542587ae02d2c5e6c127812a6ea1ec4d442", - "size": 459262 + "sha256": "e94ae8d0baa364f043d81d3253eec965b178d1a9b3d5f5ed433498e65d4131d5", + "size": 460084 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/files", "status": "success", "path": "en/api/csharp/beta/files.md", - "sha256": "b7fa6f0651dccfa4abbad9322b227ad6e26588dc8ad0f8da9d841edf5a1fea9b", - "size": 30002 + "sha256": "5cc40895e3a2f14b52081d441f64850b7d77d243423b4cbde34c899fce270022", + "size": 30687 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults", "status": "success", "path": "en/api/csharp/beta/vaults.md", - "sha256": "9914082357eccec855a06b51ed54b0e63f65b0a47b1aed8fc8b6060fae7387c7", - "size": 105253 + "sha256": "108222c226b60225423964da16c815099ce24a8e8e528d60ada1b142645d86fa", + "size": 107034 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills", "status": "success", "path": "en/api/csharp/beta/skills.md", - "sha256": "d428143e97bc2db4901a158bf33f0197e7b0a51e32bd1e52b799a7a55ea39f42", - "size": 55558 + "sha256": "c339db45e8e6693e705307befebf16b3e3d3262bd580386a8d0dfe766844fe52", + "size": 56791 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels", "status": "success", "path": "en/api/csharp/beta/tunnels.md", - "sha256": "6a3234c685113bd70dcdf8236c8553ff4d3e6a7ed21ad6a0dcad31cc607dcb8b", - "size": 60952 + "sha256": "3d0a09736aeb03ca4df257987d5e56f2991a7108a3b169adbca3551f68a49dae", + "size": 62322 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments", "status": "success", "path": "en/api/csharp/beta/environments.md", - "sha256": "0f7dd9a9d1958705c585ad24a1e3539848ab17c2c17d29e521d5c68c77112761", - "size": 117013 + "sha256": "4ef0fd7ce0e620e568644d335a45f948650a2ed426e81dd118d77488ddcc7825", + "size": 118931 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/models", "status": "success", "path": "en/api/csharp/beta/models.md", - "sha256": "01b2a3bb46b48ad2999bd06d9b5a8fff2f728939425c598484be49533dc24ae2", - "size": 48379 + "sha256": "656ec07f14f2a770996e48e52b31f83f38318285cadc777fa2dc71b18be497dc", + "size": 48651 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions", "status": "success", "path": "en/api/csharp/beta/sessions.md", - "sha256": "082074b4870427b6be41997f3c60266407dd429ce696d69bb748c545111e9a28", - "size": 1220070 + "sha256": "9a3f31255c5ee63fdc13df684a29422caaeddc854d8ebc1d5b4b2727048fa9fe", + "size": 1222673 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores", "status": "success", "path": "en/api/csharp/beta/memory_stores.md", - "sha256": "5071f8c350480975f1c7df8218cc249ab2cd410744e8b02400587186031b4e76", - "size": 119967 + "sha256": "c06ebde7359bfd8b3af83d6011c1ea00440403f4f78bbe78fe6f469f990fc38f", + "size": 121885 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages", "status": "success", "path": "en/api/csharp/beta/messages.md", - "sha256": "4d70a5ac5e2a6ecd8716e3658cb77081406361b21e48a19f9c6f36a99f0a2e0d", - "size": 3349600 + "sha256": "63eb06336a142e2cc489b59689a58d0f8876f8b1e648fcc6770e4d2a6bda6922", + "size": 3353060 }, { "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches", @@ -18013,22 +18048,22 @@ "url": "https://platform.claude.com/docs/en/api/csharp/models/list", "status": "success", "path": "en/api/csharp/models/list.md", - "sha256": "e78f19f01fce250a11205f9294e82969c0136aade436d5c93590c7bbf8a7ec5f", - "size": 11100 + "sha256": "8eaec45779e88f3f05410125551f4fc4817551b40b55ee818f83e1a854f18d3b", + "size": 11099 }, { "url": "https://platform.claude.com/docs/en/api/csharp/models/retrieve", "status": "success", "path": "en/api/csharp/models/retrieve.md", - "sha256": "9476b23563050e0c50c11898a5c6908fc1a4489cc4196c942da3dd15fe1e6459", - "size": 9798 + "sha256": "eb852598465fbeb67267c93337475e9940258a94668d3b660ef34fedfc0bdbc3", + "size": 9797 }, { "url": "https://platform.claude.com/docs/en/api/csharp/completions/create", "status": "success", "path": "en/api/csharp/completions/create.md", - "sha256": "2d61884f7226bd60ef76213e3dfd0b2d712e888d7a08608dbc9b5e48febfe679", - "size": 13310 + "sha256": "2d8a123b5bc6856ce2d24fe86513ccba438ce44bc84cbf113b5ec700c9adaf76", + "size": 13387 }, { "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/cancel", @@ -18076,897 +18111,897 @@ "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches", "status": "success", "path": "en/api/csharp/beta/messages/batches.md", - "sha256": "8c846c8c5e62f8d126ff850b4011d1628997e1a5236d900d0de86c86278d1ddd", - "size": 807456 + "sha256": "5b0dbe9fa2b6f11c00682d77793ee5e13457bba66c4c3c8749ac2de5cecfd050", + "size": 809120 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/count_tokens", "status": "success", "path": "en/api/csharp/beta/messages/count_tokens.md", - "sha256": "50109e350b9bd448011913f7135c63510bc892ac8b52394cd44349071747fd0c", - "size": 145587 + "sha256": "b03ab8e8c3c4d9e7ec08984ce6a90cbee1607442f58b076c3c9e6e738bc2d487", + "size": 145724 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/create", "status": "success", "path": "en/api/csharp/beta/messages/create.md", - "sha256": "d005854df8354a7ac92e8d15d46f84443b6ab4f37ca85b116e09f5dbeb1387f6", - "size": 300613 + "sha256": "88ae596e401c66db9e911c799c0bf8e701d36dbe6aa651ee8c9b6c5edfa95a1a", + "size": 301093 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/list", "status": "success", "path": "en/api/csharp/beta/user_profiles/list.md", - "sha256": "562e0c50f85b5809eafda0b8e914edb49290abe766413215bd0f327d8da9a28d", - "size": 11495 + "sha256": "5b4ed6ea1237c427d10ed9fa8542d346c8823581cd2ab5b9502ea76b607b8fc4", + "size": 11632 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/retrieve", "status": "success", "path": "en/api/csharp/beta/user_profiles/retrieve.md", - "sha256": "a22a79ce66b81c9b7a71a1733ed7443fe28ec07992026983f97b747dff03ebe5", - "size": 10392 + "sha256": "efd46b58cbe8eae637e0d555f84d4ce1cb4f5ef4829838c646e3dd70515408c0", + "size": 10529 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/update", "status": "success", "path": "en/api/csharp/beta/user_profiles/update.md", - "sha256": "8ef725159fd62663db8bd4e4e178567ef3f8ed12ad8138fc14940d4c6d82fb07", - "size": 12436 + "sha256": "df015d08c51547f671e6412d4f5942a9982c378711dda9aebeb6dd768e9b9420", + "size": 12573 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/create", "status": "success", "path": "en/api/csharp/beta/user_profiles/create.md", - "sha256": "d1b799da540646cfd82425ea41bcd33ff8a31ced53c07f1fe7146abf3dfd48ee", - "size": 12570 + "sha256": "e461ece8e7002a91528910ea1a45dec66f13699f2c62cdfbad41b50b94d9d71b", + "size": 12707 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/create_enrollment_url", "status": "success", "path": "en/api/csharp/beta/user_profiles/create_enrollment_url.md", - "sha256": "b920ddc0d69483ba290baaa807407e54233a285bfa3cb69c999f13852711b1d3", - "size": 5360 + "sha256": "52e65af2bca3200cf4ffa5a0d6d22b1ab6809aae0fa63d0f0b89fae61f4c0b14", + "size": 5497 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/list", "status": "success", "path": "en/api/csharp/beta/agents/list.md", - "sha256": "750f82f837ca61226d6a89bdf4a7bdeb3901330c17c19153473d9ef4e8c866bf", - "size": 32808 + "sha256": "7ab7d529eb90142ad92e9a86865fff15216f8c3be6e6852c0fe501a640c07d62", + "size": 32945 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/retrieve", "status": "success", "path": "en/api/csharp/beta/agents/retrieve.md", - "sha256": "618511b1f6f067c26a1d3d5e28f16fd4dd9693d31bf428ef7753fb5fe8158fb2", - "size": 32096 + "sha256": "294558d69bbdb89c9b98d6872c8861795bd3278592d32a9c66d48b8e780157b7", + "size": 32233 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/update", "status": "success", "path": "en/api/csharp/beta/agents/update.md", - "sha256": "3a99e773758f216ed29f275cf0bbdea4d537d91e8bc687936f6859d0edf1c219", - "size": 63056 + "sha256": "26cecd540508e3bf9510c0005dc3422f01f2e6f404d68353d00cedd0db1cd63f", + "size": 63193 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/create", "status": "success", "path": "en/api/csharp/beta/agents/create.md", - "sha256": "ad7bc93182814a9c493f05f66ddf95bb2681b77cd293eec389e1ec832dce4a72", - "size": 62190 + "sha256": "dde74358cac631805afb90d86114dd54faf9516640255d0616711f0e4bab9a51", + "size": 62327 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/archive", "status": "success", "path": "en/api/csharp/beta/agents/archive.md", - "sha256": "0a99d500bba24c3d36d58a643a54b9ad291403693566d39a20eb6d149ef26918", - "size": 31968 + "sha256": "cd70df2b282afe6f295a8e8c0056684746ca433d208a648b648509259f882a97", + "size": 32105 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/versions", "status": "success", "path": "en/api/csharp/beta/agents/versions.md", - "sha256": "5d1fe4d1ee7230dda6b3c973b0d359c060395c964fb738f47466aa071aa00d9c", - "size": 32622 + "sha256": "ae0c45a0cd39e274d1fd969c4d4f392cd0b05fe0b70e23fdb5b36a57bbfb1053", + "size": 32759 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/list", "status": "success", "path": "en/api/csharp/beta/memory_stores/list.md", - "sha256": "6dea16116978813d9bdd99ec3f03d3bb887620becaafbcaf9ce61f0e2a1b51cb", - "size": 7649 + "sha256": "1e213b12aa803578702a308c1e78416eaa76dff90a43bdfb06b321e55f69e15b", + "size": 7786 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories", "status": "success", "path": "en/api/csharp/beta/memory_stores/memories.md", - "sha256": "76b28ff1a808a03cbdaca803b6a271f4cffc2352b75e5dc5299c4636dd75e360", - "size": 55531 + "sha256": "c50a78224ead9fddb60c1cce96b8c6e2f0226e412fa161427354ab64b03b594c", + "size": 56216 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/retrieve", "status": "success", "path": "en/api/csharp/beta/memory_stores/retrieve.md", - "sha256": "66889707684e73be844ddc5a7a8cc19562f3890ae57fa92268a4c7da70de4c4a", - "size": 6969 + "sha256": "e735eb60241410f4952a9859aa4bc61713f9ff94785daac22ea1d2eb2ee6888e", + "size": 7106 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/update", "status": "success", "path": "en/api/csharp/beta/memory_stores/update.md", - "sha256": "e623cdef80f95689474e2ebee503c41c595b0fa6b050dec7a496748506ed08b3", - "size": 7772 + "sha256": "7b2dd4ff81ba238825a2712c7f50d44ce79324d7fd8a72316d6f291912a1b8d0", + "size": 7909 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions", "status": "success", "path": "en/api/csharp/beta/memory_stores/memory_versions.md", - "sha256": "10f3a964a0f132eefa438b38f6b7c217ddf839600434ed183506a28e694fc3c8", - "size": 44610 + "sha256": "f66019151545b2e5791539adf85ba4e02008dd3f99126cf23583be7043981c24", + "size": 45021 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/delete", "status": "success", "path": "en/api/csharp/beta/memory_stores/delete.md", - "sha256": "01d0ce3516e42abd094a5e263af7e281831770f389bd63cc3833dec29e9373ea", - "size": 5165 + "sha256": "5eabe84dab2337bedf77934470955de5b3a6e59219d465378116345279c74982", + "size": 5302 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/create", "status": "success", "path": "en/api/csharp/beta/memory_stores/create.md", - "sha256": "a6ee44c06bd5fe4a1240e230f27bb1ca43880dddc4e4547653a91e9dd2efeb6c", - "size": 7947 + "sha256": "b20b661b6f01971079fdac7a294b7893c477675cac248c188092e8820ccb110d", + "size": 8084 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/archive", "status": "success", "path": "en/api/csharp/beta/memory_stores/archive.md", - "sha256": "ecaf5150c13ab263f1d1fd86fda4cf3df866ecf8aaae4433d0c1f7df0dc2141c", - "size": 7066 + "sha256": "2916fe98c610b20214c11953eaded3c3cfa9d9f75d27890d216fd92ca1862571", + "size": 7203 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/models/list", "status": "success", "path": "en/api/csharp/beta/models/list.md", - "sha256": "f5be33c94110911b82d94021914e31e0bdd6988dfbe11c2aae1ca6bb36cf7852", - "size": 15478 + "sha256": "d784e7d0457b0c1a2c9145b097fdb1e3f8047db39ad7e5fbae90ad98c2f2ddfb", + "size": 15614 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/models/retrieve", "status": "success", "path": "en/api/csharp/beta/models/retrieve.md", - "sha256": "222410e0da07705fc47d2eddd553e6f3ae3b153828de2fc2b1b199ca0293f47e", - "size": 14152 + "sha256": "41c883b47ab9cefcfdaea57092e56c54c049feb2e356e52ff392371c1f2800de", + "size": 14288 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/list", "status": "success", "path": "en/api/csharp/beta/sessions/list.md", - "sha256": "702a001b64cd90dfdaf8d08579fb7571fc615b8e1843550c485d9fa5b11d3eaf", - "size": 50694 + "sha256": "06e0488dd094beffc82692f90400e6cd504f63853c9b402846b76005730ad583", + "size": 50831 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/retrieve", "status": "success", "path": "en/api/csharp/beta/sessions/retrieve.md", - "sha256": "09d01e4322cb317a2f5f898f54f3650e2a7bdf24d1069565c122861a84a7b6da", - "size": 47901 + "sha256": "9177910ff3e94493d8b2114e9c248df0953909604024368ba7c6001b3a043c2d", + "size": 48038 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/update", "status": "success", "path": "en/api/csharp/beta/sessions/update.md", - "sha256": "c2362614ac8dd79171547be77eb17543c2ef02678cca7798863cda249248fc85", - "size": 49209 + "sha256": "b5822b424765147b0a9a719a4b463cfd79395322c0b2fed636b66c48d400501c", + "size": 49346 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources", "status": "success", "path": "en/api/csharp/beta/sessions/resources.md", - "sha256": "a567d27afc9a93f4a1e05a3e06340b7fbb97cd56605a340e84a1b52c712c7e77", - "size": 38771 + "sha256": "4012968204dc1d2293c501282ed4001ef35b98e277a53c7fedc29423d636f867", + "size": 39456 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads", "status": "success", "path": "en/api/csharp/beta/sessions/threads.md", - "sha256": "b0b4618123690011370caf86063c6a24052354c502dfa577fb11115c2376977a", - "size": 459139 + "sha256": "ef0a07f0c13cc652fde2eb39442497f38a8a366398ee802847f43beeda6170bb", + "size": 459824 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/delete", "status": "success", "path": "en/api/csharp/beta/sessions/delete.md", - "sha256": "0e7eb49152ab4bc07597138218b0d535992d2155fdd25f50240be06ccbe0f0ef", - "size": 4808 + "sha256": "e36cae3026384e671101e3cc229289ba6aa534b6daab7ffcc5bb76707ede6ca2", + "size": 4945 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/create", "status": "success", "path": "en/api/csharp/beta/sessions/create.md", - "sha256": "efe8e27b0db2be41c1eeac380e5e0bb53d0f5884192ab4bc6f913486818344f0", - "size": 88607 + "sha256": "2fd3199321b34334068b587f780c5968c01ff4c7b8bf89e99e12d873f081c6d2", + "size": 88744 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events", "status": "success", "path": "en/api/csharp/beta/sessions/events.md", - "sha256": "1b5c6aec55129de7925502f0db2803836b3ef205b4b66064c93a2ab4969d8e2d", - "size": 588457 + "sha256": "02cc7129245ed7e4b94aa4ae01b65a9a6092864947aae9ebdcb503f5b94894fc", + "size": 588868 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/archive", "status": "success", "path": "en/api/csharp/beta/sessions/archive.md", - "sha256": "efd7ae46193373b653fddcae8067e62473675a1b47ea15ae1344ad8c25a14c0c", - "size": 47917 + "sha256": "d4bd0ed49900db5bb5483e7073f25ce42cb1f708ec360bd7d846f03e31cae473", + "size": 48054 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs/list", "status": "success", "path": "en/api/csharp/beta/deployment_runs/list.md", - "sha256": "ca8494d4ca8075e1fe0464a4c21b65035181da35898da99da443a97a12c3ff79", - "size": 12431 + "sha256": "8e03cde9b7e49c3ecc487b65b2b907b49abd94a88187c324b6af16ea9463baa7", + "size": 12568 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs/retrieve", "status": "success", "path": "en/api/csharp/beta/deployment_runs/retrieve.md", - "sha256": "aa820a97081c23fd08ed256f018c43d0aa564a6b06093c54bb6fa80a6483e54b", - "size": 11194 + "sha256": "3306a9b666c8d5c9e84314b597507882473b19cde13f88763b0a7a41861ed49f", + "size": 11331 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/list", "status": "success", "path": "en/api/csharp/beta/deployments/list.md", - "sha256": "4ac7123cf4cc58c50f3c5f9b0aac38c1f3aaf7ca83bedaa5d27c406d72475f34", - "size": 22305 + "sha256": "712e20fb48b0086ba4088f192abba758ec4789fd097cf3f216655613982f4c59", + "size": 22442 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/retrieve", "status": "success", "path": "en/api/csharp/beta/deployments/retrieve.md", - "sha256": "af444113dd76ec3938f35f5c35d7d935b7b0d34c6ad1f2ff28c62205ed8d21a4", - "size": 21292 + "sha256": "862d5ac955128f553be6dd45f606ebbd3e73bfab23a275c73a860f2e2b0351c1", + "size": 21429 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/update", "status": "success", "path": "en/api/csharp/beta/deployments/update.md", - "sha256": "0c20b252b8a6258aba5cbf6770bc5d9677fd64dc879041b9da8eb257af5f880d", - "size": 31496 + "sha256": "119a795618e8b6d684bda03764f5fac5586c5310e188d7abac2e9bffe5d4b8f7", + "size": 31633 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/pause", "status": "success", "path": "en/api/csharp/beta/deployments/pause.md", - "sha256": "0545b05c7b4b53bd77f2319fd09774fed424ca6163244d57c7466cee42433e9b", - "size": 21299 + "sha256": "7573bd9aebaad660c7c3c674b1b62920d1935ec41d956c1d1936b40eefae3f49", + "size": 21436 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/run", "status": "success", "path": "en/api/csharp/beta/deployments/run.md", - "sha256": "ed2e0e621b13c70a154c31cc3e5cdc553d696821a821eb5532fd64ad2b1b4a39", - "size": 11156 + "sha256": "59b25a440fd1cd7eb56355ccddcb63d84975cc71084940065bfe545f8a49381e", + "size": 11293 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/unpause", "status": "success", "path": "en/api/csharp/beta/deployments/unpause.md", - "sha256": "132cddacb47d93e7a2e442d8295e2fcbce3a3c2bf73c7296b2f8d2fbe250472e", - "size": 21319 + "sha256": "fd4d8ea3fe2d7dff7b66b6d9004c4739b80fd9697c76f03822e4a794e850c673", + "size": 21456 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/create", "status": "success", "path": "en/api/csharp/beta/deployments/create.md", - "sha256": "d4b9e6caae813505f7463747f68f0438ab2439e400ce1988cbb4064f31f2a1d7", - "size": 31607 + "sha256": "d5f8afd4ce8ce63995785374715cad0b0c209d2136b1aa459555d7b150344f85", + "size": 31744 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/archive", "status": "success", "path": "en/api/csharp/beta/deployments/archive.md", - "sha256": "ce7e8bacdb5518d9d2343955444fffcf9c62173b4f52cfdc3feabfe0214b5b55", - "size": 21319 + "sha256": "0aaedb8bab69063a3a0c102279a8e82818031d447b2792ef442a701cbcb031c6", + "size": 21456 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/list", "status": "success", "path": "en/api/csharp/beta/vaults/list.md", - "sha256": "686e947a294db9c56c213cb915ee686ff2499ec7be63bd66a743ce8c13d7e479", - "size": 5977 + "sha256": "1f9427207b42f1fe74849f5c79ba3bb5f51e3770d26adfe237fe5b055b873583", + "size": 6114 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/retrieve", "status": "success", "path": "en/api/csharp/beta/vaults/retrieve.md", - "sha256": "aca5d130aeb29aef808afded9e523ba0a40dbaafab82b846939345c02d36e24f", - "size": 5550 + "sha256": "ee07345ad04121fb9129b5629ab497d5cf670e31b64e8a29cf3955d9917bb4c9", + "size": 5687 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/update", "status": "success", "path": "en/api/csharp/beta/vaults/update.md", - "sha256": "e3ed475ac9162e53c0ac4c9656cd853002b3455509765e6f683102d39c451891", - "size": 5823 + "sha256": "78810f3754cee588837310b4b8301f51b60e6e43c74f0dfd650ec0605f97b81f", + "size": 5960 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials", "status": "success", "path": "en/api/csharp/beta/vaults/credentials.md", - "sha256": "c830816b14eb227aff3352aede4a240d35a105e9d518159220d6d2c113fba848", - "size": 105547 + "sha256": "c160c66b6995ee1af933d78b8851856768946cb0dd1d50d57edbb7602335949f", + "size": 106506 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/delete", "status": "success", "path": "en/api/csharp/beta/vaults/delete.md", - "sha256": "01ebafda856d936e91fdcfef4477383df5c8a156ac8e97ca683613e24e0577c7", - "size": 4847 + "sha256": "c59178d66dbc47ec20b5646ff49ef0308f4ee7a225cddc661735310f6f627eb5", + "size": 4984 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/create", "status": "success", "path": "en/api/csharp/beta/vaults/create.md", - "sha256": "95664df0dbd49fd96541b7bed9fe383d0865aaad3658e2e234b088e788535d5d", - "size": 5712 + "sha256": "09b314460be23521df0cd33a16d9c2b2b7e87563e56c8968da040b3d92201342", + "size": 5849 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/archive", "status": "success", "path": "en/api/csharp/beta/vaults/archive.md", - "sha256": "f8008c845eabddd03555869f93ea5b1cfc7df41b59ad5ea5e8669096c781e371", - "size": 5550 + "sha256": "52feda535bdd33093d3a32beded9b90ed34a16433fdbee07d1572a6ab798ad9b", + "size": 5687 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/list", "status": "success", "path": "en/api/csharp/beta/environments/list.md", - "sha256": "1c36e667da7840c0226cc15e6ba57ecad6c915eb562dda968dfe5dcb8450b039", - "size": 8914 + "sha256": "253e262e9a2236eba44d62b2b369836dcf3ba0c56650388becc88b07b07af3c1", + "size": 9051 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/retrieve", "status": "success", "path": "en/api/csharp/beta/environments/retrieve.md", - "sha256": "8475e23968eab89462bffd06ac9c59573c3bf08ffe7101541cf213eef18791b9", - "size": 8410 + "sha256": "2f3f7b9bc7d3002098e2ed8b1167e9b2cfe8c1a41850b09cd46549a8336bb543", + "size": 8547 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/update", "status": "success", "path": "en/api/csharp/beta/environments/update.md", - "sha256": "e8a1f6babf5a7ccdebbadad6e93a219746a44e6ad2c97dbabf2cb456cc3a7a52", - "size": 11436 + "sha256": "7319ba44a044a8569682c065c6ff7fe6a071e3172d8d3e9b84f5804456de0654", + "size": 11573 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/delete", "status": "success", "path": "en/api/csharp/beta/environments/delete.md", - "sha256": "a2b4404ca28c6306ec342adf29b978ae599a2abb9a768159ce9895c35778cbd3", - "size": 4917 + "sha256": "27e9f5457049372c9b66850972973f50cf4f1b3ffd8aa4c16c0ddf2db300a842", + "size": 5054 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work", "status": "success", "path": "en/api/csharp/beta/environments/work.md", - "sha256": "8fbc3d5750f8c826624f0dee4f6288c4c85a05d51ce978d6e24f01607cbc1edb", - "size": 60092 + "sha256": "c529539706713db988f26bac2591f8f382f4c4142987b83ddc4503ab3d3ea3b0", + "size": 61188 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/create", "status": "success", "path": "en/api/csharp/beta/environments/create.md", - "sha256": "23d4740eed0a4aeb245dc14d90e6cd5f71ad9ca842a6de39de86c4ccf7e31e17", - "size": 11346 + "sha256": "e36e3546203847125530e2f23572234c3caec8c2a7cd272664974de7474758d1", + "size": 11483 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/archive", "status": "success", "path": "en/api/csharp/beta/environments/archive.md", - "sha256": "5a392d849090bf1a566f3079337bad0a555486ffcf061c7b55460e590e3ff051", - "size": 8474 + "sha256": "7193ab4c55d7d5ff70fa49650d79cbddfc1acddaf6cc87a73a0bb3d99469d5a6", + "size": 8611 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/list", "status": "success", "path": "en/api/csharp/beta/skills/list.md", - "sha256": "e2b7ab8f6e1fe77d398b95145db83fca11b10402d41d43c8908ac1c30c52ae03", - "size": 7045 + "sha256": "6546f0fc85fd0ebc26443244b9ea75016263c772d112a37f665850780b81ffb6", + "size": 7182 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/retrieve", "status": "success", "path": "en/api/csharp/beta/skills/retrieve.md", - "sha256": "55c85f93fc314c3a2d9c70a65c3ea90fdb863607d3794825f3e7c67e7578841a", - "size": 6488 + "sha256": "af48b1ff7d595b8c7eb82a8f74a927423ec84a7651b08d46a5ec22e74bf403f2", + "size": 6625 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/delete", "status": "success", "path": "en/api/csharp/beta/skills/delete.md", - "sha256": "db9b66061bf132b92d474bc069f0c1b5735b303e21be3072870b4101fa2d355e", - "size": 4873 + "sha256": "87a55cc6813946c32e6f549809c440e4b339bb574492083f46878edec83fe843", + "size": 5010 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/create", "status": "success", "path": "en/api/csharp/beta/skills/create.md", - "sha256": "229788b90e0583607de174aeb5ee6978fd0d3aad59495bbea661be1951eabf9f", - "size": 6819 + "sha256": "cd70c303c08b9a1d92f088bf81263a401dd59254fbd54f43203cd6e81039c7a2", + "size": 6956 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions", "status": "success", "path": "en/api/csharp/beta/skills/versions.md", - "sha256": "4b03011630c25570251351e1b0b47ad65bd56aa443514db97417ad3ebca4a3fc", - "size": 29528 + "sha256": "ebd6d132e05952ecde72b0e8d54d4b93f2a540699cbb743931258a9fda15c6e5", + "size": 30213 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates", "status": "success", "path": "en/api/csharp/beta/tunnels/certificates.md", - "sha256": "a7f7e266b0f4e69fe973edaada8142e79bd987aea722a7165775c2970aa1ca72", - "size": 26362 + "sha256": "b8dfb5990790c01b248d9c662de7f6e2ed2de4931e4e26488d04a2790d6cb40e", + "size": 26910 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/list", "status": "success", "path": "en/api/csharp/beta/tunnels/list.md", - "sha256": "7e9204b9f2e572149f8782e6c145c1d68cce32fa154cd1268c8318e134ab3077", - "size": 6215 + "sha256": "942f465278c08daa5581472ef6dbb9654f5d8b9ed70963cf5187cab18753bfe6", + "size": 6352 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/retrieve", "status": "success", "path": "en/api/csharp/beta/tunnels/retrieve.md", - "sha256": "99025b8014f173fdf68a8cac19e7b7a702e73d584ef3b20d3933ae4fbcb7414e", - "size": 5761 + "sha256": "61d7d51f20ccef78c6031dd563836e7b67679c96fbe3484f31c91013afdcaa8d", + "size": 5898 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/rotate_token", "status": "success", "path": "en/api/csharp/beta/tunnels/rotate_token.md", - "sha256": "098728ed3523207c5d66b0d76370a09e45e2bd5ca44b20c719390526c529d33e", - "size": 5543 + "sha256": "92d3f2bc58d6db199deb8e8f0dc89768930add87da3d95e566c4e536ea1d9fce", + "size": 5680 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/create", "status": "success", "path": "en/api/csharp/beta/tunnels/create.md", - "sha256": "aa9f0fc9891ac2fa199b3c8749847c93c9b92bcc5df9214f94e55957f8b32bd0", - "size": 5923 + "sha256": "86ab848d8c844f07e15afba56380aad63b4786747289563089e9e3d74bf60a46", + "size": 6060 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/archive", "status": "success", "path": "en/api/csharp/beta/tunnels/archive.md", - "sha256": "7a86bf4abc6d6902fa99a7d5c9ed0f312341d3fcb78074154f70967f8f64f681", - "size": 6042 + "sha256": "f034475f23dd663de6b9a7f027f0ed8113240a259f5a1905bad4905f8511a5ff", + "size": 6179 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/reveal_token", "status": "success", "path": "en/api/csharp/beta/tunnels/reveal_token.md", - "sha256": "257e99eb64100f78937492109a57f231edd0ce27944270a3eddc3d4bd37f66fd", - "size": 5451 + "sha256": "5c87491aa26a7bddbb4dfbd47e4a96fb579fd01768659fff1f495370f4e1fe49", + "size": 5588 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/upload", "status": "success", "path": "en/api/csharp/beta/files/upload.md", - "sha256": "2431d25381b885227a85e3e8f9b76f35c2776a8f28118d468d529e3987e43356", - "size": 6523 + "sha256": "987a635a48d61f926a729a0c4d7ae6fdaa6c74fcd91a98118d968a4386cfef5f", + "size": 6660 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/list", "status": "success", "path": "en/api/csharp/beta/files/list.md", - "sha256": "44bde625ce8056c5b4f22a3e1208b091fb94ffd423ea30dc023a0d169c36919b", - "size": 6883 + "sha256": "aa6a2dc6e5cb04e4b9dfbb8a777ebdfb875405563863c143b73c893b53bf0de3", + "size": 7020 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/retrieve_metadata", "status": "success", "path": "en/api/csharp/beta/files/retrieve_metadata.md", - "sha256": "aff83f513128ef4efa643148cddf8b165844064c166244f4dd794c53ee080792", - "size": 6133 + "sha256": "4549217d926667fcf10fce92d5c1d648915eea7c9713d455ab7b98ef8d7f163f", + "size": 6270 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/delete", "status": "success", "path": "en/api/csharp/beta/files/delete.md", - "sha256": "82ebad618d1e8afff02cf668d168e9df6c45f1689a2e2c2cd9173bd8f3085fd2", - "size": 4694 + "sha256": "657e21e14e154b4118d4ec21f580ec527de777bf7dc9e36c6d3db3b220c65e8e", + "size": 4831 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/download", "status": "success", "path": "en/api/csharp/beta/files/download.md", - "sha256": "5007ddaa427a2616238ac9c6e8b04030dc6b35c07ab9972dea3096ad05976a08", - "size": 4401 + "sha256": "ebbf4aa39f770bd736aef8ca90b0921991a83077505395b314478183a5c494f1", + "size": 4538 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/list", "status": "success", "path": "en/api/csharp/beta/tunnels/certificates/list.md", - "sha256": "2ab29a7325bcc0d48804f90301391e40e3fbe43ad9751e6228fdfe13ec5e0c5d", - "size": 6616 + "sha256": "536d3bf8c7e2144df083e8cf174f64b6060de520acc253d17edd22d2b2aef474", + "size": 6753 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/retrieve", "status": "success", "path": "en/api/csharp/beta/tunnels/certificates/retrieve.md", - "sha256": "0e55a57c2af08369b0a6967d11aabe97105d9643fa9834672058c42aa8ee7810", - "size": 6223 + "sha256": "f3a0d76eeb6c50ffeb02228b7d0598ac417ba22e9149608c32ac227dc0a85e0a", + "size": 6360 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/create", "status": "success", "path": "en/api/csharp/beta/tunnels/certificates/create.md", - "sha256": "475fc5f2b5654d79df04bafde6d9a00961a902114ebac3653c62116ddfac64e7", - "size": 6469 + "sha256": "06030ee2dc19edd9f366d4076be4aa9354486e1b2b5060ed4b6e17af62991595", + "size": 6606 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/archive", "status": "success", "path": "en/api/csharp/beta/tunnels/certificates/archive.md", - "sha256": "a496366ab26dce741f779576d6f369ca2bfeab2e6933a9c61f116b1ea405b12f", - "size": 6458 + "sha256": "04e8f0c20fbfef3889616d3b9f1e8b3617fdbe4bc6d55c085308046aa1873feb", + "size": 6595 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/list", "status": "success", "path": "en/api/csharp/beta/skills/versions/list.md", - "sha256": "922d13f2ba9d3128e49956502a20e4e959b837d283d0be5838a7e90304dde234", - "size": 6166 + "sha256": "04eeec0d2d2ecdb47a7c7bfbfbd5489ff4e66aaa3e0305602087af8f1c47403b", + "size": 6303 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/retrieve", "status": "success", "path": "en/api/csharp/beta/skills/versions/retrieve.md", - "sha256": "95a1fe6a8af0ba3f8d9590312df44e2d95090e9633c25e6ed60e31df174ecfbc", - "size": 6142 + "sha256": "48f06e405a982c7e383fd8501c383699e99c4851b5433b16426faee1adabc548", + "size": 6279 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/delete", "status": "success", "path": "en/api/csharp/beta/skills/versions/delete.md", - "sha256": "60bc0500e07b51f88ea1e0fc82ae50f953050d21179c523c24cb7ae938b4d517", - "size": 5281 + "sha256": "923948a96e94a5c3d63964c40b884c663e42b49651ad291350393b0fdf6a4664", + "size": 5418 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/download", "status": "success", "path": "en/api/csharp/beta/skills/versions/download.md", - "sha256": "67e9a134730a34f8ec9eae37105cdba589ac179040b1297f8d835fa7c03d5785", - "size": 4890 + "sha256": "8721f41d321e3b2d9cb8ca3f2ca7ed345bba2762476a02cdb7e0d4bd88a75e5c", + "size": 5027 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/create", "status": "success", "path": "en/api/csharp/beta/skills/versions/create.md", - "sha256": "221fac82a7ea23fa2091101bf964c79a2a76ceab5a250e1f2c8975e85ee5a4c6", - "size": 6104 + "sha256": "c5ddc3de53d0c1e6caed099dee5d3166b680fed703a2077d8c064d3ef9aa2025", + "size": 6241 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/heartbeat", "status": "success", "path": "en/api/csharp/beta/environments/work/heartbeat.md", - "sha256": "c36201f93268b898597f37d3ac322d7512037f8fa2033f0443b3c9b2f16e3904", - "size": 5880 + "sha256": "2dd0eeafd9d00bab1ecbf6fd760e26e7939f3e5241d8c9b582eb6cf93358cc63", + "size": 6017 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/list", "status": "success", "path": "en/api/csharp/beta/environments/work/list.md", - "sha256": "38fd7a1a1f8e103252f633031ef8c0ef61950bdb03a776bd1be9bf2a7d224e71", - "size": 7083 + "sha256": "632164d005a2c6762c030a77cb260ba73cc997791c921e1556e460c73eb2ee29", + "size": 7220 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/retrieve", "status": "success", "path": "en/api/csharp/beta/environments/work/retrieve.md", - "sha256": "97deed600ce828815888a2b6bb93690bd1ef34a29781434ba6ff46ecd0ec4058", - "size": 7215 + "sha256": "3cf0b14544b43938a15344f027fdd710840aa2298f5e0114595e1d009be3e06b", + "size": 7352 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/update", "status": "success", "path": "en/api/csharp/beta/environments/work/update.md", - "sha256": "3a7dde0bdc358ad41b187ed90d5b059841e08920780fa566d2c44b5b2a44d2cd", - "size": 7499 + "sha256": "0fa15f19fd144b261517968472fca37f47a6f64718429f7aacab7810cd8613ea", + "size": 7636 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/ack", "status": "success", "path": "en/api/csharp/beta/environments/work/ack.md", - "sha256": "6ccbbf965e8976ad68ad3d634f95a789a4d9be6e0c8ba8063e4c6cabc343c9be", - "size": 6894 + "sha256": "d57124960d512e1c82e80c99fa73a2742f8b3e2ddb78d5ee1523c7edf43427d5", + "size": 7031 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/poll", "status": "success", "path": "en/api/csharp/beta/environments/work/poll.md", - "sha256": "bb586f5b9bf602341567e1019ffedf90ec614c7c5eda2d5e5567f39057c468c5", - "size": 7308 + "sha256": "ec5dccdc1831f68a74467ac66e9963e25884f19e9cbf6cda40db521e20bbbeb9", + "size": 7445 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/stats", "status": "success", "path": "en/api/csharp/beta/environments/work/stats.md", - "sha256": "1cfa6e1553ff2b0d872adc18d90d5234b069a788874bf35aca6880e4a4e16438", - "size": 5505 + "sha256": "737e46d6655822f35b7814f4629f0ff1295805b37c44b890a79f4cb5406561ea", + "size": 5642 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/stop", "status": "success", "path": "en/api/csharp/beta/environments/work/stop.md", - "sha256": "07e8fe70826d66dabb29f4382a8f0213452980a07e7d07c3bec9c6e49e15eacc", - "size": 7273 + "sha256": "70261f7b4986451c4846fede73c97815642d68f65712168968c3a01b10ec4a01", + "size": 7410 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/list", "status": "success", "path": "en/api/csharp/beta/vaults/credentials/list.md", - "sha256": "d24b7b8a20c6755ae46b3f807c533ce6c06e94b03c932a63ffcc90f334380d15", - "size": 10023 + "sha256": "722517025aac25e1a31803e90c858d68521ebb06fb523052958821ce410e9c93", + "size": 10160 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/csharp/beta/vaults/credentials/retrieve.md", - "sha256": "81cfc57aed439832d11edcd0339524bb2b0cd204b08be6cf89ae0ed0e574723d", - "size": 9580 + "sha256": "dca5757769266d58f456573fc69e8006ea0e2ce8b45b126f95f72c2976912b39", + "size": 9717 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/update", "status": "success", "path": "en/api/csharp/beta/vaults/credentials/update.md", - "sha256": "7ac629b5fe656104202747c2ef5527d34541f81bf7fddac9869351f16b81c3c3", - "size": 14234 + "sha256": "eba87fae06eb81ff63f120d166a5b3e5052ecbffd301ac66a7b0c7104c65737c", + "size": 14371 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/delete", "status": "success", "path": "en/api/csharp/beta/vaults/credentials/delete.md", - "sha256": "9997b54c71f5cb776bc27b26b2ab80a43a4ded7fa49847d5ecb35231aa16d902", - "size": 5169 + "sha256": "6c10fc4312a5573cf314871400396341daf10da7773fb2ad97acb09fa1f9cad0", + "size": 5306 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/create", "status": "success", "path": "en/api/csharp/beta/vaults/credentials/create.md", - "sha256": "f9f8f266abbb2825274f8457d102ee5b31e7788a7ab14d26a81c77f57ba17c9d", - "size": 14835 + "sha256": "980b764b480be96e09452b685df7276a4ba3890ff774666e012448981d786774", + "size": 14972 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate", "status": "success", "path": "en/api/csharp/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "4e255d72534c2a6aa92d79a14d903239646e58db56e0dd4a601ed3c3618bc4a6", - "size": 8600 + "sha256": "10611c3ba7bca664af65349c5bf88f53a615c853d2d673f26f7d0d7c138491ab", + "size": 8737 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/archive", "status": "success", "path": "en/api/csharp/beta/vaults/credentials/archive.md", - "sha256": "7bdff3bf12dacccdc7f2cc1dd08929c2f29d92bf7e86ebe46c5571e31c1ee901", - "size": 9580 + "sha256": "f1ea3b0cf3070c6e50b91d34068877084dd9fe711931e1290ae9231353806359", + "size": 9717 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/list", "status": "success", "path": "en/api/csharp/beta/sessions/resources/list.md", - "sha256": "eec2e668cbb1c006ad67f4ad4626222de7ec7fae59f1f031a345d0fc85147303", - "size": 8052 + "sha256": "f9fa99b4210ace2b30d9c134ccf7583fbb5795b22426ad585eb8ca4e4c5510a8", + "size": 8189 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/add", "status": "success", "path": "en/api/csharp/beta/sessions/resources/add.md", - "sha256": "d46c367b6377f2b0e9e747054808e33819a17ae68a46452471b05c8d939e4610", - "size": 5600 + "sha256": "596e6fc198c0e7c792ed7ef6346ad43b26e6ab214d09d25b91e73881b7ef824b", + "size": 5737 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/retrieve", "status": "success", "path": "en/api/csharp/beta/sessions/resources/retrieve.md", - "sha256": "d651a3940c9f00e35edb12fcb5a956a5718875c85562bd754e8e9181d5be9042", - "size": 7538 + "sha256": "0948676f639948f2ef2249a6ff28da44c9c6a456e46ccaf279b8eb3d72ab8b60", + "size": 7675 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/update", "status": "success", "path": "en/api/csharp/beta/sessions/resources/update.md", - "sha256": "df025d16bed66feb2253265bf46c7a4a1134f39142812bdb8fefbb0cdc648341", - "size": 7770 + "sha256": "93df1ddcc2ea0f41f4bef7573ede7caa373dfc2e117c522735d2f686e52f4df6", + "size": 7907 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/delete", "status": "success", "path": "en/api/csharp/beta/sessions/resources/delete.md", - "sha256": "87645933daf0109a7ee0b1bcc1fbc9a7c587ebd2cd4bf8295b11ef258dbadf67", - "size": 5028 + "sha256": "b23e69134ecd45d559cb80a1caa8df5885e0a4965ceab417d90998dc44a05022", + "size": 5165 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/list", "status": "success", "path": "en/api/csharp/beta/sessions/events/list.md", - "sha256": "8bd989ad124d7fc1f309f5cdff239387a127d96c61323bd3a4987a3759ddb009", - "size": 103551 + "sha256": "c27cae01289f978bb1758a9fc42bc365cd9583f2e9dabac4bc5b97b1add9d239", + "size": 103688 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/stream", "status": "success", "path": "en/api/csharp/beta/sessions/events/stream.md", - "sha256": "6b29998948f5fce4819aa6767ceabee066fab045001707f22287cd9dc45866b7", - "size": 103394 + "sha256": "22589e00d1dc0ae1d5f0ac4ddb97e5111a2673faa33b47e8bf87647e17071906", + "size": 103531 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/send", "status": "success", "path": "en/api/csharp/beta/sessions/events/send.md", - "sha256": "71d1fb57fa62616b68cd90148bda8f5cd5ad38b920a240505b4e086f88d09029", - "size": 27463 + "sha256": "051f3518b657667dc3d364cd6b2d7f62693279e741b7e06fe288c0bd4ae6cb9a", + "size": 27600 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/list", "status": "success", "path": "en/api/csharp/beta/sessions/threads/list.md", - "sha256": "7f30bf4e02d8ce73d65c31e153667765337e4e0107bf3e694446fbb6ecbdca2a", - "size": 35809 + "sha256": "4dab6f72a8e6e2690f90a812290b5550fc46b3ac18f2097176c67d0ef08c0780", + "size": 35946 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/retrieve", "status": "success", "path": "en/api/csharp/beta/sessions/threads/retrieve.md", - "sha256": "369fa297e06e9fc7eaaa59950d4085f8775ccc73ceeec75c17fe1a2b2650f39a", - "size": 34932 + "sha256": "32e8b6e194b5c37e6a9699e861dd85eeab5320179ac7ff47d7f9ba9c99933538", + "size": 35069 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events", "status": "success", "path": "en/api/csharp/beta/sessions/threads/events.md", - "sha256": "0dc5671bda103a42dc22192e2ee39d204f7b6fa38545692c6705a77f60dcd286", - "size": 203715 + "sha256": "c1fa5a05890922fb38b794b9655fe1c89b1af485ec5df238cfccb112a1e49427", + "size": 203989 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/archive", "status": "success", "path": "en/api/csharp/beta/sessions/threads/archive.md", - "sha256": "7ba0f7199af3c6163cc569290b12d8280588c2b4eb49dbeb0918b495942296ff", - "size": 34948 + "sha256": "75e40e6ddefb20bf057530c74b83c9f44da29522d792bb3239d61c614b86b1de", + "size": 35085 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events/list", "status": "success", "path": "en/api/csharp/beta/sessions/threads/events/list.md", - "sha256": "82aa69682a5a2c3359069b501184030d389321e40f484ac209ed692f489762da", - "size": 100240 + "sha256": "bfa01b5aee0c92383d14d132fdb6fa7e02bf5393b836ecfa0bb4d91fe1251bca", + "size": 100377 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events/stream", "status": "success", "path": "en/api/csharp/beta/sessions/threads/events/stream.md", - "sha256": "5fdc59cb194f01ab7df9af358bcb4a11f9f8b9d41991c391679a6f9c0940f435", - "size": 103612 + "sha256": "23b018b563d0d8aa0e795c77ff3cfccbd601199b30a6d343b734b5289cebfedf", + "size": 103749 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/list", "status": "success", "path": "en/api/csharp/beta/memory_stores/memory_versions/list.md", - "sha256": "c6e79229807fa8e9a27b9edba277c8b5a541d1344ce8c8b7d0b5eeee29c8d469", - "size": 12815 + "sha256": "b7ecf479989f0aef4acb3e24fcc90ec3caf891c43bfc34e17da3db658a1b3558", + "size": 12952 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/retrieve", "status": "success", "path": "en/api/csharp/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "29eed65fd7024ff887ea76fe6db1d8cabc8ddff441f3b01ee5f395756ad4e3ed", - "size": 11368 + "sha256": "ff01af80a1dfb11e275a13d7d604971c750accfc33f3be02694d5eeb2f61eefd", + "size": 11505 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/redact", "status": "success", "path": "en/api/csharp/beta/memory_stores/memory_versions/redact.md", - "sha256": "0fc4db31416f752fabd833ba25d92d6c011b39ce7315c511dec4ed0015f165bd", - "size": 11051 + "sha256": "52d393a9b07b5d5d42f111a6652762b7d50b8344ace584e0b44c763fb81c2ed6", + "size": 11188 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/list", "status": "success", "path": "en/api/csharp/beta/memory_stores/memories/list.md", - "sha256": "a0dfc64d108c34ec42e3b30ae59a4c5b199516bacff08bca0c05755d1f70947d", - "size": 9928 + "sha256": "f5468a7f4c43a26077bb5c856fb09fb931cffc3e11d941ba2783d4667bc41967", + "size": 10065 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/retrieve", "status": "success", "path": "en/api/csharp/beta/memory_stores/memories/retrieve.md", - "sha256": "d9433c6f929dcba4d4bda92ca4acc4f861779ea02842e84428a2684430aaec15", - "size": 7937 + "sha256": "b39d1d3874801795164321636e0c83b72c6219135eafeb47ff1dfaebf95e4093", + "size": 8074 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/update", "status": "success", "path": "en/api/csharp/beta/memory_stores/memories/update.md", - "sha256": "381b4247417ae8eecbddce45c858b3a4e83aff935577d23112ace8ca5ece15b9", - "size": 8800 + "sha256": "b0951e4018a8e42a0a1718c439f9a57f2745eb256de0a950546516aef49462b5", + "size": 8937 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/delete", "status": "success", "path": "en/api/csharp/beta/memory_stores/memories/delete.md", - "sha256": "bff7e7fec20dd58338e9b281d4316d6ce5fc5e2f92b7e23c7669d35edc8817b4", - "size": 6032 + "sha256": "ddb99b96c0b857552ea049b59fa42d3b638f4cc680234ced822b64408dd7f791", + "size": 6169 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/create", "status": "success", "path": "en/api/csharp/beta/memory_stores/memories/create.md", - "sha256": "72c3a355e454b6abc0b4278017bf6c651ff86637b90f9e5f4a501acc71dd3775", - "size": 8441 + "sha256": "d5e48447ce8b290657fc65e3b26ba76c59998de16dae0ccb36e3f91856fd7195", + "size": 8578 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/versions/list", "status": "success", "path": "en/api/csharp/beta/agents/versions/list.md", - "sha256": "d52b0c2c2898c25b6174db89d42b4d8b61bc5f797c6055a84beef9d4faa463a4", - "size": 32621 + "sha256": "d6e67d04717ec9e3a87dd2c38515dd2514ebf80f92a385be19c7722b2380ffd6", + "size": 32758 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/cancel", "status": "success", "path": "en/api/csharp/beta/messages/batches/cancel.md", - "sha256": "f515f1b514f30b30af537bca172191ad8fe76e516be8e823cce89f80aaed0798", - "size": 8804 + "sha256": "f0e3974cfc2f1214397838b1aa50412dcbc1fe53003bbcc8446d075c4d8f746a", + "size": 8941 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/list", "status": "success", "path": "en/api/csharp/beta/messages/batches/list.md", - "sha256": "03e1a50a8d095927685d448c23ba04f47231ab0356f0eb4ba4d7cd3948b93579", - "size": 8928 + "sha256": "1f4e82dcf5fc2436a626cc1c123a1a4693f6e3f49db2eec202c7d5237395100a", + "size": 9065 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/retrieve", "status": "success", "path": "en/api/csharp/beta/messages/batches/retrieve.md", - "sha256": "9796a7a30a0e7cc2533e91865bb3b0bfd4ba3c43c385f57c03df9515dd988c8e", - "size": 8500 + "sha256": "ce3dbc6d873bd6dd74e2b9b4dcfd4e33c5ffccca0b168d33bb5b762195b0eaa3", + "size": 8637 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/results", "status": "success", "path": "en/api/csharp/beta/messages/batches/results.md", - "sha256": "89fc98e2a4efa8fc756fd9416af8d95c5ea150a52c73d2b384f45bf9d16c4897", - "size": 154172 + "sha256": "e7da36acdeb20b18adc2f5faf3c6ec9dd16965cfda5d72fdb9cb2ecfc74babe6", + "size": 154309 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/delete", "status": "success", "path": "en/api/csharp/beta/messages/batches/delete.md", - "sha256": "6e1ca29566a8231fd27d043ccb0f0ca2279f5fb68d7fce92bf53015f89b22bc1", - "size": 5216 + "sha256": "c5642133f63aea39a425339d0305fe3799d019d57d22b16b4ff5928b09268198", + "size": 5353 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/create", "status": "success", "path": "en/api/csharp/beta/messages/batches/create.md", - "sha256": "d1ea541e868b3c6b240b9c15a8d6416c6ad821ae0d529970c7e0486933edf857", - "size": 183692 + "sha256": "8ecd0fec4e5986959055d764b8e28b256dbbee043106a4b05ea82c28b4f7d333", + "size": 184671 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs", "status": "success", "path": "en/api/ruby/beta/deployment_runs.md", - "sha256": "244b660b0896de6ce4841797bb318986b09caaa1092cdccb642e6046064280ba", - "size": 31884 + "sha256": "c53f2e35bdea098888e0099244f7c8361c2a439d90c11bc2097ddb071fa5688b", + "size": 32042 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/webhooks", @@ -18979,85 +19014,85 @@ "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments", "status": "success", "path": "en/api/ruby/beta/deployments.md", - "sha256": "6a95fb2cc1d38f2f8038320d6470dbdaa92bdf20695c67a5e1748d8b86b767e8", - "size": 218846 + "sha256": "5a25537f50c354cb6474ba2016f29db1cefc2bbb9ec33081893ee4902c96d8f2", + "size": 219478 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles", "status": "success", "path": "en/api/ruby/beta/user_profiles.md", - "sha256": "de2498df707abb1942aa814f91992cd774b87516f0c9bc88f31808fc91361b1f", - "size": 64367 + "sha256": "479c3f578adc563316fa93d55adc8dfab81f6079a845fd79d4bded55c70ba1f0", + "size": 64920 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents", "status": "success", "path": "en/api/ruby/beta/agents.md", - "sha256": "606d6b6426352a745f6fb74e70470de5d76f64688317c4f3d690f4cbd6e9c876", - "size": 458754 + "sha256": "983b2fedf26d5ee6ab8b9e42b1c06fb2c4d3dde9da2ca882d917414da9f32910", + "size": 459228 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/files", "status": "success", "path": "en/api/ruby/beta/files.md", - "sha256": "2c758cd15512a0f4a1e738bdd7f09b14a1e357e13276275283ce70417b77c99c", - "size": 22108 + "sha256": "f5ab9e237778720313d58c4ba5e47a120f49fa8539f2450d94b74d1a6a0da0d6", + "size": 22503 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults", "status": "success", "path": "en/api/ruby/beta/vaults.md", - "sha256": "1029ec93fa6544fffc7c7fdd594d699fde011869fd710a996ec4d25c409d1f50", - "size": 84621 + "sha256": "0833cbcf5817ce2c9f4af8ba25434a9a74e74ce7087949a62782050ed363f7e9", + "size": 85648 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills", "status": "success", "path": "en/api/ruby/beta/skills.md", - "sha256": "d84bd1747ca03df5662db95058f2a47a9920028cba16777350b67c0381e6a937", - "size": 41137 + "sha256": "808229a25178a611daa5226b6b182d089a4c9884e87583b3c56daa40ab7d2b08", + "size": 41848 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels", "status": "success", "path": "en/api/ruby/beta/tunnels.md", - "sha256": "9b4df61bc2f97859328d88afe1a29faed18e276d0b738afda27fdc61bed087b9", - "size": 44947 + "sha256": "1351b3e0c04d485578c39c9cebb9b83837079081125ce22d1532c28245665f3a", + "size": 45737 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments", "status": "success", "path": "en/api/ruby/beta/environments.md", - "sha256": "4a6d3e91fe29ccb467c40cc91fb10b4d3102d5337c6ebe12d55364040abf32bc", - "size": 92590 + "sha256": "2ca0005a23e3a112017288e8d54d6299a2d408f840c33bce2020c261be50ac21", + "size": 93696 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/models", "status": "success", "path": "en/api/ruby/beta/models.md", - "sha256": "249f01d9538754657258756ae17de2b7cb6949123a908f2550dda5aa2643ea26", - "size": 43509 + "sha256": "114508543aa5269b8e38f54b26574a8be072df4bd1b5e5aec166204acafd92c0", + "size": 43665 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions", "status": "success", "path": "en/api/ruby/beta/sessions.md", - "sha256": "5c307ed87f43686af0355912be6939a9d62ade6c75c117d3b28add7c32b9b94d", - "size": 1197613 + "sha256": "6a7f891329a41373442428f4170fd60c8bd1aba2a7dd88f87d5560e12a09d533", + "size": 1199114 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores", "status": "success", "path": "en/api/ruby/beta/memory_stores.md", - "sha256": "9d902187515c8b6563e16f447939c24a128f1315955ef7790ac7cb57b952b5c8", - "size": 99464 + "sha256": "2ac30fce18f6681951662e3f757b18e7bc186041c933ae722e2b3c9b123077c2", + "size": 100570 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages", "status": "success", "path": "en/api/ruby/beta/messages.md", - "sha256": "d65e8eaca088e80b09baf5b8616ba2eeaca7de12cb8bf53dbb540f3b4767f838", - "size": 3404179 + "sha256": "ea7e468c5d0539dff8ef602c82e52055fc07a29bc760d15904f005105f45de63", + "size": 3408134 }, { "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches", @@ -19084,22 +19119,22 @@ "url": "https://platform.claude.com/docs/en/api/ruby/models/list", "status": "success", "path": "en/api/ruby/models/list.md", - "sha256": "de3b44adbafcea721abd2e1e944a619b143a8531f829196016185d368393f491", - "size": 10523 + "sha256": "f1faa48e55bf709e28605cc2d789d6e65a25c76f07db1c081dabad529214e78a", + "size": 10522 }, { "url": "https://platform.claude.com/docs/en/api/ruby/models/retrieve", "status": "success", "path": "en/api/ruby/models/retrieve.md", - "sha256": "437ab5fb792d834075b55225580b15872fd84e6bb814752b68efe6d3c63deb7f", - "size": 9286 + "sha256": "4bec376743fee025916a86751b9ac03b84a75a09fc320fd60ebb1c8fd7fc63ec", + "size": 9285 }, { "url": "https://platform.claude.com/docs/en/api/ruby/completions/create", "status": "success", "path": "en/api/ruby/completions/create.md", - "sha256": "8d1a4e22e9241bd30b7f91d2ec645735cde20c7c02308c752276b0f0ba2f8338", - "size": 13308 + "sha256": "1de9806c3a7bc70ccc23640b0b42261f4ba2ae23853dad1041fcdbdcae154d37", + "size": 13385 }, { "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/cancel", @@ -19147,897 +19182,897 @@ "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches", "status": "success", "path": "en/api/ruby/beta/messages/batches.md", - "sha256": "b39b9ba98e1cbe8d55b7372b0a37917d9abb820152f63eecb5b3997c339c691d", - "size": 766665 + "sha256": "fa895a0779ff7ff74023e8e3eede1bb8be3b3e34d33a96e5a6639f4e5fbf991a", + "size": 767862 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/count_tokens", "status": "success", "path": "en/api/ruby/beta/messages/count_tokens.md", - "sha256": "fbcf4a0f70987ebd0b19c3bfd9b6c1fd3c4ae97c88c812b3587ed9c1222d5a7d", - "size": 145009 + "sha256": "bd03d474f60e1f1dc850a2c153f25070420ef35e13b818cf01d1a0a2439d25db", + "size": 145088 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/create", "status": "success", "path": "en/api/ruby/beta/messages/create.md", - "sha256": "daa0e3e330b617a9d6ad1c7db52d8bc1be3e7a9aac0d4f3f45ff2d54a1f6aa3f", - "size": 299596 + "sha256": "959447d0507abd7d342450e8e18df1534853aaead3a5fee0d4216a39ff27755c", + "size": 300358 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/list", "status": "success", "path": "en/api/ruby/beta/user_profiles/list.md", - "sha256": "8422648c752db4cdaec8e698b3f1aef170057eb770588ef5825b8c7ec00e1d82", - "size": 9694 + "sha256": "8167e24e39067cb250abad1b7fbd1250e5595cc26778f57a3ed588e4fe8a255b", + "size": 9773 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/retrieve", "status": "success", "path": "en/api/ruby/beta/user_profiles/retrieve.md", - "sha256": "cd2b857962ef7248654dce3ffcae75c5c614994abda04e40ffe6bfcb7dadb421", - "size": 8654 + "sha256": "e0e785f06249b0217111f839e9c8af0e7d1bdc39a9d3868d15e3b35a19294ecd", + "size": 8733 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/update", "status": "success", "path": "en/api/ruby/beta/user_profiles/update.md", - "sha256": "5da1187daebe18b50607ccbb0288fa8bf6d7db7fd50ddf419e9e06f7c5fc8e78", - "size": 12685 + "sha256": "a57a365f5976b82043cc55fbe7e405bf83be9fb7965a8c6a6ac7c6757da02652", + "size": 12764 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/create", "status": "success", "path": "en/api/ruby/beta/user_profiles/create.md", - "sha256": "2ca0b0a74e52370b1dbda070b7bb88ef216ab6c9ec078b00efaacc1e227a5370", - "size": 12836 + "sha256": "ca62f18d9e8bf5d236a54ddf7f5b60bd39a4cb83a320a054aecfcd1eaaf0699a", + "size": 12915 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/create_enrollment_url", "status": "success", "path": "en/api/ruby/beta/user_profiles/create_enrollment_url.md", - "sha256": "780ffd7f0e57928eedcba54f935d6b33bb762a932644a66de34d94ec185b5319", - "size": 3793 + "sha256": "455a6758954d0aa56c017e9cbd15ea7201ef7f8988b8cd44f564fb606c64a598", + "size": 3872 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/list", "status": "success", "path": "en/api/ruby/beta/agents/list.md", - "sha256": "eadf58253940f828326ff7af7f4ef4c74a332986d3b0793c82b9879876584f40", - "size": 30706 + "sha256": "cbe74fef1424cd8f41d7a4d9c5647c474a455fca287e3595654761160229ff7c", + "size": 30785 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/retrieve", "status": "success", "path": "en/api/ruby/beta/agents/retrieve.md", - "sha256": "b89f2ddef43cd28eb6cca4557e9221021bccc90cb7253a4aad973af5a62c8a1d", - "size": 30035 + "sha256": "d01635a876b93abf7c2f555ae826459dd0b93596460653a94f6a281cf4fbb2e0", + "size": 30114 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/update", "status": "success", "path": "en/api/ruby/beta/agents/update.md", - "sha256": "edf54e1b66bf79584f2bf6f9a5c0c1031a8cff4bf648e30d496a41922d6fa69e", - "size": 65973 + "sha256": "04456aa939b3435f8b6c26e75f3981a1f22b8cc426139c2a04b7864def60e55f", + "size": 66052 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/create", "status": "success", "path": "en/api/ruby/beta/agents/create.md", - "sha256": "731501dfc4f35c869547c9628ad7f4734be11e71f740deaaa6514b99c119dfb4", - "size": 65124 + "sha256": "6e08eb84d7745f6180d9db5741e7a6cd4c0c18b1d3aad2f0318bb610e57cb0e6", + "size": 65203 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/archive", "status": "success", "path": "en/api/ruby/beta/agents/archive.md", - "sha256": "9e6e85ab1c0eb7ff3df5f372dceba77c73ed43e65ca70c9f3d01a66cd12c9b84", - "size": 29910 + "sha256": "1ce1fbfb5947d7be6aded545a7bc8832a4ef063dd5969db616837a713fd29292", + "size": 29989 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/versions", "status": "success", "path": "en/api/ruby/beta/agents/versions.md", - "sha256": "c1f563fcea3e452f61e056f3ad4c6030fc16f2f6e8a07fc76a13d82e54b73c7d", - "size": 30515 + "sha256": "5a1abc672358d0dd759d265f40317426fe85ec8cb12dc2c7bea997e15d80c540", + "size": 30594 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/list", "status": "success", "path": "en/api/ruby/beta/memory_stores/list.md", - "sha256": "3aa251dddaff84ef8bd548f83bc125abb33f9c43ebb598c2290ebea3b6bfa923", - "size": 5978 + "sha256": "ab7aff999904f10a6675dec1b853e5229b58dcf1ebfa08456e71aa66ac328b4a", + "size": 6057 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories", "status": "success", "path": "en/api/ruby/beta/memory_stores/memories.md", - "sha256": "de310d013039260db50d58ec25bd9ff47aca1040a9cdcfa703219a13dcb1e6b2", - "size": 48615 + "sha256": "805419824fe0c651962f90d7764bb1c423e20df8696197098bfa812c5427dce6", + "size": 49010 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/retrieve", "status": "success", "path": "en/api/ruby/beta/memory_stores/retrieve.md", - "sha256": "f026989d345a0fd5a63b1b32fd38d38e6983f9b8f4824e8f018d97d6de512917", - "size": 5344 + "sha256": "0be6635cc82561d8f883d4bcc51383c2131ff1965ad171653ea7bd0e94cca626", + "size": 5423 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/update", "status": "success", "path": "en/api/ruby/beta/memory_stores/update.md", - "sha256": "943be6a5908ae7f760c4b3d38760e3d1d8cfdc088264e3220fcf66616808939a", - "size": 6114 + "sha256": "a7e915e53fa3f9bc082b698e7b2f520da56732279aff7b8693e85edc8af6950f", + "size": 6193 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions", "status": "success", "path": "en/api/ruby/beta/memory_stores/memory_versions.md", - "sha256": "e7fbb903fa94e06264720bc7757e1bd76d794a9d24f1bda1c89fafe20fb56144", - "size": 40255 + "sha256": "902edb802b8684bad08af8d3d589974245a1a8bd5f31bbec5b53c4f08cd359ff", + "size": 40492 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/delete", "status": "success", "path": "en/api/ruby/beta/memory_stores/delete.md", - "sha256": "807fc6ae812f768ef5b6ae99834b8884eb69dd51ba3cf1ef1944e54fc554e367", - "size": 3637 + "sha256": "990a4ed262f2799c376aba0e572323d695fd0cb21857cb48ee140ac78c62e9bf", + "size": 3716 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/create", "status": "success", "path": "en/api/ruby/beta/memory_stores/create.md", - "sha256": "15cd48a7e6f583ad01e63a2b000999b42aaeeee346e4311ea522ecca78eb39a4", - "size": 6293 + "sha256": "61c38cd1f41582415bf5d897c5d22bfa410b61aadd1f7b364b5a5640dea09c77", + "size": 6372 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/archive", "status": "success", "path": "en/api/ruby/beta/memory_stores/archive.md", - "sha256": "eb96e3347b50639e4998cd2042688df0360ab440ec7ebe7b6345bc4b169fdf3a", - "size": 5441 + "sha256": "eef6e630694b324bff932ab54e5002f859bcc8030d16dae07467716b30786574", + "size": 5520 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/models/list", "status": "success", "path": "en/api/ruby/beta/models/list.md", - "sha256": "a09168931a4d56f730de185dda9d3434f1e4a3fe156f9898672d4816749e88ad", - "size": 13483 + "sha256": "941955fa5684caaae7f91b3705884007c9e4051ac73236cc3727091f59e4c56b", + "size": 13561 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/models/retrieve", "status": "success", "path": "en/api/ruby/beta/models/retrieve.md", - "sha256": "75a5121d194b933573b39b5965a70eda3cfef50eb1d35ea592c70c83f5582c1e", - "size": 12220 + "sha256": "20866ba078b3f71534c7157a6b9e1a6c1a4836d12d447b267d557618be9b6079", + "size": 12298 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/list", "status": "success", "path": "en/api/ruby/beta/sessions/list.md", - "sha256": "eb0c6bcd183739845c309e692a6f31781d9df9c698721b7c45f4ae0bc937dc57", - "size": 48362 + "sha256": "11acc917e6cbac76bca89ac9598c28d3293cd9f2e66ab5b85c511fe9de12d7bc", + "size": 48441 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/retrieve", "status": "success", "path": "en/api/ruby/beta/sessions/retrieve.md", - "sha256": "d0ea683b46927d85c268c1f4c3a9b7390846da5cd81d1fd380f94c1bef3fb145", - "size": 45676 + "sha256": "a5dabed659cb5438cc1862ac8a345cd419de136fc350a7f8ca574283c6c718d8", + "size": 45755 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/update", "status": "success", "path": "en/api/ruby/beta/sessions/update.md", - "sha256": "6d7eaa7b0ec9abb15d5487ffa56d440b28e9c35aaddcb70c89a601a72be5a929", - "size": 69664 + "sha256": "9c2d94b61284526497246e516fe5109d21d95fb50062c1a8608ea86fe5ab736b", + "size": 69743 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources", "status": "success", "path": "en/api/ruby/beta/sessions/resources.md", - "sha256": "df0b50c105a735c12c036daa007622b9db542cbbb8c5a4666382913c3bb9fa8d", - "size": 35628 + "sha256": "f305aa828779b32fc2a11ebfa04f9fe92f213a308f62fd002322542d611e9a44", + "size": 36023 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads", "status": "success", "path": "en/api/ruby/beta/sessions/threads.md", - "sha256": "3f284eb14a02a14366098d26dde8d9e3af3fb193cee16c4af6dd434acee53de4", - "size": 447667 + "sha256": "748b27f42b1456dea5ab5d9864370e4c619b871415a59965a0e6fd3414d8319c", + "size": 448062 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/delete", "status": "success", "path": "en/api/ruby/beta/sessions/delete.md", - "sha256": "6249c169aeffd0c47b21ed129794d1efcb1dba807066d6cc2e63162af9f00c9a", - "size": 3290 + "sha256": "7793034db0abd0d85e4cc9bd2e81b00f93b3090f948c11816cc7319c19226866", + "size": 3369 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/create", "status": "success", "path": "en/api/ruby/beta/sessions/create.md", - "sha256": "d3b9ce0759998b169242a933ef9ecad3a38f0f573bf1b0c96d46144142712c9b", - "size": 84408 + "sha256": "55eda52966aa0bf5000cd9266ac5c947186f1e8fde195828fef5b8375914f320", + "size": 84487 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events", "status": "success", "path": "en/api/ruby/beta/sessions/events.md", - "sha256": "97e848ae74e3ca623437b5a5d1dcf230dc9d05ad387a14565651d4496d07885c", - "size": 576962 + "sha256": "b0936654f253f40b59068e7e97e77abfdd5b5fdf9b5e561c4c93cb2aff2c096e", + "size": 577199 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/archive", "status": "success", "path": "en/api/ruby/beta/sessions/archive.md", - "sha256": "11678bd5bb09cf8f59110b18bd04bf85427f7bef7c41380750a4f93c66a95935", - "size": 45694 + "sha256": "6bb3f993b34cb611d7e71e06d7d74ab3f8bfbd079a0e64a2086759c831cea574", + "size": 45773 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs/list", "status": "success", "path": "en/api/ruby/beta/deployment_runs/list.md", - "sha256": "7d2d06b1579f7df714d41622f08e4d44b1b8243c50806c6241d02f448fc738f2", - "size": 10654 + "sha256": "0f50c4f31973edc4aef62936a2ad2d931dcb683d65cbb5123f1030eb9d5aeace", + "size": 10733 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs/retrieve", "status": "success", "path": "en/api/ruby/beta/deployment_runs/retrieve.md", - "sha256": "07b8ef0739ba6b22d9e09e99ee93cf584a8aa73eca6600474f1a0efbea2b0fd1", - "size": 9314 + "sha256": "767b9dc4c6ec0e65502f263248e8ddb48f85e2c78deaada03de8359d1d6bfa0e", + "size": 9393 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/list", "status": "success", "path": "en/api/ruby/beta/deployments/list.md", - "sha256": "c32a8151ed24b5ebc874643ba65efd4e0a77692223492614ffe6e77d08fc9159", - "size": 20407 + "sha256": "c3a3f42d6e983e5da49001ed590ec6b40abfddb2c51fd221ba41b33b608564e0", + "size": 20486 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/retrieve", "status": "success", "path": "en/api/ruby/beta/deployments/retrieve.md", - "sha256": "3402268e7ca9e2091f9d4cc834e6a14f0efb0b346d8f0818206aaf2dd4c7ff52", - "size": 19172 + "sha256": "beeb782a5c6db1c465117aeeb9c4e967592871c8df2532174c6d9022fa54570f", + "size": 19251 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/update", "status": "success", "path": "en/api/ruby/beta/deployments/update.md", - "sha256": "84b2e1654a48edabf7750bdae8135c170fc6feceee68ec46117dbc0a6d5e2726", - "size": 30300 + "sha256": "1b0c97f918c46fa2926f0be21d7812775f6b67f9109b2f40beaac8bfd4ced013", + "size": 30379 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/pause", "status": "success", "path": "en/api/ruby/beta/deployments/pause.md", - "sha256": "e71ac36950ac1fc60cf21c62915049f0e9e6b6a5e3aa9602af614ee5db9cbbae", - "size": 19185 + "sha256": "ae9614a577912fb537fc005845ca390e6b593ab73030c772195dcd6819c08feb", + "size": 19264 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/run", "status": "success", "path": "en/api/ruby/beta/deployments/run.md", - "sha256": "5a174aa9983abeb21d91f9bc1650d44aa836abd63ebb7fa2b7cfd7428c714902", - "size": 9291 + "sha256": "92ff5e0513d9bb3719e2b40d5d595fbef578eb5f394542834df557b8c483e4ab", + "size": 9370 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/unpause", "status": "success", "path": "en/api/ruby/beta/deployments/unpause.md", - "sha256": "2a764e75bfcd0569cb991a2fe7fbf166eece465e93fa3116f18efa7b58684c3b", - "size": 19201 + "sha256": "b1a539c9acfc522a4a7d0001d10734b661c4a0f82a71b056df3eb5ee31f363d9", + "size": 19280 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/create", "status": "success", "path": "en/api/ruby/beta/deployments/create.md", - "sha256": "f472cacba35e0fe2fc271fd5675ff52900af82f6e75d6f4206cb87f7a35fb672", - "size": 30245 + "sha256": "d482b3b162fdc8f96a6eb6c278f97a94d7739e6327adaec2ce0c4d8a93a0aad0", + "size": 30324 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/archive", "status": "success", "path": "en/api/ruby/beta/deployments/archive.md", - "sha256": "f0cd835f6fb26cd2cc963fbee9f51b049a9791d843946528108eef5bec5f7ee5", - "size": 19201 + "sha256": "865ae864d0cb879e58e2135fa0ce55802f8c1698c2bb60cedda5b37aa3707670", + "size": 19280 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/list", "status": "success", "path": "en/api/ruby/beta/vaults/list.md", - "sha256": "81bf1577a4e6fec822601e948c337c552ca584c53ecd692f5478dbc2b6eed105", - "size": 4357 + "sha256": "7afe51c3148fddf81540c953f7cf18a27f51043569cd26ea4032bcec09dfa368", + "size": 4436 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/retrieve", "status": "success", "path": "en/api/ruby/beta/vaults/retrieve.md", - "sha256": "7b1d0446eaf05811a93600137e9336b16012a46398c3a4f96438a4eb0e8d4026", - "size": 3948 + "sha256": "40bd73e8bb25de2a488e61cdbb49c2326f10d8702b2d8942e4c75d6da108e414", + "size": 4027 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/update", "status": "success", "path": "en/api/ruby/beta/vaults/update.md", - "sha256": "b222d27767ce86629706f5028ac37b451bb624239b1c4bd2683603c91b0c034f", - "size": 4201 + "sha256": "e142e985e47d6f5c3a2e5b37d22462ba01b1ce0775ec28134d31c8f34a292a63", + "size": 4280 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials", "status": "success", "path": "en/api/ruby/beta/vaults/credentials.md", - "sha256": "84ab161e585a8565841a96ff0aeb7c9af7af50adea73a561d17765d07be21e1e", - "size": 94250 + "sha256": "a4476cfd1a2f489981562b4b769f5c560abcfe08550b255194b8d7fe32bc0bca", + "size": 94803 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/delete", "status": "success", "path": "en/api/ruby/beta/vaults/delete.md", - "sha256": "632e80fa91e7d721b4a6f2e9bd11929d267d592d32860b5780e379d9b9bdfefd", - "size": 3333 + "sha256": "1a3b645da48792446148decd05c839d252a247fc89781a1d02d621546860b972", + "size": 3412 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/create", "status": "success", "path": "en/api/ruby/beta/vaults/create.md", - "sha256": "00f901db95a9b530ed9775e479dbf1cdca1209e697f94cc6721fd57cb709169f", - "size": 4098 + "sha256": "dbceee87c931df8d147429fb315937433689baf49ab02656e6aa69192c2e105b", + "size": 4177 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/archive", "status": "success", "path": "en/api/ruby/beta/vaults/archive.md", - "sha256": "f8d29db1e3fe0a16059b7e888bbbfbcda5f8b810686a3ecccf8af9d92dd77c56", - "size": 3950 + "sha256": "7d4178098e002cf67ed11995e69c1ccef1faaf4f59f2e74d5cc82bf82189fc0e", + "size": 4029 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/list", "status": "success", "path": "en/api/ruby/beta/environments/list.md", - "sha256": "c0e9cca02f183ad57a329c748eef6a412597bf46b2c6eb45a5c191f3f27c8fad", - "size": 7148 + "sha256": "81d79e50d7e56a4923419c6f055d2c65e40d18b6a4cd260cfb48300c62b5d1a7", + "size": 7227 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/retrieve", "status": "success", "path": "en/api/ruby/beta/environments/retrieve.md", - "sha256": "aeecb41cbf10d47c9207e9d913929ff622056b9bbe66eda384782fcdf960279a", - "size": 6673 + "sha256": "004db44b33b5e681e0eafe1199a054fd9cb1560aa2a5e868b0e72cbe206e7ab3", + "size": 6752 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/update", "status": "success", "path": "en/api/ruby/beta/environments/update.md", - "sha256": "ca5ac58bafa26c6cb729e7bd149cf8ac4f50ac3de22e33a8d050bd11d57f4ae9", - "size": 9551 + "sha256": "7101f56438ae79f968fb41362f313e4dd76434f54cae75eba5ab0c6ca651e0d4", + "size": 9630 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/delete", "status": "success", "path": "en/api/ruby/beta/environments/delete.md", - "sha256": "f868919727118c2898d4af374be308ad574a42a7c2b9fb5234c9cfe6c8385d09", - "size": 3385 + "sha256": "837cec28c57ef53513cc81fc0cfa441d83c16b1d4a2d7d1b714388c92684d482", + "size": 3464 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work", "status": "success", "path": "en/api/ruby/beta/environments/work.md", - "sha256": "8f4d5a9f5c98a072bd1ff7e540ce7d38994bc552b2c5c86db4619e76ffce0af7", - "size": 46367 + "sha256": "2e9e3dbe7f9a0f98a7b57b4cd92f8ece62696e3590949203d813f7bd57719396", + "size": 46999 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/create", "status": "success", "path": "en/api/ruby/beta/environments/create.md", - "sha256": "61407dbafe5832fa42cfb77ea968dfe796b5e7d5146e7d824c61126dafb1d339", - "size": 9465 + "sha256": "3cc9eed48cf4572b30c50cc4767bde0dd31651d725efd2f642d00f527073e3e2", + "size": 9544 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/archive", "status": "success", "path": "en/api/ruby/beta/environments/archive.md", - "sha256": "d2ce8454b150c0a53c43445a1a3707b70e517307b38e335c68d1695f5b9ea3e2", - "size": 6739 + "sha256": "37c13dd35c2437486ae8a1cdc6923669504ede965239a614d1392a24f995f527", + "size": 6818 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/list", "status": "success", "path": "en/api/ruby/beta/skills/list.md", - "sha256": "c3ab43d0dffad3da3dc2f3a31985ea903b6094ff8b1168bf8b4da98a66ef85e3", - "size": 5417 + "sha256": "d7c6f9da9208d1596c91af9706ea6cee0b1948ad928f27868ded6d0236c47f98", + "size": 5496 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/retrieve", "status": "success", "path": "en/api/ruby/beta/skills/retrieve.md", - "sha256": "c88997903905eeb7c3c42539361adc0d057e755b44e0a1c0aba5569e7c94b0f9", - "size": 4901 + "sha256": "0250d0e7b13ae8f5d22a6ef293d8f33f93bd4c515ac5f836f77b27789e1aaebe", + "size": 4980 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/delete", "status": "success", "path": "en/api/ruby/beta/skills/delete.md", - "sha256": "3fda8745b9aaf677d39920297058cb330e9f2db5948d7f3977c224fd0304ec12", - "size": 3357 + "sha256": "1e175b486ec174de3a0cc42335f9fbde3318141232fa9637b58b05ccf3d936bf", + "size": 3436 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/create", "status": "success", "path": "en/api/ruby/beta/skills/create.md", - "sha256": "2fbfdb648abf8c2628568c055317af4304dda3875e903adfe1513d669ccf57ec", - "size": 5163 + "sha256": "62e4683e97fcef991cf3ef71a519b369c7c53ba4fe0b3312d5eb5be95895c664", + "size": 5242 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions", "status": "success", "path": "en/api/ruby/beta/skills/versions.md", - "sha256": "84dfa30464ef45c32ca5ef6a72cbc22d5b338043db049adb44171456df69a5f4", - "size": 21520 + "sha256": "02b7c58b5dfcadfb765981c06a338996bd7f232a2f5087bb52ce7bb43bdd360e", + "size": 21915 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates", "status": "success", "path": "en/api/ruby/beta/tunnels/certificates.md", - "sha256": "adcb908975ccc62c14635577b3a3c26379bac8fb8ef914be9b4fc339f52302fd", - "size": 19737 + "sha256": "10aa8032c0b407458c700b71ea17547db5b4f33805ffbddc82c69bbb9d126cc9", + "size": 20053 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/list", "status": "success", "path": "en/api/ruby/beta/tunnels/list.md", - "sha256": "7f099f045991efa1dfd903485ac7928f4dc9178398bf9c2055b2c89649e6a31d", - "size": 4612 + "sha256": "306d5eaab31cbee47289d6389529ccd5f262134347e1422c914306cd689b4c4e", + "size": 4691 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/retrieve", "status": "success", "path": "en/api/ruby/beta/tunnels/retrieve.md", - "sha256": "48fa5f16dcdebbf5457c51c34f596c016ce9413ba8db5a6e7d0c7bbd9bab8c25", - "size": 4187 + "sha256": "d9ac8971243668e58efa2c63f786fef9b94be52cd8cdfcebf7af06baec7ed528", + "size": 4266 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/rotate_token", "status": "success", "path": "en/api/ruby/beta/tunnels/rotate_token.md", - "sha256": "f7d1c962675efd2aba3ee4e77d119815b0708f25ef854613c4e83eadf6d84e68", - "size": 4005 + "sha256": "ba1149e95ae4effc650178a3cd8f6e8cf154f0742aab377944b22df190297f1f", + "size": 4084 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/create", "status": "success", "path": "en/api/ruby/beta/tunnels/create.md", - "sha256": "2f12e1ad3fbf51b8030777c02e8317621143eaca18fa13c3e088a0cb234d9636", - "size": 4362 + "sha256": "9b929d0a2370c61f0130b39cdb8a1e5b8d471086e735ad2e4cecbcf1b1733526", + "size": 4441 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/archive", "status": "success", "path": "en/api/ruby/beta/tunnels/archive.md", - "sha256": "53d828eb554a29865a0996a53d177f74df51a91831783238ba05dcc6fbbc5e3d", - "size": 4470 + "sha256": "5486354b53fce2b2e87a2b6b9828232023b1af9b2217b16960e47ee4b1c6a41c", + "size": 4549 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/reveal_token", "status": "success", "path": "en/api/ruby/beta/tunnels/reveal_token.md", - "sha256": "091f65da22277d9abd8dba97d873a3e49273827fdd06f119a05da996ec93dd8f", - "size": 3919 + "sha256": "f4bdeb49d96f1f6aef13eb85553168fa51431056b06441d13e0148cc99814106", + "size": 3998 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/upload", "status": "success", "path": "en/api/ruby/beta/files/upload.md", - "sha256": "25b7eac9ad4899665bd9befff9fa4a54ec8edc8a65785f1ae807ea49f44ff88e", - "size": 4905 + "sha256": "8d99525718642b82bfe183c5ba2fe1d45c302dab683781066e15f8d15b4387d9", + "size": 4984 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/list", "status": "success", "path": "en/api/ruby/beta/files/list.md", - "sha256": "58f950d36d30011e36bf9bbd4611b5994acaeb427f4384d684a289f8cc48169a", - "size": 5263 + "sha256": "987bda8878431202243996a9c70ca4e26f431f19e5515a9308409a756ec8874d", + "size": 5342 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/retrieve_metadata", "status": "success", "path": "en/api/ruby/beta/files/retrieve_metadata.md", - "sha256": "595c0baba6c0f1fd3f586f8827972addbc89fd3a1b52bfda191c277aa2667142", - "size": 4538 + "sha256": "9910bc778a9d1381084e0a9b16eb390aa12bf6ca2c6d8b3c7a5c3b5fae182d0a", + "size": 4617 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/delete", "status": "success", "path": "en/api/ruby/beta/files/delete.md", - "sha256": "e7f93b2e477cb7b712a2acd0308100ae9ba721c62c09f39efbf54d13e857d722", - "size": 3207 + "sha256": "79b91553f8d8e152535673b157176b1f63d7c7800e5bdf04f105367f25cdb80d", + "size": 3286 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/download", "status": "success", "path": "en/api/ruby/beta/files/download.md", - "sha256": "badbb85a68f6f92c9d3668d90c0ae620dd5f5586702340349e2f3c538f6bfab7", - "size": 2926 + "sha256": "5d29c048e8daebd5980769a1de0a12be597503d25d7bc9669c683a87884d3ad9", + "size": 3005 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/list", "status": "success", "path": "en/api/ruby/beta/tunnels/certificates/list.md", - "sha256": "73ab9e76d954dd65e1e9fe25458db1b9b8216ba730ba0ac5836bc03ce5c15ce8", - "size": 4965 + "sha256": "2f6572f3545a5d14ac6f40ffd5e288d6e5084d00a794e614f712b426d993e57c", + "size": 5044 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/retrieve", "status": "success", "path": "en/api/ruby/beta/tunnels/certificates/retrieve.md", - "sha256": "6210bdd9b6414a9bcce618d18d977ce3bbe3d982ba774d8515d40115e95ac4b2", - "size": 4591 + "sha256": "2d6ec1d76c6d02b71e890bc1ba675aa150d1f98e8fd097cff3322cbdffb003b9", + "size": 4670 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/create", "status": "success", "path": "en/api/ruby/beta/tunnels/certificates/create.md", - "sha256": "059523435498b3c3808eada8ced46a6bb8d62cc30e628194399de441fe6ec46c", - "size": 4841 + "sha256": "8a354c2112f4aea8a90d27d67d3915ede775c8f1eec9b973e6c61d27bec98d09", + "size": 4920 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/archive", "status": "success", "path": "en/api/ruby/beta/tunnels/certificates/archive.md", - "sha256": "07fcb2a8ccd2f60a3b63b3883d73dd6b85b775d727c44cd921927eb2f00a5610", - "size": 4828 + "sha256": "186638578f9a09b6740e0aee43cf6962ca24707b5162f0a43c1e378fd017f2fa", + "size": 4907 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/list", "status": "success", "path": "en/api/ruby/beta/skills/versions/list.md", - "sha256": "6c0d043c88828f6cfdc0e1095261f10f738973e0aa961598e872f4fd771bc929", - "size": 4550 + "sha256": "4e1feb5f767449cd816098c2ae35d581683fbe0dea4ec1a14dbf776d7ad69b8d", + "size": 4629 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/retrieve", "status": "success", "path": "en/api/ruby/beta/skills/versions/retrieve.md", - "sha256": "019148c3f1ab7f525fa3b0e3facfdab570db490d81f4f50ed634da8939981efa", - "size": 4545 + "sha256": "c8631c7a7ab206b5523831a64275af5a6096160a2b3a36d1e0658481cf3cc56d", + "size": 4624 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/delete", "status": "success", "path": "en/api/ruby/beta/skills/versions/delete.md", - "sha256": "b0ebc38affd383b77b0a9a54ab533c496b3e335a72782f19394bdebcf22c0601", - "size": 3730 + "sha256": "3a24bf33407c17714f5961d75e6033f3e54a03f509bbbdc8deb57f37286da49e", + "size": 3809 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/download", "status": "success", "path": "en/api/ruby/beta/skills/versions/download.md", - "sha256": "6821db1bac4a1f3b88553d0d0036ac4049b8f9852ebc81e58aad2f24a8da5fd1", - "size": 3373 + "sha256": "4ee5c6c804cef0ad93b3214cee4bcbec21351522a3d555b4dd4f6cab9dfeb256", + "size": 3452 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/create", "status": "success", "path": "en/api/ruby/beta/skills/versions/create.md", - "sha256": "3233afea40eae82863f451cdc92d2b1ed17b1e6bc8f9cbae18b36e1bf666a347", - "size": 4452 + "sha256": "39741eb2fca59f3f378c0fd3d8c092e44fe1d227c6b4296611a325dca4ba5433", + "size": 4531 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/heartbeat", "status": "success", "path": "en/api/ruby/beta/environments/work/heartbeat.md", - "sha256": "97976e8201a7ab898a04a84ee328ca0b7bd4ae5e8260d1ef60efdd4b6b7eb5e9", - "size": 4309 + "sha256": "2c20c094800ecef2c643bf9b0f77289bfb32dd38cdac373ffb96b8fcb90c68ef", + "size": 4388 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/list", "status": "success", "path": "en/api/ruby/beta/environments/work/list.md", - "sha256": "c5cc8431557bc196d98ca142613c02b2cf7e0fd11c0473cc1b8737e40d67af7f", - "size": 5384 + "sha256": "8f193c00fde67e4b5d33eda721ac75bc6e49147673fbbeeee1784dfcdf510d91", + "size": 5463 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/retrieve", "status": "success", "path": "en/api/ruby/beta/environments/work/retrieve.md", - "sha256": "96aba425f1c4b3889dbcb83b001a656408bff1c9d353b90f07ccf5f5e7034e8c", - "size": 5535 + "sha256": "ff55615abc106cff6ea22b7bd6520ddcd8b4f91ee1140babdb2ddcb57bca428c", + "size": 5614 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/update", "status": "success", "path": "en/api/ruby/beta/environments/work/update.md", - "sha256": "0ef71280608d2ecbd9abab9dcd12ba6d94cd07e950d709425c25babc6cfcaadc", - "size": 5723 + "sha256": "f9fcd40b2181059122b96541ecd30f028fd69e97e16503d93f92f1edfcd67d83", + "size": 5802 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/ack", "status": "success", "path": "en/api/ruby/beta/environments/work/ack.md", - "sha256": "197b5058446de4c7197e15b95f30b40ed5356e0e10897fed5a2ffee8e450e59b", - "size": 5228 + "sha256": "7b8ad76414b229b7160b832d1a52757097a5ff5e0a25a11b3051db964f7e8422", + "size": 5307 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/poll", "status": "success", "path": "en/api/ruby/beta/environments/work/poll.md", - "sha256": "512d291d73052d6579090f7481324459f30b6fc6ce8646bf6b1fa1f9e85aea06", - "size": 5650 + "sha256": "94a9c67c20f5f662fdbef3d54648dc6bb47d0a8eef77e939b2db9226b086aa7f", + "size": 5729 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/stats", "status": "success", "path": "en/api/ruby/beta/environments/work/stats.md", - "sha256": "ab24dc5fa7a96b59fc113b090c3c11bf86af95fdfedcb2ad724f29e3681d9959", - "size": 3974 + "sha256": "ac4ca91e8bc3f6c05b1ea24636902996e5a2cf5e6b40599d5cffea3dfc52f015", + "size": 4053 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/stop", "status": "success", "path": "en/api/ruby/beta/environments/work/stop.md", - "sha256": "2f6562dc8df427d46910fdab4d906125ad244e1863ce9df143c76941d0ebac7e", - "size": 5598 + "sha256": "ce81bafdbb28c37aced1944ba9c723df8c4308fca3e15408dd33c7361fa19935", + "size": 5677 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/list", "status": "success", "path": "en/api/ruby/beta/vaults/credentials/list.md", - "sha256": "03a3d3b5c0137b8aa4805e2382cabd7902d4b29423693f5af8eaa7e4c2e446a1", - "size": 8508 + "sha256": "a75086fb98ccb7726d92bb16f2366cd60ad15e929a9ea3a0b5880a77373b9270", + "size": 8587 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/ruby/beta/vaults/credentials/retrieve.md", - "sha256": "ea40e519e35c5117b3d92ab28ea6af13329bc4ed89d172f6f1b704c6326d217e", - "size": 8091 + "sha256": "41bec182ef6e5c5026a5af8adccd6f857e57894d49c106f4e42e7bf171ca0b4a", + "size": 8170 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/update", "status": "success", "path": "en/api/ruby/beta/vaults/credentials/update.md", - "sha256": "bd3c0c957efbb1b92c5f0fdef22e5d31d39c96f293a71ac63a7433e685607160", - "size": 12699 + "sha256": "53a1cb61a18dc34c82cfb713e671c16bd22d1c918dae54cfb867b2158bb54098", + "size": 12778 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/delete", "status": "success", "path": "en/api/ruby/beta/vaults/credentials/delete.md", - "sha256": "da1a680bd0f06d6807a6ed113b7b82c55d560aee69a48dd3cfefb1ae12c3248c", - "size": 3623 + "sha256": "95c39345b81a867e84098cbb06d684659ad0ba3d64856d955130c018892cace1", + "size": 3702 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/create", "status": "success", "path": "en/api/ruby/beta/vaults/credentials/create.md", - "sha256": "3f73f7927bb106b76d4772a751a047164ae8c6f9aaac67d5e33d312588af1832", - "size": 13151 + "sha256": "1168288862dc83d32eacb0508820caaecd708014fcf184d4ddce18d2175beabf", + "size": 13230 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate", "status": "success", "path": "en/api/ruby/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "e4b026f29f825fd9aef4234cac6f2b4d82d8e690e50f551edfc532c8a6220c82", - "size": 6898 + "sha256": "3552cc81a6d5e335cd8c7bf3d1bca30339d1f7996370d536c69bcf1f7bd94a46", + "size": 6977 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/archive", "status": "success", "path": "en/api/ruby/beta/vaults/credentials/archive.md", - "sha256": "47b4d8ab16f048b0f5bdf6fef9ef1ea66dba68b75d5a1b01947d585116d3d3c8", - "size": 8093 + "sha256": "00d85b3ca2f24bed276b6d27d4d8b2f928f13509007d0fec11e3bab662655bfc", + "size": 8172 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/list", "status": "success", "path": "en/api/ruby/beta/sessions/resources/list.md", - "sha256": "bf93b44708d0a1392fef98dfee4b47b1e45aa26b4510379e9e7ddf68dcf73bcf", - "size": 6469 + "sha256": "06e72ce4c491f3f05ffea740cf3cdf972eba3545dfe5f1def4f53a5dfd9e9ebe", + "size": 6548 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/add", "status": "success", "path": "en/api/ruby/beta/sessions/resources/add.md", - "sha256": "aceaedd692e7423d1af4ddcb06b5827161e384945879dd566ab67994de5ec9f7", - "size": 3932 + "sha256": "675a292d2a6fbece2d9b766fcfe55b8a2d09b0e9a5cc7f0da4c0232690606276", + "size": 4011 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/retrieve", "status": "success", "path": "en/api/ruby/beta/sessions/resources/retrieve.md", - "sha256": "12da017135bad34366bfcf1648073be80ccda46ec220e9fcc05436c618a32d46", - "size": 5966 + "sha256": "d3a445b5b80733b225e8d2124fd348aab5169d7bc868e9135574a50160a3705e", + "size": 6045 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/update", "status": "success", "path": "en/api/ruby/beta/sessions/resources/update.md", - "sha256": "941ee2657efa1adbf26073fa6c5ae1701b5a5f23e65bc9905e32aef37499852b", - "size": 6187 + "sha256": "2995b6a71e46d112cc952757a564f3bec33010f7164bcf407dedcd2da941c372", + "size": 6266 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/delete", "status": "success", "path": "en/api/ruby/beta/sessions/resources/delete.md", - "sha256": "0f1533b9653b82821670ce236ed50a3f92df14bbef318a3bd4fc93d2625dbdb3", - "size": 3492 + "sha256": "dc7c5c560ec08f78b97a33f79ebb0b1b7c3b2c2acfcbcfe6f5a7e9ecdf024229", + "size": 3571 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/list", "status": "success", "path": "en/api/ruby/beta/sessions/events/list.md", - "sha256": "3bb8f00dd6cf5e6e2f7a0edd8cb4a658656a02f4be83fc823d576bf8f851cf61", - "size": 100241 + "sha256": "5a7856728f21dfe7cc8d0a5c1b17b3753198a1fa132036d6678b0358796a3717", + "size": 100320 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/stream", "status": "success", "path": "en/api/ruby/beta/sessions/events/stream.md", - "sha256": "c319462f01ac0f4c53a283e22c31870ee9a425a4fedcc2ecb54e96beed8255e3", - "size": 100890 + "sha256": "641112cd3c79998c702d3e4a6454cf7d6b7a2a857029ec848229201d83322f8f", + "size": 100969 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/send", "status": "success", "path": "en/api/ruby/beta/sessions/events/send.md", - "sha256": "2f4c520dceb0d6dff1f1649832e82a2e1282ee2ab39b2da4af631d40a4179a79", - "size": 25629 + "sha256": "9bf527947224954fee7df7de4f2a3fe076875a9d91cb423789870d24a5f15e0b", + "size": 25708 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/list", "status": "success", "path": "en/api/ruby/beta/sessions/threads/list.md", - "sha256": "713b8c1b8cb0ac2a9c983cf8f389b77c0164fa7283bfb4de16654ded0855acb7", - "size": 33969 + "sha256": "1c290ffd2a7b440cdf4fb9e9ddad90852a69f33d6851fc4f0261e708ccded95e", + "size": 34048 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/retrieve", "status": "success", "path": "en/api/ruby/beta/sessions/threads/retrieve.md", - "sha256": "3a09d547efb0f157f84d86af9bf01e6b325a64b3a8a9924040b694b66b18e60b", - "size": 33177 + "sha256": "9a877039bce7fb5c1c1cde75838870b1cbea0f9a720edc018441b02a1581bc34", + "size": 33256 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events", "status": "success", "path": "en/api/ruby/beta/sessions/threads/events.md", - "sha256": "e0df956027ae424c450aae97a184295a2e972b3d74677d6d3854ce3d88bc01e7", - "size": 198859 + "sha256": "aee06ff40c175cb011054f9d15075306fe5614476326ecef1cd449fa7ebbfc28", + "size": 199017 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/archive", "status": "success", "path": "en/api/ruby/beta/sessions/threads/archive.md", - "sha256": "e87411266201a34ec0fe56fbde3ccbb7ca1ba01f82cd3e93d3f03de258c8a173", - "size": 33195 + "sha256": "e1eae55d92e72eb39945bba4ae0e737d02e79910130986d8be879cf2a33324bf", + "size": 33274 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events/list", "status": "success", "path": "en/api/ruby/beta/sessions/threads/events/list.md", - "sha256": "28c6dfa4060adc57cb972e2d84777e8f502c7fdd1f8764314371e5a3dbd981f9", - "size": 97914 + "sha256": "391412c82662dfa8e894a506fddea55ece2fe964d2475d36e642ca282723978b", + "size": 97993 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events/stream", "status": "success", "path": "en/api/ruby/beta/sessions/threads/events/stream.md", - "sha256": "9fab6001f9e73671c7626633f963cb05fb43033a3e428686686fd8605f7ab593", - "size": 101080 + "sha256": "fca1271eb9517eff0a4a49e6d83086a33fba062ed01c8fb3989cfe3895b85ea6", + "size": 101159 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/list", "status": "success", "path": "en/api/ruby/beta/memory_stores/memory_versions/list.md", - "sha256": "e3461d311a1ce03bff9200088964d013c0a7ef46456ea71deb6f73c3ebb881f8", - "size": 11813 + "sha256": "64e5c930e879809decfd0b4167b31670b3a7a1a501ddda8d3773dfa592312b8c", + "size": 11892 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/retrieve", "status": "success", "path": "en/api/ruby/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "3cd59cbea14747a5d4e5e965fa7b54dcc271f1eedff6c926d5b9264c4afc78c6", - "size": 9949 + "sha256": "252a9e4ed1a06923cfce71e58a65f2f91e36a3bc7ce1f36f2e827d39fb871f6d", + "size": 10028 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/redact", "status": "success", "path": "en/api/ruby/beta/memory_stores/memory_versions/redact.md", - "sha256": "aec28f8120ce9f6c4ec3525edfdfb74835eb01995557c536ab8a457c89c2a375", - "size": 9339 + "sha256": "5b842b15a24aeaac74f2ac19196ffff98024ef329202418f20503e156feb8572", + "size": 9418 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/list", "status": "success", "path": "en/api/ruby/beta/memory_stores/memories/list.md", - "sha256": "e70ecabcb012924b9f4f4edb464103df1c9935cc9567843dd79954aa91125b25", - "size": 8620 + "sha256": "0df8db4513ecfee5d9b5b47c793a84e0128a8138066b9891ca4dea89508536ac", + "size": 8699 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/retrieve", "status": "success", "path": "en/api/ruby/beta/memory_stores/memories/retrieve.md", - "sha256": "f3f8c3590a6e647f27d62310c139b1bbda1aa4f5a89487cda1f1bf1bdbe7f1fa", - "size": 6618 + "sha256": "4741437da8982881162ff0c9b2eb38101d383d24d5e4b3561ea3998f5a0f9586", + "size": 6697 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/update", "status": "success", "path": "en/api/ruby/beta/memory_stores/memories/update.md", - "sha256": "9e96b9fcd061dd89bebc7dae0292d474afec7d118a8bfca73b8bd503fa0b9571", - "size": 7822 + "sha256": "8ff52f4753e6b451586306ae24d9972bf01a943d7e1c883870e49e001afba137", + "size": 7901 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/delete", "status": "success", "path": "en/api/ruby/beta/memory_stores/memories/delete.md", - "sha256": "17b9a73b0a37980893e258b69e4f4842fee14414bbc285a63955ff603a054b4d", - "size": 4480 + "sha256": "24a74d21a443c9c07427daacc957af7fb149f82b2ddb18784c192a4169feaaa9", + "size": 4559 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/create", "status": "success", "path": "en/api/ruby/beta/memory_stores/memories/create.md", - "sha256": "023367c27e803b46220653416925f6eb87f1a29c843828395787055f531df27e", - "size": 7100 + "sha256": "9d3fb140ff820d5f9cf324463d1a9aaf779f408fd9c9624e65095bac7cc76d34", + "size": 7179 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/versions/list", "status": "success", "path": "en/api/ruby/beta/agents/versions/list.md", - "sha256": "6f7e4d76c8ca87b46070195e59c422ba221272278c8aeea78afd1b0ae9fb9e97", - "size": 30514 + "sha256": "6fdfd86a600b6cf814571194bef81b799c9257ea3260c83bd8e46190b309cfa5", + "size": 30593 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/cancel", "status": "success", "path": "en/api/ruby/beta/messages/batches/cancel.md", - "sha256": "889b6fd3dd1561efa5169d6100b324e0b0702564e5591d40733a9e2c300b9006", - "size": 7131 + "sha256": "bfd9b66393e6a2b26387f95d7e789dfefc23ff7fd5a1ba2c598af9c5ecab1636", + "size": 7210 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/list", "status": "success", "path": "en/api/ruby/beta/messages/batches/list.md", - "sha256": "535c73d635f30d0185617b947abb6137e72add1651f315c708f5fd4dc688fe0a", - "size": 7217 + "sha256": "d18cfc3d6fb427611a014c35970527b2fd7922d01fa6a652de4fe37ec3038688", + "size": 7296 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/retrieve", "status": "success", "path": "en/api/ruby/beta/messages/batches/retrieve.md", - "sha256": "3dd77daebe17dc832338851c07ff48ef72580b63a87a058e7b2600f1685202e4", - "size": 6823 + "sha256": "6f472775d03dd0979c4934b2d092c56f50309fcaa70f3f6e79731d383611c339", + "size": 6902 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/results", "status": "success", "path": "en/api/ruby/beta/messages/batches/results.md", - "sha256": "b8eb17940450229273126adc26bf9a838f09891089585227e9b36fbbe7c8cd01", - "size": 148325 + "sha256": "119ae29e4ab4669bdd17096563f5eae24ec6980f178bbe599fba4bfec8346127", + "size": 148404 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/delete", "status": "success", "path": "en/api/ruby/beta/messages/batches/delete.md", - "sha256": "e106b4b8b37bdfc942f3b44c24b86d6392a874c9a0c30f65697393664a7e0253", - "size": 3694 + "sha256": "b23f121071127e0027d36898cdfa9262edf7f170f7c5fe8fa6f8e2aef69998fd", + "size": 3773 }, { "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/create", "status": "success", "path": "en/api/ruby/beta/messages/batches/create.md", - "sha256": "94453739cfdb9de7a27c3626115b3b008148e150892d5ee28bb2eeb5cbf9b400", - "size": 168265 + "sha256": "03fe74042ca65fab83de814b9e7fbfd76342e6bd6666df9199fb63f771935baf", + "size": 169067 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs", "status": "success", "path": "en/api/go/beta/deployment_runs.md", - "sha256": "f0a847d39c0e8b81aa17d54dd49d82a1767f7a0ac253d4b06558e2c45df84d13", - "size": 38099 + "sha256": "76eaa9bd2dc1e2b2ecb21a54299684661d61f0ba9a865fc2e6d2557efa46272c", + "size": 38509 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/webhooks", @@ -20050,85 +20085,85 @@ "url": "https://platform.claude.com/docs/en/api/go/beta/deployments", "status": "success", "path": "en/api/go/beta/deployments.md", - "sha256": "e5d5f05c707b7a133f66ae7d9419c8264b501220bceaf0ac8ef7d018d1a16d73", - "size": 243663 + "sha256": "92976e7f8ee1dd1f886ddc902deadee4a063b0ea31fb037fded2de85d7e92efa", + "size": 245303 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles", "status": "success", "path": "en/api/go/beta/user_profiles.md", - "sha256": "3d3f3c44566629140623445c849215fe7c7ab4d903031f00064a92a04fb17e65", - "size": 93446 + "sha256": "a493271bae6e50578c77fb4d2048ceee5c3f861a1f1f345a707adedf647a8a71", + "size": 94881 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents", "status": "success", "path": "en/api/go/beta/agents.md", - "sha256": "c452f0b3c76047cefee7cad7eeb422fe1a35ea1408416783f03d2f97b5ace0cf", - "size": 475383 + "sha256": "f38306aac4426857a7d05b32201b3d1398d54b3b715b2e8d8850ebf4a0d39ad3", + "size": 476613 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/files", "status": "success", "path": "en/api/go/beta/files.md", - "sha256": "4878078113b6f86f17755d85a953c165a82fe816dae0e186dbc8e989d0ca799c", - "size": 39833 + "sha256": "762e1a0b5cd1c82f00c3c9ffe9b4ee6533713bd2d4326c49efdd5d2b2aa1c910", + "size": 40858 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults", "status": "success", "path": "en/api/go/beta/vaults.md", - "sha256": "3b7dee80ee974a985805a0b7bd7ece8818e2aa0a7a26e490287142155237df8d", - "size": 129601 + "sha256": "6f7286cb7128cc1f50b1156f3397a9ac5cd41dbfb48041a4467ec4f96a979350", + "size": 132266 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills", "status": "success", "path": "en/api/go/beta/skills.md", - "sha256": "5ba82d698b3f2ad4b0eef4bfd698613d3bf7ed2dcdbf67219feabbc201cf50c6", - "size": 73930 + "sha256": "06c133587378da6a60d2e53f6137534b2dfdcfd3b174cba25bbb224b5326b7f1", + "size": 75775 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels", "status": "success", "path": "en/api/go/beta/tunnels.md", - "sha256": "3836f7b3df915b0cc257a4beacbf1a9eafbf123298f3413f04b69027c91dd8ad", - "size": 79867 + "sha256": "3448a77239018e0cf47510b86b41e2398ae0630a98842c8174712ab468bc5aba", + "size": 81917 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments", "status": "success", "path": "en/api/go/beta/environments.md", - "sha256": "6f45a85fa1d01e305631a07a0fb348d259abd38795159b52aa1dae057f009786", - "size": 145599 + "sha256": "d80e3ebe5734d02237d891ce6389991ceb52e1d32bc180dbe414cbf141129396", + "size": 148469 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/models", "status": "success", "path": "en/api/go/beta/models.md", - "sha256": "d1a53c8541f78362bba34e9bf15fad60501a0a9850c4fdc0361aa8d9d2b4d4de", - "size": 51855 + "sha256": "844511610d74d760f57a77f518d9718a2b30b06d238cce18c0a8796a17973c38", + "size": 52263 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions", "status": "success", "path": "en/api/go/beta/sessions.md", - "sha256": "a0b1366be7bdd79f4cb248e7b9efeced64d5a4a4420c4fe7cb640673b1995c10", - "size": 1257947 + "sha256": "881de0e1545da496dcb0c80084947c088de742d48b52efbdb763e93a58f163e5", + "size": 1261842 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores", "status": "success", "path": "en/api/go/beta/memory_stores.md", - "sha256": "651e3a0ddf1db611ec2ef4d8534c2901ba9b079dbfb55ff9c2f155e21e6012e3", - "size": 147082 + "sha256": "2654839911dd1055e818ea6365101ac0e5e482559f87bbe010fd8fc25fa0afa7", + "size": 149952 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages", "status": "success", "path": "en/api/go/beta/messages.md", - "sha256": "4e58549f48d17b1d111177c4bd5d5e7a2db312b58aa8a05f0628ad435dfb2713", - "size": 3744305 + "sha256": "722ab5a3858a946675161717d847ac961ed8a6ffeae8a4deb63eab69e5cabf06", + "size": 3748153 }, { "url": "https://platform.claude.com/docs/en/api/go/messages/batches", @@ -20155,22 +20190,22 @@ "url": "https://platform.claude.com/docs/en/api/go/models/list", "status": "success", "path": "en/api/go/models/list.md", - "sha256": "a26e809e38b30c2026323bc5daccd6e337bd2e95474127f180c8cdb4ddeb4cc6", - "size": 11393 + "sha256": "94a379e46344c5db1bea33af4642adf84187d09f804e03cef94d28e5851004ab", + "size": 11392 }, { "url": "https://platform.claude.com/docs/en/api/go/models/retrieve", "status": "success", "path": "en/api/go/models/retrieve.md", - "sha256": "7c7615fd61567e4043d2495f4890a086d04cc7d970bd55253283d18ece4e4983", - "size": 9892 + "sha256": "e71d97473cbbc627ebf8a2f2e696140890b32b1f35428df186485d523840a05e", + "size": 9891 }, { "url": "https://platform.claude.com/docs/en/api/go/completions/create", "status": "success", "path": "en/api/go/completions/create.md", - "sha256": "2318781116a575dcd061ff54d3b0e5e7b7b57b6b02c7001fa3e7a2e76158562a", - "size": 13306 + "sha256": "288955b7fb389838a5b55ca06c785078f7c24087482c3ff4d315f51695130228", + "size": 13383 }, { "url": "https://platform.claude.com/docs/en/api/go/messages/batches/cancel", @@ -20218,897 +20253,897 @@ "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches", "status": "success", "path": "en/api/go/beta/messages/batches.md", - "sha256": "3fa8f2ec1990aa26d633687dbd0ea428d8a65e7087875fef4ee9e50ddefd252b", - "size": 904928 + "sha256": "ba3950f4c4126cf523d906cb4062f78002dcf8575253654f29773ea70177c058", + "size": 906905 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/count_tokens", "status": "success", "path": "en/api/go/beta/messages/count_tokens.md", - "sha256": "f9d70406d3d9bd68bc72c159e6924861da9c176ead066c1adaf54b2e92e1456a", - "size": 162469 + "sha256": "be51c0f23246addb63c051953a4de2eff12c0e2de38268f89d41405f2c65bf0f", + "size": 162674 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/create", "status": "success", "path": "en/api/go/beta/messages/create.md", - "sha256": "507d7161acdc6071ce6544c6a9e4dba91527ce73cb8ac999573382ca2a6c27b6", - "size": 334875 + "sha256": "753920a2294265390e2b9860ad02ba152a981e0626683015475d880a3f1912a6", + "size": 335436 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/list", "status": "success", "path": "en/api/go/beta/user_profiles/list.md", - "sha256": "2cc6f5bd7fd2d57c7229e91cbf2ad17f9fdfa70505c4e9e0dc3be128a0e0ccb3", - "size": 14760 + "sha256": "8f7c559dd32f829cf4db438a48a6360747bbdac6074ce44bcef293d3436d0d44", + "size": 14965 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/retrieve", "status": "success", "path": "en/api/go/beta/user_profiles/retrieve.md", - "sha256": "24c76ba51c0ab11c007bd2174b68c6967ca3881a9f0d1c3c6a9cb8d39cca6f36", - "size": 13280 + "sha256": "e551016b27362787f2abb265441e5f302a16b5538f10e3bab75b4a3149d3c358", + "size": 13485 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/update", "status": "success", "path": "en/api/go/beta/user_profiles/update.md", - "sha256": "2d240f737fe2350942747f9a63a0accc36ee9c398c3c58fd84915608dced8e89", - "size": 15595 + "sha256": "d71dcc058466053a3be0a3184c60948c0d61b53f65100caf5691d8cc1b5a6a2b", + "size": 15800 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/create", "status": "success", "path": "en/api/go/beta/user_profiles/create.md", - "sha256": "c0fc9bf541a8e314a55d7a22d516de635e2a1ba3187b72c0efa21ec01417dcdb", - "size": 15714 + "sha256": "f6bd1d3bf73ba8cf81a0f74e821e14a1a7022b366c643d45f852a82543630918", + "size": 15919 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/create_enrollment_url", "status": "success", "path": "en/api/go/beta/user_profiles/create_enrollment_url.md", - "sha256": "a4e11cc27629d634c049b18527e3a1ab84f8c0e57ca94f8d60b4ab991bf674f8", - "size": 7281 + "sha256": "d7c39d3fa431e0bfe715b82fee21f232b6da5786630cb7ca288ba8090bc4d450", + "size": 7486 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents/list", "status": "success", "path": "en/api/go/beta/agents/list.md", - "sha256": "7de893d5f9de8ee474954313a594308fc619f627da5362f44cda76a28ab87589", - "size": 34716 + "sha256": "1e1a590dcc1c9acc5a71638183d253022be072d75797c0b94702552a022676db", + "size": 34921 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents/retrieve", "status": "success", "path": "en/api/go/beta/agents/retrieve.md", - "sha256": "19bb8fcce054b504634e7a29269cf845f20f1e0ba39b870dcd7505a4aa1fef80", - "size": 33946 + "sha256": "2c19994c4651fe66834945c8e249d18cf0266e38668e911db21918931f3158d9", + "size": 34151 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents/update", "status": "success", "path": "en/api/go/beta/agents/update.md", - "sha256": "4831ce4e9aca57bd63b54f3920cf3ef817756ec8f9663f6600a3d02b1ad5f7ad", - "size": 65285 + "sha256": "e503bd5b6d0f1519ecca54e9fa8973ed716e7483316b4cb16c03792c9d2f64ef", + "size": 65490 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents/create", "status": "success", "path": "en/api/go/beta/agents/create.md", - "sha256": "fdbd4ce174e742f02de93547838364c3230d1b18ed55905b7e14e4c43547db58", - "size": 64361 + "sha256": "16dbf3b74f7361a63588864633dc8d9cc204d06749d0e503951145990455507c", + "size": 64566 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents/archive", "status": "success", "path": "en/api/go/beta/agents/archive.md", - "sha256": "6722b226966cc2b2f7bb24b739b599e0d557306255c484185b1ef10207f0eece", - "size": 33812 + "sha256": "ac3a65b80375ec1e9c1867500846dd295510ca5d18c7ce7878b0dd3db6986c83", + "size": 34017 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents/versions", "status": "success", "path": "en/api/go/beta/agents/versions.md", - "sha256": "fb3f475464d1c0d97e3fd12cb66d92221835089a02fd417c42514032514a8e4b", - "size": 34478 + "sha256": "d4c62689c5727ee66065807ef35a183845b0737aa3643180aaa2a92db513d628", + "size": 34683 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/list", "status": "success", "path": "en/api/go/beta/memory_stores/list.md", - "sha256": "3a06616823d6b3cbcb7c27c5c6bcab9d78acaf81bc598e31c5d41c558a05d5f9", - "size": 9553 + "sha256": "dc40e0285baee4e48eac427fb3a5a4bf307ca3f9a82c7cb3c64b42ae68beab65", + "size": 9758 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories", "status": "success", "path": "en/api/go/beta/memory_stores/memories.md", - "sha256": "e83bd32fbc11e51050d9267d5c6ad39979af6091b4d967352b5cac2a29fc7d91", - "size": 65250 + "sha256": "98a01abbf67b1c2bb019cba743f78b1dda569eb2b5e437516c5888e836d752f6", + "size": 66275 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/retrieve", "status": "success", "path": "en/api/go/beta/memory_stores/retrieve.md", - "sha256": "8b29b164452fd62348ef729017469358877dfd7cc16742a026ba650fa33d84ac", - "size": 8791 + "sha256": "6ce31e546c884c429dad4b9c0190b1ea6c991d45360e16f9a7419182eae65f3c", + "size": 8996 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/update", "status": "success", "path": "en/api/go/beta/memory_stores/update.md", - "sha256": "94c20625252180649cb3a5e93e85ac9e8565b203a86817877a38745a8cfdfc87", - "size": 9644 + "sha256": "1875f413d7d023a9fc5e2c85b0feed4848295542f82a1191d76583803ef25638", + "size": 9849 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions", "status": "success", "path": "en/api/go/beta/memory_stores/memory_versions.md", - "sha256": "84394917cce7e63494cc68e5ccdb6743c7add2e0387f446693ac23fdffd8970b", - "size": 51180 + "sha256": "8d50d1adf807ff3a5dcd6a2ab94ff3945921e7e855275206a16afdf83222b390", + "size": 51795 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/delete", "status": "success", "path": "en/api/go/beta/memory_stores/delete.md", - "sha256": "32e75494948929aa0b4b85dd599f3efeb4b48faf3c8b0c110cc5fefbf38f04c1", - "size": 7119 + "sha256": "7f59d8563a54072ac7fb252107377c520dd82e60500b459b1be716fd4b47b31a", + "size": 7324 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/create", "status": "success", "path": "en/api/go/beta/memory_stores/create.md", - "sha256": "e57c5fd9d186f8cc50847ce3387ecef14b622d1fe7903eb8bdf79e8f5b1f1b67", - "size": 9790 + "sha256": "2e7c80ef787c7e3210ddb80474e78b02c37b470f8892ebb62b77c0c2b277199a", + "size": 9995 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/archive", "status": "success", "path": "en/api/go/beta/memory_stores/archive.md", - "sha256": "189ab64fc8fb5516fc78cc431fe7f60971c45ac78b1f1cdf8a360e902e00adee", - "size": 8904 + "sha256": "ac946e8fbeed97babb4461529a352479f327c9eb71665d47a877de01b105beb1", + "size": 9109 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/models/list", "status": "success", "path": "en/api/go/beta/models/list.md", - "sha256": "2207960369feb0463e02ac9a2455d65388777c065a9efc6824778eec77b53a98", - "size": 17583 + "sha256": "eb51c8fee77ef3a38151be45fb247f4554ed98339f2056b2fa31ee694711b5d3", + "size": 17787 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/models/retrieve", "status": "success", "path": "en/api/go/beta/models/retrieve.md", - "sha256": "bf65c1c13abb209f70a31b017bcbdd5059115da710f24bac08793cb346ba4fc8", - "size": 16030 + "sha256": "3676e404c0c93a3dbb1a4e74821f6dbbdf85bd9ac326a46749216e1f83b8c5d1", + "size": 16234 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/list", "status": "success", "path": "en/api/go/beta/sessions/list.md", - "sha256": "1a3808c08273e3b226e1c4f9860bb1fb6ba9ffe0c4eebecfbe4a25341223a5dd", - "size": 53239 + "sha256": "23dbf0c503d829bb00dae98776ac53042f32b5d60a13dd9d93db4f37fd968816", + "size": 53444 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/retrieve", "status": "success", "path": "en/api/go/beta/sessions/retrieve.md", - "sha256": "4ec6d8af8b6376e8dbec74bf04ee7d4d81ed32a8dd410903108120d05ffbb3ad", - "size": 49857 + "sha256": "aa400076131b8b4ec477af18e64b114f73088176a88d1179a22bfce6f9385906", + "size": 50062 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/update", "status": "success", "path": "en/api/go/beta/sessions/update.md", - "sha256": "60bb138400e58fa21355ee947e44c1aed778666308543c348d61ea5f09c0682e", - "size": 51221 + "sha256": "2c65bb14f966c246152fb729c81f9e935b335e127176e49ec4f0ef9dff9ab286", + "size": 51426 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources", "status": "success", "path": "en/api/go/beta/sessions/resources.md", - "sha256": "e296fa54887ec97ef0bd83404d02ccf142c1f40898049a10f781c46ee9c04b5e", - "size": 48871 + "sha256": "4750bfa757f4c4075f6519a1e93295345b5f4c9427fbc828b841aba24569e45a", + "size": 49896 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads", "status": "success", "path": "en/api/go/beta/sessions/threads.md", - "sha256": "b1765df1bac7d9d66005a54c607116edce1deb5209c9a020c51a54e9bcbf89a0", - "size": 466800 + "sha256": "0083849e2a17cdf03beb25c916ec0e64498536fb509a9469c0106dc0cc9ad954", + "size": 467825 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/delete", "status": "success", "path": "en/api/go/beta/sessions/delete.md", - "sha256": "aee69bc920ef9913b65ce08b2cd6d03ed6559fb53bb84c001edc33c30cbda484", - "size": 6771 + "sha256": "da884e399904e097371b4089f0fab3d15a0e878cfbd67400caa530f4fa47d2a6", + "size": 6976 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/create", "status": "success", "path": "en/api/go/beta/sessions/create.md", - "sha256": "758f00dc3a7e78b866fc526193a94a6e7d24e4d8145c8e7dc10cde081576232f", - "size": 91228 + "sha256": "f359858be05d9a17374d5609813abefea9857bf71ab50fd887ba6cb13226c79b", + "size": 91433 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events", "status": "success", "path": "en/api/go/beta/sessions/events.md", - "sha256": "ec424fd2cc99d1145e8500d60aff8744337f36a1b349585c9c51e1801195fcfa", - "size": 588558 + "sha256": "a2f2c9d107ae0078c5417f0d45ad9b78f10d7152881a46e7563577cc991db039", + "size": 589173 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/archive", "status": "success", "path": "en/api/go/beta/sessions/archive.md", - "sha256": "8886d7767d149dfe1437677cdf261c78b385fe6935b3342f498a959032604935", - "size": 49891 + "sha256": "5286e77b8ba1d8f36c556090fb51a002ed6deeae3690291cf29845707fe0293d", + "size": 50096 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs/list", "status": "success", "path": "en/api/go/beta/deployment_runs/list.md", - "sha256": "1263dd0a908421ba68ab9530e0d5be1042aad9d4c7e4635e26d2be28790eee0a", - "size": 13917 + "sha256": "e29d06022a8908b9665fb64e089075ca1baadce2867285a12fe2f1b7280f52ba", + "size": 14122 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs/retrieve", "status": "success", "path": "en/api/go/beta/deployment_runs/retrieve.md", - "sha256": "4bd23a378cd2ded5e3dad0bbfa9110918d1449f9c88114da2eba1e51c1aee8d5", - "size": 12549 + "sha256": "dc5e105a6ab92b46f30f616b4373359b8c80cd24c34191be1d30fc5d4da67fcf", + "size": 12754 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/list", "status": "success", "path": "en/api/go/beta/deployments/list.md", - "sha256": "7458d9e29923e034f8084fdad7b9d9cbfb017cad602205c04e1f4d3e260535a3", - "size": 23762 + "sha256": "0d33672d026fd0bc00e200c24ab960dbfc448488175205bb9f6d5fea0fbcac7e", + "size": 23967 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/retrieve", "status": "success", "path": "en/api/go/beta/deployments/retrieve.md", - "sha256": "76ae163bc509f6862c1e01e64e48f3987acd330fbd945f62bf71c1f64c749344", - "size": 22638 + "sha256": "a3a277576946c21c0ae248474a1d99e8e0ebb887c9bc0156f1f45000f5d48a47", + "size": 22843 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/update", "status": "success", "path": "en/api/go/beta/deployments/update.md", - "sha256": "b29b1ba229fc77cdbe28babd03f5ef1d3fa12a9e60b5125f8e4f09c1b35c1f56", - "size": 32883 + "sha256": "9c3728d649f29033adabe36da1cb975f9801b51ca431cdbef3571d1087d31617", + "size": 33088 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/pause", "status": "success", "path": "en/api/go/beta/deployments/pause.md", - "sha256": "93cd560cf38b38b47d8c72ce6c26869f06ba766b41afa9481876be7415d6465d", - "size": 22663 + "sha256": "7fb7b590e6d541c8a14ddaf2bfe9a5a64e9a43eb0caa7349b31e7ce7fafd99d1", + "size": 22868 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/run", "status": "success", "path": "en/api/go/beta/deployments/run.md", - "sha256": "42c1111f7c7168e32336343cbced3ec9d12f9f6855e440ff8296bf1a08e7e9fb", - "size": 12532 + "sha256": "616b2d260b0c07305f42bab21206ec8c0bd38af144909f4adba9445e4979aa3a", + "size": 12737 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/unpause", "status": "success", "path": "en/api/go/beta/deployments/unpause.md", - "sha256": "fa453b8db2cf04c9936e37a11b1460c99ed74b22bc3742dec1f38ca219ac50d1", - "size": 22683 + "sha256": "0e3fae7005e415377801e1fc2bc1b242d7a3a428d2e22ed5edf81477eb750d3f", + "size": 22888 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/create", "status": "success", "path": "en/api/go/beta/deployments/create.md", - "sha256": "f9a441e0d4e242e056fbf8c20ff1fe8db9167e91b5aa4cbd0f23c90296ab8867", - "size": 33197 + "sha256": "8d6cb1c407963d09a8dfc8ada673bc71103f135873f378264c7c5f9ab71139a0", + "size": 33402 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/archive", "status": "success", "path": "en/api/go/beta/deployments/archive.md", - "sha256": "d1976afa82b5686223abcc55331857b68a40c2b9e07efa213715f9d050364433", - "size": 22683 + "sha256": "24e2bfc7fcabb1f097b01ab2df2404dddda5c2a69d58c602e400b445712ab600", + "size": 22888 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/list", "status": "success", "path": "en/api/go/beta/vaults/list.md", - "sha256": "3f729a4f6b333f223d5051c071a2fb9df8c490efd2c5dec79afd218bbc3a54d0", - "size": 7877 + "sha256": "1654926cf440ec8ce98e309e90195b2b47c70bf9b14ea35e7a8a52996ab1dbd7", + "size": 8082 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/retrieve", "status": "success", "path": "en/api/go/beta/vaults/retrieve.md", - "sha256": "e16a9cc5e245ff56c3bd0a4444a19f782577d0a0f0c6348a9696e82d8d21a4f7", - "size": 7392 + "sha256": "9d837e557fd58f955c7e759e286d0cbdfe6558980dcd79512f824a26e08e6c73", + "size": 7597 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/update", "status": "success", "path": "en/api/go/beta/vaults/update.md", - "sha256": "d3fc274ed4ca40c5cdb7dd12e2cc6abd5ef03a93bd33a1e52d393c98ec0febc3", - "size": 7698 + "sha256": "85d7e21688e7ae853a9f180554b02c4ef2e50380de48ac9393cdf0ac667bd083", + "size": 7903 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials", "status": "success", "path": "en/api/go/beta/vaults/credentials.md", - "sha256": "5cfdcc3849c53d8240ca7c57f343a51d80de01be07ae933257a8c0ff16c798b9", - "size": 118815 + "sha256": "d0ca7b75babd3dac87b2125d2940fbbb609711166284acc1b4770dd35d90eb90", + "size": 120250 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/delete", "status": "success", "path": "en/api/go/beta/vaults/delete.md", - "sha256": "f4363b3389431bb38832410d9105746198837f2bee871a999bd23cc89929f4c1", - "size": 6810 + "sha256": "b78f99b7acdf3363dd5188874688d29a19731315c49ed79a6769337a903cdc27", + "size": 7015 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/create", "status": "success", "path": "en/api/go/beta/vaults/create.md", - "sha256": "5e1854bfcbb665c9175e3046ae67db86e59a4f86d8707a5456875bf7b0b70bb1", - "size": 7559 + "sha256": "b81c4e01a4187022f3da335dc5e2d4449d28065c2939004a4f5bb22b89b63e51", + "size": 7764 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/archive", "status": "success", "path": "en/api/go/beta/vaults/archive.md", - "sha256": "9ce2215f859a78bfebf1aa8255b75fd8ab55ba98e1830f161943e3f868a09d7f", - "size": 7410 + "sha256": "f0ad82a75ecc1d614f47db9c618b1502ee41d3c6c6dbe940fe11f43b6781aa43", + "size": 7615 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/list", "status": "success", "path": "en/api/go/beta/environments/list.md", - "sha256": "9daccfac788020aa4a1187d8c9d012be87d9b430cb9f9ba2787a19202b2847c2", - "size": 10785 + "sha256": "e909dc22a8552246bf4423c7db6e6f0a608d2c524404347498ab1bd4c95e22e5", + "size": 10990 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/retrieve", "status": "success", "path": "en/api/go/beta/environments/retrieve.md", - "sha256": "542b4bcf56ec3a54890198c5f0933affcb1fa4c1c7c6f34273dd6d55a933e1c7", - "size": 10236 + "sha256": "0ca6726f0d1f0c2fa1795d50848f0cac3a067832fc408ac1b2a77ba978a98043", + "size": 10441 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/update", "status": "success", "path": "en/api/go/beta/environments/update.md", - "sha256": "75755f8b7a10468849e6b06f4384ced1ac6db4237c8ffd78413a043c3f6ab776", - "size": 13544 + "sha256": "cd83923a8f082c88bcf9346c7e018c366cba3978987d139b9f1f7c3beccd3ef2", + "size": 13749 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/delete", "status": "success", "path": "en/api/go/beta/environments/delete.md", - "sha256": "8394f2618e831b8e52223cc1dcb9fff78ab6bc943071b651eaaabed8b2b64d06", - "size": 6910 + "sha256": "e938da875174a92b3239508a56cbacb3e18ead265328aecee299b5c86342af34", + "size": 7115 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work", "status": "success", "path": "en/api/go/beta/environments/work.md", - "sha256": "078801a114df2cd9156a59394f6de8a28f2c844dd1dc4bb39cb5c41ae74686ae", - "size": 78071 + "sha256": "176d986364a731d99799dbd1c38fe18cf67b872d4e4208bf5e4b552b2b17a267", + "size": 79711 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/create", "status": "success", "path": "en/api/go/beta/environments/create.md", - "sha256": "28d42c0c4fc28882d6b48689c3d29a0cb037f69b72b8e9f546f2024ee52a8cdf", - "size": 13405 + "sha256": "f08adb6c4a5194179e1ee301b07dbb4e112a0621655ef440ac75ca1ecc08a2f8", + "size": 13610 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/archive", "status": "success", "path": "en/api/go/beta/environments/archive.md", - "sha256": "18011739f70247a4e78470384a382a73c8808ebb5785e0127f474a1838792bfe", - "size": 10318 + "sha256": "eac7cf809ea2085b1e7b49b15e13c06deb45124cf886a4609ccce811edc033d2", + "size": 10523 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/list", "status": "success", "path": "en/api/go/beta/skills/list.md", - "sha256": "50f7c0754d1274c77142693d699bd44855cd9978f6f200627c617555929ec3d2", - "size": 9170 + "sha256": "0d5b789404d93dd4ef5d6971e0c0679334c566d79da4250fa52db4e2c7b34382", + "size": 9375 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/retrieve", "status": "success", "path": "en/api/go/beta/skills/retrieve.md", - "sha256": "d522d2a818847c2c52d5d6a2a82d8f1aa810e9da1e5ef25b7ee70d29da1d4a72", - "size": 8569 + "sha256": "671b67c0543eaf69379a938558755ca023183dfd24f2b2692d1ecc02e97a8a19", + "size": 8774 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/delete", "status": "success", "path": "en/api/go/beta/skills/delete.md", - "sha256": "8a96f695eeaa1c282a49599415fb6f51e0e5712c5b654df4f3924f2247f33661", - "size": 6854 + "sha256": "42e0f7316e167636e64c93cfd517890542967fa76948bbc9e5fa19d4ae9090e1", + "size": 7059 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/create", "status": "success", "path": "en/api/go/beta/skills/create.md", - "sha256": "24055014f563272ecda13cb4e13d9b98e37bbfa397127b2cb3500f740f40ba60", - "size": 8905 + "sha256": "e2e2b7fd00cdb0660c49915ef3414e85274802750e9323267035a372f9af33a7", + "size": 9110 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions", "status": "success", "path": "en/api/go/beta/skills/versions.md", - "sha256": "bfbbada52570233aecd24fd49af91a817fd510b5deff6ad8fe390c052c42b5d0", - "size": 39264 + "sha256": "e980e0116e44a21d21251c9f438d729839755febc422dedab3e281ff018ceee8", + "size": 40289 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates", "status": "success", "path": "en/api/go/beta/tunnels/certificates.md", - "sha256": "d891a381c249882d0609a0bb1b1dfafe29f23c570286a18ece4ee36f6d110f6a", - "size": 33741 + "sha256": "fbaf4cc5e3e360672d42a5c8a687d60076b059839e7cbd427d66b68cd980475e", + "size": 34561 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/list", "status": "success", "path": "en/api/go/beta/tunnels/list.md", - "sha256": "f3b70f4c4e905ba32c97e62c681551feff6246b1281bbe831858cc1d64508960", - "size": 8139 + "sha256": "4d10fa3b734ca2d9ae06705d1b713d4d4acdfb45fac483d687c70ccb1a291b8a", + "size": 8344 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/retrieve", "status": "success", "path": "en/api/go/beta/tunnels/retrieve.md", - "sha256": "2ef397d3dd4e746b627e64c5ca455c790a4c9f08e77831aeca9061890d5b99ac", - "size": 7640 + "sha256": "c6ae8e7c846e4898c190e2d7e68cd113e1a22f650dae537cdf414a39ecc1a7c1", + "size": 7845 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/rotate_token", "status": "success", "path": "en/api/go/beta/tunnels/rotate_token.md", - "sha256": "83a22b4d041ae28b315d68b1c2ef3f330c5430dcd10a2faa8da63a0dc2ee4f6c", - "size": 7511 + "sha256": "005c81fe8214d658645a7bba5bb4336d662af8c422dcdba7863bebcda63525b2", + "size": 7716 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/create", "status": "success", "path": "en/api/go/beta/tunnels/create.md", - "sha256": "a78f5891d050514ae4f796efa5612794bc39e60f418fcf5d40b446bc1592fd99", - "size": 7838 + "sha256": "cc7342e6b002912ec0e6b9693298e440f10d46583b26aead1620a2e8a3c9c746", + "size": 8043 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/archive", "status": "success", "path": "en/api/go/beta/tunnels/archive.md", - "sha256": "e465956caa04749fe6e29045d3c1dd297e7d31d731e1ededc3e1fee7ad1a09a0", - "size": 7939 + "sha256": "c0d78e45fd686368b806d920499494964766a2f669c6bd4eb17de36252a1d152", + "size": 8144 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/reveal_token", "status": "success", "path": "en/api/go/beta/tunnels/reveal_token.md", - "sha256": "f3f74838a7a2724cd707687a3c112a20af1c2f912eecdf08df569f0eaf874d88", - "size": 7396 + "sha256": "efd61e57f1abeb0610fcbf6c2b02b8284b4a1b0e1b4ff2ee2ddb13cb567b33d9", + "size": 7601 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/files/upload", "status": "success", "path": "en/api/go/beta/files/upload.md", - "sha256": "cfeb7a8e938fa0bb5c9874c35381d771b55c25890b14d0cfe654b9468452c35d", - "size": 8465 + "sha256": "475c7fc46e400e71de237fb21d1e8657896d5d616bfcd1751198ea399d1d1969", + "size": 8670 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/files/list", "status": "success", "path": "en/api/go/beta/files/list.md", - "sha256": "d027828fee70fd8995fb4ae2813aeed3a56357fc1a9f0676803fbcb4a9f88fdb", - "size": 8833 + "sha256": "f4643c8a54e2ddef23ae25ae00bdd85edbab4f50f43b2b9f957352d161aa9739", + "size": 9038 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/files/retrieve_metadata", "status": "success", "path": "en/api/go/beta/files/retrieve_metadata.md", - "sha256": "33bb1ea3cc57bc9c1107627f0cd8240ed76e25b14b9d6f85b559fcf06e0f1589", - "size": 8037 + "sha256": "60f79fe5aee778267afedd41ff6163fe998854c748f3bdf161e4c3787d52c673", + "size": 8242 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/files/delete", "status": "success", "path": "en/api/go/beta/files/delete.md", - "sha256": "7c9d011006a89dc5d0265dafe5fc4c2af67b5d4a4541c1428889a5315a6c5fca", - "size": 6718 + "sha256": "bd714c1d395ccf3b2fbe955ce1bb4f44ced2bdd2731aeda6e6d67874f67adcf8", + "size": 6923 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/files/download", "status": "success", "path": "en/api/go/beta/files/download.md", - "sha256": "1e56853b6770d3a0d1a2adf3e08d187d0cf42da15dbaec5f191f5fc24ad6670e", - "size": 6441 + "sha256": "24bfd3b05da0714a569a23aaff4cb711bf7bea3687b279f0f96677e41a8d184b", + "size": 6646 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/list", "status": "success", "path": "en/api/go/beta/tunnels/certificates/list.md", - "sha256": "a48859e6343b7474f0f24377a66cfd9f75afe08aae9c64e5649ce34a88751ac4", - "size": 8518 + "sha256": "d46d953dfa880593f3bd5913699725ee1841d651141861a398b89b4fc3cca299", + "size": 8723 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/retrieve", "status": "success", "path": "en/api/go/beta/tunnels/certificates/retrieve.md", - "sha256": "2f93fdc5dff0ec1967b89f5898f96ea5b90e42e0332b658df545ed2d3fdb5fb2", - "size": 8070 + "sha256": "d7493ebf0e4c8a923ccf7cbd7ad00342266f6848501ac09b1e2f78e3082be19d", + "size": 8275 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/create", "status": "success", "path": "en/api/go/beta/tunnels/certificates/create.md", - "sha256": "58ee73c8f8243f34b1d8528c2863403d45f6418084a9889a429f0141efc325ca", - "size": 8324 + "sha256": "662235c19dc106a6baadab1a33133d929235865a4e0979512d1c6b1c70895f32", + "size": 8529 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/archive", "status": "success", "path": "en/api/go/beta/tunnels/certificates/archive.md", - "sha256": "9194df9c4a747fe00bf1fd95e74583797bae02702f10d690bbef94290b735f26", - "size": 8325 + "sha256": "57185453ad090897825cfafaf8cf89bb25bff1eec62ab464a5296c327d7173af", + "size": 8530 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/list", "status": "success", "path": "en/api/go/beta/skills/versions/list.md", - "sha256": "49573314e30ca4e7b23d3bc6f64d7946b30c466cd5ec1c91d0fb8860993f9cc6", - "size": 8104 + "sha256": "8f73ff68a4b6285f2e9b32c2fb47d1f162cdad7cd23217be651872b6249257de", + "size": 8309 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/retrieve", "status": "success", "path": "en/api/go/beta/skills/versions/retrieve.md", - "sha256": "ad1e0c552274d525544b6808a0981b7b84e565da655f17e6234a985d268c9b8d", - "size": 8049 + "sha256": "070ac13dd145114e8e17b455c7baef11b31212b0ede9159b40452ba55d7f8a89", + "size": 8254 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/delete", "status": "success", "path": "en/api/go/beta/skills/versions/delete.md", - "sha256": "078c0684c032be8b5e64ab3c2ae86f972f6d35cebb694e80162cef214d90f181", - "size": 7261 + "sha256": "7d742e9b859d2e4d1d15f98f55d1103dda4bd154495d04c44f3009b150df6af9", + "size": 7466 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/download", "status": "success", "path": "en/api/go/beta/skills/versions/download.md", - "sha256": "751638193fa54fb4478fd6d495eca91fecf544218a1775c2328afa1666d72589", - "size": 6925 + "sha256": "a005ccffdd5e32b6d5e448c0bbc6066ef2a7bde24221c39ed26515d5ad7681d4", + "size": 7130 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/create", "status": "success", "path": "en/api/go/beta/skills/versions/create.md", - "sha256": "1373afa72b626dec2826aeba070a044616c29d08a68a024ed1bbb3cd1fb7c52e", - "size": 8000 + "sha256": "b38ec0e5eb7e6b59d0b0f894936ce9a4605965ef3f5b546d8c0926bbd3838008", + "size": 8205 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/heartbeat", "status": "success", "path": "en/api/go/beta/environments/work/heartbeat.md", - "sha256": "7b002aff863c40eb4f5308ac1dd7502ce7c995c9ee94e16ecd86fd6768434753", - "size": 8347 + "sha256": "57714bbf8e6dd2756da929714cae2f0a1802ca8b2683fc4457cd1a8895114171", + "size": 8552 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/list", "status": "success", "path": "en/api/go/beta/environments/work/list.md", - "sha256": "bc12771c85d83365e1b8620d8d911f3aa446abeabe76db56cd186a40539f5d2b", - "size": 9197 + "sha256": "d291f396aa4154a5d659bb58469b45ec88b9a2694f0c6ec98749adfbbe2888f6", + "size": 9402 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/retrieve", "status": "success", "path": "en/api/go/beta/environments/work/retrieve.md", - "sha256": "4eaadb92a160768c3ee98ef0cca0db9394548630703b284debf47e1d81ecf8be", - "size": 9316 + "sha256": "e1e9ebeb44346ac44245c1f62abaf96a1670d723c9ef0c805d2032a7ad13b29d", + "size": 9521 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/update", "status": "success", "path": "en/api/go/beta/environments/work/update.md", - "sha256": "6f35e57f80079a55e24d02aea56a84db36a437b89e9aaaab2814166c85ba62be", - "size": 9594 + "sha256": "360cbcecf3588c0736528b4bc945e4b2c595f882f1007f1c20dda3eb5c252d9c", + "size": 9799 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/ack", "status": "success", "path": "en/api/go/beta/environments/work/ack.md", - "sha256": "b1ff8dd8576c5a78691dbdb4af83faf204ec471d6458afc2aa0af9476beec156", - "size": 8995 + "sha256": "4f973feb935ce02829da926aab1060502c317fd377aaaa26a137222bd913d7fb", + "size": 9200 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/poll", "status": "success", "path": "en/api/go/beta/environments/work/poll.md", - "sha256": "b1ba3a4e1c75f2f690cbe9fafc5b7f35ed4840597b212ac0b4716bc089e0de23", - "size": 9477 + "sha256": "85a6cec1aa90821428811ad7af3e1d1734e4dfd21a30feb7ac984a7c7510d4e0", + "size": 9682 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/stats", "status": "success", "path": "en/api/go/beta/environments/work/stats.md", - "sha256": "140bac31c58582bb091bb785236a01e0e034277aba6483b58ee6d0c9f9c9cb91", - "size": 7494 + "sha256": "5398c85cf5046c6cb4a1216bbc67be40a6868c688306ec9b102fd784bbeba98b", + "size": 7699 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/stop", "status": "success", "path": "en/api/go/beta/environments/work/stop.md", - "sha256": "4ea4429bba0103e8512e9e580874db61ae96d57e4a6848e6ddda63d8ed522ed1", - "size": 9518 + "sha256": "0746f6af5a761cb0b7a40ff564b3ba97aff5cd73435ce998236ae4faf14695e3", + "size": 9723 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/list", "status": "success", "path": "en/api/go/beta/vaults/credentials/list.md", - "sha256": "8a4b0b9a0c8ed9816ad4d5cca032dc28bf80483878d09688c7670752a783b462", - "size": 11805 + "sha256": "4f0d61ae5e456656a528c3061d267d5f1763bfb7459793738f3029d9c282895e", + "size": 12010 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/go/beta/vaults/credentials/retrieve.md", - "sha256": "5138240960b57bbbe6e697718a970d2ee5a802bae8e6372e996db06465e7b571", - "size": 11308 + "sha256": "b657a83e013cc58b1e5151b2b6b200739753435c6299ae1ec2af06b39f837c89", + "size": 11513 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/update", "status": "success", "path": "en/api/go/beta/vaults/credentials/update.md", - "sha256": "9707bda8364be34a5a2cae51a84e7749e7a9d393a2432275d976ddac010c5320", - "size": 16050 + "sha256": "022efb5ea753da0fc1e9e31a7aff891d326cc1667216ad966e69324107569b13", + "size": 16255 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/delete", "status": "success", "path": "en/api/go/beta/vaults/credentials/delete.md", - "sha256": "b73266156fc82a25ed63a2dfb4a747e21dc6b51e87fbb3249d645e796a6d1562", - "size": 7124 + "sha256": "afcb37617631b97d68d09400b32a4590bff67b42913340cd18a3dff2f2c93d52", + "size": 7329 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/create", "status": "success", "path": "en/api/go/beta/vaults/credentials/create.md", - "sha256": "61f8cda2614ca5bd81a5a45656cebd44f7025fd992164cc146d5374b272fd1c1", - "size": 16505 + "sha256": "90a55d7b00061889b04dd7823bf2842d29923a27eaba8da5d818dfb75316a3b9", + "size": 16710 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/mcp_oauth_validate", "status": "success", "path": "en/api/go/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "7d264874d903be6a6d8c9d5bd258063139857ea5acfc75b0227f1911511ee787", - "size": 11047 + "sha256": "59da83dee62b2087792d57804ea6228429f10e9692de08def518501e7117d2fe", + "size": 11252 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/archive", "status": "success", "path": "en/api/go/beta/vaults/credentials/archive.md", - "sha256": "f083391e2229c138b8bf99f20b052aacd71b0c17316ed806a66d84f5aa4ba1da", - "size": 11328 + "sha256": "10863190ca5d4c13792a90afe44dfde14eece7ca7d5ea0e3142ccd2d2bef06a5", + "size": 11533 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/list", "status": "success", "path": "en/api/go/beta/sessions/resources/list.md", - "sha256": "537e050a941bee979d62dd686fffe8835754e0598070c4ee041f880ea410282d", - "size": 10142 + "sha256": "33415d47aa36a126b247b58c03d9488a2b5f2d5eba7ee205a818b06ea815ee0c", + "size": 10347 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/add", "status": "success", "path": "en/api/go/beta/sessions/resources/add.md", - "sha256": "006ecafe3281d1d3fb47a469012b1f2491056cb933e749cf8669a25869e51d83", - "size": 7383 + "sha256": "1c2f0a99f7ec77562df7721c41b74e1a209662f7e171144af30f51dc6b9a5417", + "size": 7588 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/retrieve", "status": "success", "path": "en/api/go/beta/sessions/resources/retrieve.md", - "sha256": "e15d9f0fbcefeac509770635466d9bfc53e700c475a6d6b17d6af96777a06f4a", - "size": 9592 + "sha256": "effbd840ac6b91a93d2170bbe876e7cdc96995046c4b6055fc3f5f640c6ea80c", + "size": 9797 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/update", "status": "success", "path": "en/api/go/beta/sessions/resources/update.md", - "sha256": "da874d4f92bcd7d0c0e6600e3c9ee4e787600bbdc49ba2079b816739aaf9a006", - "size": 9852 + "sha256": "b7fc8ee699c6872faa546fdd4b4dcdc573e092ac3a72380bc48e3a45d571ebb3", + "size": 10057 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/delete", "status": "success", "path": "en/api/go/beta/sessions/resources/delete.md", - "sha256": "cc8cd35ebb56747d09446dc795f44022dc889fbbcaefb1f3127fe7fcd147ef5a", - "size": 6977 + "sha256": "b89c50f911f5fc6c9c5e0da16f45cbf337e0013c62a111e5b4eef6b09e88e355", + "size": 7182 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/list", "status": "success", "path": "en/api/go/beta/sessions/events/list.md", - "sha256": "21faa902a5287c4e94c55b0c782cd86eb323aedc0a1bb054eed687047162f7c0", - "size": 107038 + "sha256": "e0c4f00423de8762a021fb4cd7161759b89119424070167a9b192e1207a93e1b", + "size": 107243 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/stream", "status": "success", "path": "en/api/go/beta/sessions/events/stream.md", - "sha256": "ba3d5ffe221d97fca3ac3249870bdbc9cbac06b5b96c6edd570b600a1994f224", - "size": 103564 + "sha256": "7b636ea0f9357daaa0347d13a6b949d914a03c1eb87da407a36b1f0202ab7ca0", + "size": 103769 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/send", "status": "success", "path": "en/api/go/beta/sessions/events/send.md", - "sha256": "25d7e9fc56cbb9ba5744186da06693682436d20f8777c9db6f0f0b3952819a88", - "size": 29284 + "sha256": "0b7240ec4c6907721766ab385308d3c530ccba5f52e345ef052f9ae78702f1b7", + "size": 29489 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/list", "status": "success", "path": "en/api/go/beta/sessions/threads/list.md", - "sha256": "3023455e847db538f954c54d1e6ebba7f0d9a1dc62e6c76058bd23b05cfb7e1a", - "size": 38658 + "sha256": "e8cbf9022ff1d6c83becc6a435607271e7c19df68b78ec836e7fbd76a0c4ee90", + "size": 38863 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/retrieve", "status": "success", "path": "en/api/go/beta/sessions/threads/retrieve.md", - "sha256": "5eb4550eb1160805321d0f63e9758379bf0d8deedd49e50d369841f549f0aa36", - "size": 37420 + "sha256": "2e1e63f01e521ea65eef5b164784f05e5f14227f4d51f8cf02785bcba33cc795", + "size": 37625 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events", "status": "success", "path": "en/api/go/beta/sessions/threads/events.md", - "sha256": "94c20deed1d78551cf54259e0bd21813855540dbeb0f1ccdc9bdd26946830eeb", - "size": 204109 + "sha256": "96c08fa6e21766f65979be3d6bb36f13380ac915e498981429cf4828f5e88c7f", + "size": 204519 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/archive", "status": "success", "path": "en/api/go/beta/sessions/threads/archive.md", - "sha256": "d287125cd4a4e723fd5298a8945c98d0f4fbdc7ebf597b4db4bbd9291b6823b5", - "size": 37456 + "sha256": "9377bff7bd005563c5b1d5af2231f380e867a601035e6ab578e29936d5ee0927", + "size": 37661 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events/list", "status": "success", "path": "en/api/go/beta/sessions/threads/events/list.md", - "sha256": "5bda5a1f6f3669c4e0a41b1d6b4d184758f86cd7a72addf6ec285c100042aa6b", - "size": 100477 + "sha256": "7264f4b75916ae047224d4aac82ebabb3d5f821d946d49316f95852446852ad4", + "size": 100682 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events/stream", "status": "success", "path": "en/api/go/beta/sessions/threads/events/stream.md", - "sha256": "c7ebfccb9a3f412e7c252ccec9feffb77bdb296356912329de89e2fa39fd716c", - "size": 103765 + "sha256": "d92bf80de416e78546560ec35f8ed85052e814fb13bfc1409903f519e0054c23", + "size": 103970 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/list", "status": "success", "path": "en/api/go/beta/memory_stores/memory_versions/list.md", - "sha256": "4ec3025426d1773d2cb5b0c739ca3cae711f8ba260987ea2ab59c0dc5d7a157b", - "size": 15041 + "sha256": "b109c4ed68df0de13ac803315049e4a89b31c8923a0d90e32a2a016e4351d6a3", + "size": 15246 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/retrieve", "status": "success", "path": "en/api/go/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "5031040c18ad2b88bea9bab2df2fb35c0d91ee2d0b3205206426997bcb66f7d1", - "size": 13447 + "sha256": "f347d86284174fd83eae6192198047e5a9c38f41eded3fda20c9601d290764af", + "size": 13652 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/redact", "status": "success", "path": "en/api/go/beta/memory_stores/memory_versions/redact.md", - "sha256": "915434e4cccd45ed32d1dbce9fb8964dedcd97bd993fc9d7b5f0a278b21b4870", - "size": 13141 + "sha256": "ed5e609c117423a3ac0a85528429f0df35d5c35aafe9bb95524e4cc89d3d1844", + "size": 13346 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/list", "status": "success", "path": "en/api/go/beta/memory_stores/memories/list.md", - "sha256": "037c589ef043717b0914d9388602e5101ce4b0eecf1967688c24be44ae53dbc0", - "size": 11864 + "sha256": "0709e1ab1cb3022ad85a720bb6b3b394b1ef0534071e6652be1021895eb58a8e", + "size": 12069 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/retrieve", "status": "success", "path": "en/api/go/beta/memory_stores/memories/retrieve.md", - "sha256": "a777d3948758aafc6149bf2f54085684553b828471fbffca2bed7d96800bbbec", - "size": 9799 + "sha256": "e8b1b0f38a03ad7035c5773069b0d6b6e70c56a63fb1ca1766deab0b91fe7702", + "size": 10004 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/update", "status": "success", "path": "en/api/go/beta/memory_stores/memories/update.md", - "sha256": "22aefe44f2e1e6bbb90fcbeb85fd7b5f96bc4c1ceccb1c7577e2a3a92b1566d0", - "size": 10734 + "sha256": "3b39bc40ee7f8b04d7b04499ebd692a3a524d01ba3498df044bb7d59b880a6c4", + "size": 10939 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/delete", "status": "success", "path": "en/api/go/beta/memory_stores/memories/delete.md", - "sha256": "f7ecde9c8d24e2c1898005700e8c6f028aff1e6d4afc201c7436d879aee45da4", - "size": 7993 + "sha256": "1dd8749449edfddc0092633974ac7559dfbfedf0a6f0312dab798becc7d41a03", + "size": 8198 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/create", "status": "success", "path": "en/api/go/beta/memory_stores/memories/create.md", - "sha256": "f448218f496e54a4d7fd7a59a4d8f387246b0c987cb2aca51d2f96aed1394c79", - "size": 10331 + "sha256": "c24e7bd687fa10d6093f8c487613bc198875396adb34ff177be495761bd112af", + "size": 10536 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/agents/versions/list", "status": "success", "path": "en/api/go/beta/agents/versions/list.md", - "sha256": "60084042dc846343819f2003c116823b0abd74480cf57d7911299223d8ec5c1d", - "size": 34477 + "sha256": "2ea22bf2a56af06f3e8dc39e4c089c1a8403babc29dc2545c687cdc9eecebdf7", + "size": 34682 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/cancel", "status": "success", "path": "en/api/go/beta/messages/batches/cancel.md", - "sha256": "b3884aa0c4702067994023298de2ccecbaabb2f9715d17d33e8d478435dc6b1b", - "size": 10943 + "sha256": "93bdb77c17074d04c290a928b11a8305b1699cd8cdd3112763b8f0ba52f927ca", + "size": 11148 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/list", "status": "success", "path": "en/api/go/beta/messages/batches/list.md", - "sha256": "ca4cd4fe2eb6766d898ebe06285aa10bcc98ee3843d31d4137260ab290b0b9b4", - "size": 11094 + "sha256": "5ee2893b52362f3e4fc89e334bccc8a99835dc33b31b2fb2739a1753e2c17d46", + "size": 11299 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/retrieve", "status": "success", "path": "en/api/go/beta/messages/batches/retrieve.md", - "sha256": "1508f4c9c92524afa9d04d6321a4801f3038f8f4184e5745f60d91c90f08f69b", - "size": 10621 + "sha256": "afc9e9fc745c1bd21972278920e1726d602b9fbf1da5fcb7cca2543812a6bf43", + "size": 10826 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/results", "status": "success", "path": "en/api/go/beta/messages/batches/results.md", - "sha256": "92003ffee85aeba51fec6a07718f5388df8d1dc8c33b83b146e0c257a86f9cc4", - "size": 174915 + "sha256": "0407a5661de9603a56fe1e613ede38dc575ff17fcb6f4c40f1beb698cbe85dd0", + "size": 175120 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/delete", "status": "success", "path": "en/api/go/beta/messages/batches/delete.md", - "sha256": "c21a0c094196235f699e9ce0017df417609ac0450d4e3e1d7c9c028bf15e4f99", - "size": 7206 + "sha256": "cd405fad0654238d53faf4c5f3517764dc034535b40e670701ee7905d84078b6", + "size": 7411 }, { "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/create", "status": "success", "path": "en/api/go/beta/messages/batches/create.md", - "sha256": "807f09605092e0a905c9b0a5f1a2ac975ff34449512737eeee2962be11e9f74d", - "size": 195938 + "sha256": "2a8f2c15b27eb88bb8d6dabc5ac4d112a936c6752b49e4bc4d930470bc1de3a8", + "size": 196890 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs", "status": "success", "path": "en/api/java/beta/deployment_runs.md", - "sha256": "1dd19b9c639b01c11dcf53ac91039852d360d25a37ea4fce81ea479415a836b5", - "size": 36299 + "sha256": "52513a929fddf48ba53640d1e1963e1924b57fec79e310929480d04c2db58e9a", + "size": 36583 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/webhooks", @@ -21121,85 +21156,85 @@ "url": "https://platform.claude.com/docs/en/api/java/beta/deployments", "status": "success", "path": "en/api/java/beta/deployments.md", - "sha256": "75f70007ddcf82bd90e26da9b42d133bcafa172a96dc3c57dbeb69f69539429b", - "size": 233400 + "sha256": "6d00e67762285981336d0bc216e0f504c6798a895b8376aa4114e69f88565881", + "size": 234536 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles", "status": "success", "path": "en/api/java/beta/user_profiles.md", - "sha256": "0e88d28b127ec761d94d199018f1f14eec5246587f41b08d126c1bcb05862804", - "size": 75469 + "sha256": "1ddacafce8d74f60e55da2033fef449b34f3b0908351416d457d766ad2d3d0b3", + "size": 76463 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents", "status": "success", "path": "en/api/java/beta/agents.md", - "sha256": "294940f362d99e883b3c528762b8f7661cf63c87c3ef8e0d960d4f6256462780", - "size": 454033 + "sha256": "ccaa8daae2400de0ef8a35854a29b3802d8cf5db53e3ee62f5b80d2fe98860c2", + "size": 454885 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/files", "status": "success", "path": "en/api/java/beta/files.md", - "sha256": "41fc72c75f3b734783aca56cae1f8a533d0ffb8b019a44998390511276dc23a3", - "size": 32221 + "sha256": "2ac4c81841618bb638addab728b91bafddef2ec56f97f501533cfd0d4fe26253", + "size": 32931 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults", "status": "success", "path": "en/api/java/beta/vaults.md", - "sha256": "8ba0024e30681e9453fac5606c8a3073e4a5d3439988522db424b1d60ece6028", - "size": 110674 + "sha256": "a0ba6cf66bb1189317b4382282b5ddd17fbc539de41dfeb4d6663fbfe03c5304", + "size": 112520 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills", "status": "success", "path": "en/api/java/beta/skills.md", - "sha256": "4b9ed17e4cab6e90dad9eb951c0876dcf0d4f4f024dea1db023052a0d0152608", - "size": 59591 + "sha256": "aa5e02a6b9cd19ad3425144732ea7a1d23342bf237fe7687453d47389d5162b1", + "size": 60869 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels", "status": "success", "path": "en/api/java/beta/tunnels.md", - "sha256": "889537940cfc1ceeda5cadc91692d42ea965c23308cd3b0adb5f14cc8bb48417", - "size": 65470 + "sha256": "a2a367a754844ce0960745f6be90cbde749911ef6b14fe6fbe682e0d33bfcd8d", + "size": 66890 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments", "status": "success", "path": "en/api/java/beta/environments.md", - "sha256": "6e469c5ab9f4cfe6e230f60dc151842ddc6dbc61bc846eb8f91fa2a78fd8ac11", - "size": 122229 + "sha256": "ecda9248266c8cb65ec4ecb5a18025e85261df663636125683dba7afa6677c1d", + "size": 124217 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/models", "status": "success", "path": "en/api/java/beta/models.md", - "sha256": "8da4b4500857331a66505c5c5986d892338de68213a41b3494f9c331991c3026", - "size": 47970 + "sha256": "f31c6ffe8b7b7db8eef2d4bd8c4ad1f46e4f5f8b3e7fe2288fd33078e285e717", + "size": 48252 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions", "status": "success", "path": "en/api/java/beta/sessions.md", - "sha256": "3887c71f8b2f91d2248a0de39a4b56f22917ff6b1067f82d5702f9c4ac2ae393", - "size": 1199400 + "sha256": "0fbf0ae35339bf53c25cfa25e651f4c0f10e6f51638d3a2c81cd81d314893310", + "size": 1202098 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores", "status": "success", "path": "en/api/java/beta/memory_stores.md", - "sha256": "8db96d954f5971824dbb683b183619bf2ad750c5ef626b3c0ea55edd3d30b6f2", - "size": 126399 + "sha256": "5ac9d0206f6c27568c7b98171710e5fcdbd54209c8bceec954a63762fbfa2fd5", + "size": 128387 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages", "status": "success", "path": "en/api/java/beta/messages.md", - "sha256": "7bbd9d20ae92134d6c74e3c707d955b797f0836d3babc16a109e0546347dd87d", - "size": 3383125 + "sha256": "3588d398a462274d7408816340339bb393353e4b6476c47eee7d452bc8a8a628", + "size": 3386539 }, { "url": "https://platform.claude.com/docs/en/api/java/messages/batches", @@ -21226,22 +21261,22 @@ "url": "https://platform.claude.com/docs/en/api/java/models/list", "status": "success", "path": "en/api/java/models/list.md", - "sha256": "dbbde228a8ec182c3747f9dd5c9a94db6f7f9e76db4ea4a10a1deddc7e9afce3", - "size": 11158 + "sha256": "4c8eab7fef73343b0e2887dc0c47507e990ca68cda9e5c71865db3c2747c9993", + "size": 11157 }, { "url": "https://platform.claude.com/docs/en/api/java/models/retrieve", "status": "success", "path": "en/api/java/models/retrieve.md", - "sha256": "0464f75c6781e1aeb93a4ba527315dbb77372ad77a6cb30c0499823d5125aeec", - "size": 9853 + "sha256": "066286fe313215f43f8cbda69650cc226ff679448e3cfb3da78be570a1629fc7", + "size": 9852 }, { "url": "https://platform.claude.com/docs/en/api/java/completions/create", "status": "success", "path": "en/api/java/completions/create.md", - "sha256": "c5c9455d9358278db705c96492c500888844955196477766deea0d264bcdfed7", - "size": 13308 + "sha256": "3c3137cd43153d2cc6ec2426c562dd486e8083bb410b40b5befac7f5c85e0f20", + "size": 13385 }, { "url": "https://platform.claude.com/docs/en/api/java/messages/batches/cancel", @@ -21289,890 +21324,890 @@ "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches", "status": "success", "path": "en/api/java/beta/messages/batches.md", - "sha256": "481af599d89e1fbd4bb6063a544dcac1d97e36531ab85a3033d5292ad61309fc", - "size": 808205 + "sha256": "e608dba8ed022e1f6c0b332faf8c9c216e58e61d36a0a6cd2bfef3e7652b420a", + "size": 809830 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/count_tokens", "status": "success", "path": "en/api/java/beta/messages/count_tokens.md", - "sha256": "f64a4c109a217b26ef0bc1bf6aed952791cbfc6cc7564c25f05e45f65c74bb6c", - "size": 147822 + "sha256": "aa7b987850447c73e0f4f75f7b1d9abc550d1e9eb06580e6911f7946f113dd30", + "size": 147964 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/create", "status": "success", "path": "en/api/java/beta/messages/create.md", - "sha256": "abb7cf4304a25733d5d930716e20054abbdd68b9c573ac327e0c159a13eadf04", - "size": 303636 + "sha256": "4eb89450fdca060e022111e783db78777fbec896c582f142d255e3db94f39440", + "size": 304130 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/list", "status": "success", "path": "en/api/java/beta/user_profiles/list.md", - "sha256": "e7a45818e578c9b7a70133cbdd606b7ce085b070fca1fd9b77ee9e7a320c2bf7", - "size": 11884 + "sha256": "19c1b45fb50e20251bed63409e820d7a45ef7faa52f4f9071607e7628cdb97fb", + "size": 12026 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/retrieve", "status": "success", "path": "en/api/java/beta/user_profiles/retrieve.md", - "sha256": "22ed8a55439eae7b5be31ef26f761514822e7fb281820fb533323cab8b283ae1", - "size": 10751 + "sha256": "a456eaa0bfa842817694f8bf40c5c4f05fc57a6c84affe36b8c6e7df52067af4", + "size": 10893 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/update", "status": "success", "path": "en/api/java/beta/user_profiles/update.md", - "sha256": "8de0d57e123fb326b107a272351502f71a8d1b0072ba8c9881a33a7f811597e1", - "size": 12822 + "sha256": "a9a0703dc13603bbdc1f6df33e63ca261ccd1fbe4a4d118991b2157cc29a640a", + "size": 12964 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/create", "status": "success", "path": "en/api/java/beta/user_profiles/create.md", - "sha256": "ef702d4035456bbe3e679309ae6533e90a76eb1eba00eaff98f9b447dde03b74", - "size": 12981 + "sha256": "c874fd4d9d0eae5e2251a6ef78b5588477b57feafc18bcfb5dcd1fba2d2e74c0", + "size": 13123 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/create_enrollment_url", "status": "success", "path": "en/api/java/beta/user_profiles/create_enrollment_url.md", - "sha256": "88c3a255d9a03512f2904b2cac8779ca340bc641841afde2cf41f24e95e0b8ed", - "size": 5813 + "sha256": "dcc4e42caf260782d30841a0632aa889ef77194ba5eb2823c2b5b9b759b6c540", + "size": 5955 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents/list", "status": "success", "path": "en/api/java/beta/agents/list.md", - "sha256": "b50f207dc903b7daa3e0c5c30bb22831ded0b24f23b059827b7bbd804236d2be", - "size": 32553 + "sha256": "6f0c36b5ab14bf3cbe957679e428744ffc1709f1761e74ecfc9d185c7b15ed28", + "size": 32695 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents/retrieve", "status": "success", "path": "en/api/java/beta/agents/retrieve.md", - "sha256": "3445ecdbc48b710f4783c8a9bdefecec7d770cca856b4fe61db5aceb135998eb", - "size": 31837 + "sha256": "2b025b904ac089830ebb9d308a82e983e5cc50c1f74b6104d03170edd8563de4", + "size": 31979 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents/update", "status": "success", "path": "en/api/java/beta/agents/update.md", - "sha256": "c7c094eb2a6102ef12beb79ffe44379a9e0217dd7b170aa5d13151bc5f52c014", - "size": 60829 + "sha256": "1d11721619c2cabf983e1e36b7ac8c740e07e9d7ec84bb8c227356e6e91307c6", + "size": 60971 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents/create", "status": "success", "path": "en/api/java/beta/agents/create.md", - "sha256": "1d25305ca7492ed0954043f9815232e8d2d615003603f8f63a0678b659f1cd22", - "size": 60076 + "sha256": "a3b36c8934cf5b53f51a507300ca0deb8970c71dce907fad081adb6bfe141c11", + "size": 60218 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents/archive", "status": "success", "path": "en/api/java/beta/agents/archive.md", - "sha256": "221e350cbca2527ce5af60385312021c592f775a66b2cb4b160c2818dfbb8b7a", - "size": 31697 + "sha256": "42a08c9c835daa0a842d43c99bdfd8537d7ec609a5e8466f5b073036b88e1f70", + "size": 31839 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents/versions", "status": "success", "path": "en/api/java/beta/agents/versions.md", - "sha256": "95e56115b6919bb4ba643bd008e5b6bb220a4d8ba2355c54ee013441fdff7319", - "size": 32337 + "sha256": "32bb7d005f8fa08cc305f92acc3cfb76873ed883995ce8bcfc53f52b6ec09e90", + "size": 32479 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/list", "status": "success", "path": "en/api/java/beta/memory_stores/list.md", - "sha256": "6e3ad5bb8b26e58f9aac9d649a1075e75e145b3a14b96461321f7dda52643957", - "size": 8051 + "sha256": "05bac3924ee83e7b9739657a637014649e59179130bc6de7f89f8e1cc3cdc0d0", + "size": 8193 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories", "status": "success", "path": "en/api/java/beta/memory_stores/memories.md", - "sha256": "471ff4a95671f73d886e8071aa1b334bf766453a39fa0f17a8559be6214ed82f", - "size": 57817 + "sha256": "55d2cab5a317f1ecd14959bcdfb1c3834b5017a0c584d40adccafccb7607edc6", + "size": 58527 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/retrieve", "status": "success", "path": "en/api/java/beta/memory_stores/retrieve.md", - "sha256": "f068f75985576b6371c5296a7f68465145a33310f6b2742dc827414e510d4b06", - "size": 7344 + "sha256": "0a12c165ba0d9a110c224a771d96c3d4dcf549283fadd0d916a407d895604cd2", + "size": 7486 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/update", "status": "success", "path": "en/api/java/beta/memory_stores/update.md", - "sha256": "8223bfb4ee6768471e0e87c53f483b30d15d3c40501bce6aafed64bae9841c8a", - "size": 8145 + "sha256": "22238c6848c7a957276c3fb76a7ec810970ffc5d7f3d68afd81f058dca959047", + "size": 8287 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions", "status": "success", "path": "en/api/java/beta/memory_stores/memory_versions.md", - "sha256": "bfb201728297c801d4ca3da241828079018df6b2e47175a5b7c1a90f136bf120", - "size": 46090 + "sha256": "a6b5ef72764a9ac5453c02f452e93d1118d703a40d25418835b7b5de8e13c01c", + "size": 46516 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/delete", "status": "success", "path": "en/api/java/beta/memory_stores/delete.md", - "sha256": "9b3073f86acc09b3812de7fa47bf644018f15984905f40e269938ff2e91895a1", - "size": 5622 + "sha256": "ffbca65bb75306208323135cf0693902d410f43057051db99cc28e133ea26c54", + "size": 5764 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/create", "status": "success", "path": "en/api/java/beta/memory_stores/create.md", - "sha256": "548ae35bc3490a6dea8cf93ab317034b500c44fa0fb83e1febf494912f5b436a", - "size": 8404 + "sha256": "03b39f9f2ddef9b975b55819519c10a19faf5196e335a295ef545a4a49be057d", + "size": 8546 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/archive", "status": "success", "path": "en/api/java/beta/memory_stores/archive.md", - "sha256": "4a136c098a05480031652c1b93930d9bd07999994fa5f4dfddf71d1197bb521f", - "size": 7440 + "sha256": "6ac5b0d4ad3963b7da3446f72307f1bd6c05c9d154a322de050838e4f30a1c96", + "size": 7582 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/models/list", "status": "success", "path": "en/api/java/beta/models/list.md", - "sha256": "82bc9fee8b34e525e8577588e0844c2d9e17fdb0ccffeda097732825533cac3a", - "size": 15639 + "sha256": "b3ae1ae6b28384dadadca7f4a570f9755fb2f0b8bb492dd3d80412eb2f2ccd90", + "size": 15780 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/models/retrieve", "status": "success", "path": "en/api/java/beta/models/retrieve.md", - "sha256": "4e524a501e26ca609072637488a718255b94b9bf09f877c516babc1568fb7257", - "size": 14314 + "sha256": "4a788f431940bf70440c7c48644a6e9f14ae5f07eee42b1ef525a9e2786dd436", + "size": 14455 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/list", "status": "success", "path": "en/api/java/beta/sessions/list.md", - "sha256": "d7a6c0f90fd0799e348428e196b1892ca7a99bd74b1c3b1241c45cbed192f11d", - "size": 50147 + "sha256": "73469e761ad44c8a226002917a691dd55246e5475de85215380bd9907e6ac490", + "size": 50289 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/retrieve", "status": "success", "path": "en/api/java/beta/sessions/retrieve.md", - "sha256": "7a3e34b42e75765362d07cd2460c97b3ccb1e28697c72e6915401f88ac77368e", - "size": 47265 + "sha256": "28f9a6b590c069a959be54914ada2c5d2ffda3128c291b6be598b35877513294", + "size": 47407 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/update", "status": "success", "path": "en/api/java/beta/sessions/update.md", - "sha256": "5091fe6f2e0b229775c1aadabb22626b0c68762e976228db82af4b1bbd87e360", - "size": 48582 + "sha256": "b30d7ce57d6e998704ab23e809c604956053a0130b8e08b934e6a2f091ba5e7d", + "size": 48724 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources", "status": "success", "path": "en/api/java/beta/sessions/resources.md", - "sha256": "a90fdc39a35d1c93668d78bcf2c4e6f6b5086a29b61733d74a5ed1d571a4318c", - "size": 40991 + "sha256": "3717b8d18c218b2e1382dd408e8d7e30a13453620fe90a4be959dc7c19d72e5a", + "size": 41701 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads", "status": "success", "path": "en/api/java/beta/sessions/threads.md", - "sha256": "bf62da6cf2e5d4d80761f3e2f0cd6c5cd9d756147b93ec034848bdbba2173ad6", - "size": 450900 + "sha256": "c1082a16c7637d9dea8352f8bbdac9310776b07e1d21dfbaf3161f7cc6e66250", + "size": 451610 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/delete", "status": "success", "path": "en/api/java/beta/sessions/delete.md", - "sha256": "1643623b7f365cddc494870c2623da0299e02dc871cd3c132e257fbe5a6d52a3", - "size": 5257 + "sha256": "f2b6f34798e134b9d7a4466cca8d7c71a440c4ee035438ad5264ed568a933211", + "size": 5399 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/create", "status": "success", "path": "en/api/java/beta/sessions/create.md", - "sha256": "0447c1bf50c42f1efdd404344feb96afdde9c19ad1e5f8c6a6b0f4729cd1c5cd", - "size": 85774 + "sha256": "89af3c4dd42106456366411d7082334910a15a576e84bde853f1e969b1e39c94", + "size": 85916 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events", "status": "success", "path": "en/api/java/beta/sessions/events.md", - "sha256": "5af445c10668992cb1a46164a28844909e96fdd4cc64931794c2f68188c8a942", - "size": 573364 + "sha256": "efa8baeb9d1bfedea42e8016996a50972723d002816b8a645fe36a67789f2e8f", + "size": 573790 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/archive", "status": "success", "path": "en/api/java/beta/sessions/archive.md", - "sha256": "1457d05bbf4cc06b6fded92bcb638262ea17951e0ee1d558ac860c5ca9c76756", - "size": 47280 + "sha256": "8d56a6d8b937f9d1b440be8cc2cbec0ec8d40c37673778e38d9460b1cee48c75", + "size": 47422 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs/list", "status": "success", "path": "en/api/java/beta/deployment_runs/list.md", - "sha256": "02495fa2160446b2e646075ccea7034fd8ab808e83c45f7260494653229c7e4e", - "size": 12710 + "sha256": "0e2103471887d1c958d1a358fa3c4b6703b08b48c558a265ae51f35ed8802cfb", + "size": 12852 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs/retrieve", "status": "success", "path": "en/api/java/beta/deployment_runs/retrieve.md", - "sha256": "0bf0877ee50b09552049db27e73226e4fb857987581d373bb7277190c377099d", - "size": 11404 + "sha256": "a66121f62f4e5f944823c74e824cfb7924e9dcda61662c25f573822f30a3dbd2", + "size": 11546 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/list", "status": "success", "path": "en/api/java/beta/deployments/list.md", - "sha256": "e648692c861ca5d3e9b1fc3616dea813a5a515f62afdece3a271d39d491dba31", - "size": 22356 + "sha256": "b49d5d480f5cea8dca44023605208472d73164707f7a44c1bf90d4b0cd52ff91", + "size": 22498 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/retrieve", "status": "success", "path": "en/api/java/beta/deployments/retrieve.md", - "sha256": "58ddae0ffa5eaade7b3309b1e173f2d0e68dad5340a15f887b24b27c0579afc7", - "size": 21298 + "sha256": "9630ac7b107a001bf952d91a7bc78dc767d8b17a0fd7a2de5e91aaabfacba133", + "size": 21440 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/update", "status": "success", "path": "en/api/java/beta/deployments/update.md", - "sha256": "951ce6f49a6828d30ae341b516e8ffbc344c79e0eb23f74b0c54e8970633e651", - "size": 31345 + "sha256": "b9eb735bf66d7b4d32f7e36f65ccb427ae57f6b0ca590744007e3c60b11ce429", + "size": 31487 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/pause", "status": "success", "path": "en/api/java/beta/deployments/pause.md", - "sha256": "8528dff7ad85081e3bbdab6557233f7d1490bf55f50b5fa8415954d8bc3c90ad", - "size": 21302 + "sha256": "4b800f294e2d5e07bb28dca1042dd821743a26fec4706634eaa431323f60a24b", + "size": 21444 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/run", "status": "success", "path": "en/api/java/beta/deployments/run.md", - "sha256": "f1e66de9b1dfeb82dfaa6ed74638312e0bf529e326f0e3ac692d445f74ca02d7", - "size": 11361 + "sha256": "00ecd1116e3f7226ee25cfc6db9225ae6add57755aa4fb0af358b12d8f6e527c", + "size": 11503 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/unpause", "status": "success", "path": "en/api/java/beta/deployments/unpause.md", - "sha256": "deb49acee05fa8acbf7fb6435df43a0b86752aae38da5b77268a26c56581093b", - "size": 21324 + "sha256": "eb1a46c14fb5202f25515da1e25e5ce38ac3b26fb9920b12b41f2181d75c4a21", + "size": 21466 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/create", "status": "success", "path": "en/api/java/beta/deployments/create.md", - "sha256": "7be7a715037b06b4f7dbcbe91223835811daeaee24508e99fef0b4e5ac6b748b", - "size": 31492 + "sha256": "04dc3205d7936313f6a96d5c497172b68196398ba9f61cf475220d2466b63c9c", + "size": 31634 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/archive", "status": "success", "path": "en/api/java/beta/deployments/archive.md", - "sha256": "9e934711e751e8612001839a9651f993b4b79d37333aead870e826e45df0811c", - "size": 21324 + "sha256": "76e962c866650e1affc10655bf5d68ef501b14069613cc56a7999bc6d4c4ccbe", + "size": 21466 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/list", "status": "success", "path": "en/api/java/beta/vaults/list.md", - "sha256": "0d73cd4192aa8deab161e4d1812dbdbba69b9827eebf5b2079a9a08287870753", - "size": 6346 + "sha256": "80753096fb4540b0cfb2dc5ceb4a3f550bd8f9cb4ddf804744eea34b6d8cb330", + "size": 6488 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/retrieve", "status": "success", "path": "en/api/java/beta/vaults/retrieve.md", - "sha256": "e17d5c1a178fb305303e7d7d8d7a3a70e212e2879c370fcdba076a4c0067789a", - "size": 5924 + "sha256": "44f481c1bf3555a54f8b12f60ad5351749a8c0927ca9ccaa51af1c854a5695fd", + "size": 6066 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/update", "status": "success", "path": "en/api/java/beta/vaults/update.md", - "sha256": "2d75736fbf7c6b75968acc7669f4320a412876e5d18e70444f9cfda36456d641", - "size": 6186 + "sha256": "48cba1375943e225c0bf848d99f6997dcd29010b425d62cc70a076e16f013909", + "size": 6328 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials", "status": "success", "path": "en/api/java/beta/vaults/credentials.md", - "sha256": "fedb2f6561ad0a31b780696e2a968a90b4388095b1010990a2df379d46a58eae", - "size": 108191 + "sha256": "34e80f446e4a0059427d688dd8cf3d7ab3de06429635c834ce9ee52c6c835c38", + "size": 109185 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/delete", "status": "success", "path": "en/api/java/beta/vaults/delete.md", - "sha256": "32d07b9ff2f0aae630cbb64b84259a8c2b4d996b2fcbaebe235f008160ca6183", - "size": 5292 + "sha256": "f979f39efbe913ae14a47e65a8d64f1eb4483fda4a7b2a6e3c541b530cdfcc6d", + "size": 5434 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/create", "status": "success", "path": "en/api/java/beta/vaults/create.md", - "sha256": "f9185571ea40e86386f271f4b499a0e3a82769aa09f4a87573676f6d43df6361", - "size": 6148 + "sha256": "e41d989a03400eb5575e96b81b1fa91a18bbdbaa88ebee9825c092e589611476", + "size": 6290 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/archive", "status": "success", "path": "en/api/java/beta/vaults/archive.md", - "sha256": "0dd6b16b2dddadaacb95e874826869e0273109962c8b09fb6e5956a0793a20ee", - "size": 5923 + "sha256": "41353f043f80ff93c37599fcb593fdd2d9de7892728eec7b0d66b4706688ebc6", + "size": 6065 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/list", "status": "success", "path": "en/api/java/beta/environments/list.md", - "sha256": "3a58564811c16507195f191149812e01aaae3ac19b810bdf5f4dead2ebbffcea", - "size": 9157 + "sha256": "1845aa8681181306e661d2cc6858ec9715fa4c7fef0891eaa7ea848af6c1138c", + "size": 9299 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/retrieve", "status": "success", "path": "en/api/java/beta/environments/retrieve.md", - "sha256": "534064e718ea46312ecfdade95151841528e446c7e5fecbce117a2d0823374f7", - "size": 8633 + "sha256": "1ad43c981981244bce113fe969443ed9c57afe0ef996a6c8acb665ea57d54067", + "size": 8775 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/update", "status": "success", "path": "en/api/java/beta/environments/update.md", - "sha256": "39c514664030f9e2e5908211cc5178c11c66ce4a965bd2f361b5d2da918d0e6b", - "size": 11720 + "sha256": "ed41b789cc57feb391dd80308a6a357c4d65852c395f42af7666d177f62113bd", + "size": 11862 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/delete", "status": "success", "path": "en/api/java/beta/environments/delete.md", - "sha256": "3ddfd522d4d2121e1ed37252e3b28f8d3cc20dfae607160ff5b74a975158bf28", - "size": 5368 + "sha256": "1133d54dea6f33c5bf3e66e2d1836764bd3a45a7b7ee826bbc968a01e0a622b5", + "size": 5510 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work", "status": "success", "path": "en/api/java/beta/environments/work.md", - "sha256": "ac042667ea3e52b119028716687fe9290e31ceab2289b8914f800f29bd67e310", - "size": 63658 + "sha256": "043c8549e23dd306cb7bb7dd1f6d26b53b1de207b054ca9c682b338731ad5648", + "size": 64794 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/create", "status": "success", "path": "en/api/java/beta/environments/create.md", - "sha256": "4bf82bfde6fb1106a0c8559ac36b87ed0d9c8ed31287d10986452bce7d572f28", - "size": 11714 + "sha256": "b10d20e27afde3f0cba3e312ee02e4b36a39dc358f8009b7007e8c2be3612b1f", + "size": 11856 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/archive", "status": "success", "path": "en/api/java/beta/environments/archive.md", - "sha256": "0925431951fca53f37b1746db439acadad529fe9892fda3d99662162739e1429", - "size": 8696 + "sha256": "741360540f67f64dbe457d10886543ed6e949b2c330bfe667f3b4b1e6dcadadb", + "size": 8838 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/list", "status": "success", "path": "en/api/java/beta/skills/list.md", - "sha256": "eaeb6f68edb36128474e54588a2a4047e112b7fa32471d77024e06876ca62fac", - "size": 7421 + "sha256": "a43bb0b6f8cce275e10b45fcd836397eba85c336c9b19bf78bcd5775ab97af3b", + "size": 7563 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/retrieve", "status": "success", "path": "en/api/java/beta/skills/retrieve.md", - "sha256": "eb1584559209f5667bd322fce58d4bc2b0c38ccada2ace1d1c28f1c0efc8564d", - "size": 6864 + "sha256": "2a0ecf84a2742a08ed6fe0400ae9db58832d06920a13ad88daf9b2f49bc1d421", + "size": 7006 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/delete", "status": "success", "path": "en/api/java/beta/skills/delete.md", - "sha256": "b591f41a67a8105b84a31f421dd58d75c1bc9261c15d360dac3a233277f1c985", - "size": 5309 + "sha256": "9446f7d5b84bcb4a2b159930186dca0245fddfe9ce3c809478ff0ac62e82b315", + "size": 5451 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/create", "status": "success", "path": "en/api/java/beta/skills/create.md", - "sha256": "0b89880c71c047231c00ff70acfeac649203ffce01a063dcddf38a9d22b97f61", - "size": 7276 + "sha256": "b1fabac3400025a863d20f90bcb16b90a872a1fbbd60a6d854765c6eea42f9e5", + "size": 7418 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions", "status": "success", "path": "en/api/java/beta/skills/versions.md", - "sha256": "cbb503c78d5067f00a023cead17b17d42b0c378bbe2b6bcb62009a946d8f20ac", - "size": 31934 + "sha256": "64bbb78f64e2f3a995eb3cf2986ecf1997187d5b778d60a9c9fae6ba6e1b5ded", + "size": 32644 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates", "status": "success", "path": "en/api/java/beta/tunnels/certificates.md", - "sha256": "39244828715ccda0c10bad3bb7893703fae142a487133dda87512e3cd2650114", - "size": 28324 + "sha256": "cfcad0a5a5bbf1877dd323a5bc40ebf117033d3370b33a08308b7c5aa5d436a5", + "size": 28892 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/list", "status": "success", "path": "en/api/java/beta/tunnels/list.md", - "sha256": "1282461f17a22daf6ec7fb1d1fb3745e003080b42c7288e061a2f7dba6c1b4e4", - "size": 6636 + "sha256": "b15e49009895930c71cc692e3cfada5856c1119c084483d78cb7cb093170c765", + "size": 6778 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/retrieve", "status": "success", "path": "en/api/java/beta/tunnels/retrieve.md", - "sha256": "d31fed31a9eb69bf24187b553a4e9853f5a2e6f12af7e7126a4995f9c5a28db4", - "size": 6174 + "sha256": "91b495573f9ad12a3cd2c3240b1d6feaa7a3e66683b59066f8ae4ee383ccb9e8", + "size": 6316 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/rotate_token", "status": "success", "path": "en/api/java/beta/tunnels/rotate_token.md", - "sha256": "46d79efaf00ad448d213633159936080406ee16b8ae3afed83eeaf912a992ebe", - "size": 5984 + "sha256": "d0cee15efbf57f716f7289fa1faf344c6442bb662dc6d32b6804c8cccc45d4a4", + "size": 6126 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/create", "status": "success", "path": "en/api/java/beta/tunnels/create.md", - "sha256": "326592802b8248e0a41acbf5f143b412aa8721127cdb1ebf81830e644d9914e8", - "size": 6358 + "sha256": "ba67747c54493b08918ee5a20003f63b938bff8882ca9f0a50b11df741375e3f", + "size": 6500 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/archive", "status": "success", "path": "en/api/java/beta/tunnels/archive.md", - "sha256": "007a2f6c2fd99a0cf252cfa52552b549c0a5e59799f7688387931a77c8e8f5e0", - "size": 6454 + "sha256": "2764ed97b377075d574fdfbdcfafa433dfc17266f71ed3ae08159ab7d6fe460f", + "size": 6596 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/reveal_token", "status": "success", "path": "en/api/java/beta/tunnels/reveal_token.md", - "sha256": "9893ffc9712cc0b26d3de71c77f4e6b34915d20b108f0c414a2b1a1696c78cd9", - "size": 5883 + "sha256": "35257c705021bfd81a162f13747fd63c70cf094eba9eba789ff7589fd2d9c30e", + "size": 6025 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/files/upload", "status": "success", "path": "en/api/java/beta/files/upload.md", - "sha256": "87f4320f5de69a9eaa0516af616f5f3eebda4c16a8d557daf5f56ad3aef4929b", - "size": 7050 + "sha256": "beef8e0f8a4e58e27ca3bca7a0591ddcbb20194337fad0f26bf258062b985375", + "size": 7192 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/files/list", "status": "success", "path": "en/api/java/beta/files/list.md", - "sha256": "3066ccbbf7c60b8d9fe0a53027c6da671844894f680bad7255c7a1ee3b10db76", - "size": 7293 + "sha256": "c25e868fda75ca7ebbec37c75cfaccea8009ac260fb9abbad17222bee2df8759", + "size": 7435 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/files/retrieve_metadata", "status": "success", "path": "en/api/java/beta/files/retrieve_metadata.md", - "sha256": "c7d54d887de96f0efb226bf766b3133a460dd419d55752fa6608b0eaca0e4b02", - "size": 6560 + "sha256": "3c5d71e177b6b4c5e8d168b643af237b9d8154b8b11c8f081311247b8f69c390", + "size": 6702 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/files/delete", "status": "success", "path": "en/api/java/beta/files/delete.md", - "sha256": "78eaf9c3fef73b3091f66a9b40b7450c70130fbf724f89404d31ac1fd891bef5", - "size": 5140 + "sha256": "f78b95bf9e57608fa015610ff9e7f47d4a8ef78a6a502f6ed8b7662acb497107", + "size": 5282 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/files/download", "status": "success", "path": "en/api/java/beta/files/download.md", - "sha256": "db3a960ab4f9781e72aa8b4418bc1918baa9e58c8b2da74ac3ccd537cdb79b1d", - "size": 4841 + "sha256": "6103dc96f643a0b06760a059ae433977d510700d94ee5c397c173f396e3dd8bf", + "size": 4983 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/list", "status": "success", "path": "en/api/java/beta/tunnels/certificates/list.md", - "sha256": "2edd2f241c9c8afddec5453053d7697dc7c4b94a0c0353977f283f3715e75a85", - "size": 7044 + "sha256": "446143334e5f320d7b401a86be156720714fb8f98be07f9b31a95bc3e95da630", + "size": 7186 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/retrieve", "status": "success", "path": "en/api/java/beta/tunnels/certificates/retrieve.md", - "sha256": "1e23c43e0acc113f5ecc73296ec66a5006b3fb4536ffc2698029838f26d064f9", - "size": 6748 + "sha256": "455cb4c925b956bfc4b73d3ed8d98d7f5c241f0db4d09cb6d3612d1c58411f08", + "size": 6890 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/create", "status": "success", "path": "en/api/java/beta/tunnels/certificates/create.md", - "sha256": "ba738ef194b7a9d3a5a9e7eb2b0f72f2889d78e9e7a71ea53aec54d364a9f86b", - "size": 6990 + "sha256": "0e07f78131a6efc31f2e2b46851fcb2bc0c5ec6f8103016104bb0bdf6f67e7f9", + "size": 7132 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/archive", "status": "success", "path": "en/api/java/beta/tunnels/certificates/archive.md", - "sha256": "ccf7addb8ce1c3db1f42f058168110adbab380a16426be9a2b08c565a5c33007", - "size": 6981 + "sha256": "0fa3b99dda004e45b0d395db237654b3e4e16008ef884d3c0cab5788a4f639a4", + "size": 7123 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/list", "status": "success", "path": "en/api/java/beta/skills/versions/list.md", - "sha256": "06371b3307a1352fc52ddab7317fd4f4987ba1b2bacd1700223c72944762ae62", - "size": 6555 + "sha256": "df105b5d4cf7af3c89ff431084b868ba65543ce2ae0a57439055007231b35b93", + "size": 6697 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/retrieve", "status": "success", "path": "en/api/java/beta/skills/versions/retrieve.md", - "sha256": "0b66f111380d700387f42b6073ec84a8b8583a2b420804304fd6d39a70b83df9", - "size": 6642 + "sha256": "bd42c5d08d2d2ed033058f2c1f80d3a6512feb595dec7dec23544bff25b6cd0d", + "size": 6784 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/delete", "status": "success", "path": "en/api/java/beta/skills/versions/delete.md", - "sha256": "2eafae1e6af7e49be36b18ea814243cc332814ec8ccf8062cb8a45ff8f14d546", - "size": 5821 + "sha256": "027f9e7c865e1815189dfe375859c5ba9fc97bef3640bd5d0e3289fe004c4c2c", + "size": 5963 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/download", "status": "success", "path": "en/api/java/beta/skills/versions/download.md", - "sha256": "2e8dc7e42563935b55b304636bb7e1024b0ea8df1b06bb11f2e92f8ca6c87ccf", - "size": 5420 + "sha256": "b03e7ef50227a34f9b838e7c2d314ab0cc2f16672a4fd0f6f87a47c4fe502460", + "size": 5562 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/create", "status": "success", "path": "en/api/java/beta/skills/versions/create.md", - "sha256": "3ae7e2b45d4670bbd2770b9e9289a93972965fed9e716c0c0a433ceaf51180a2", - "size": 6602 + "sha256": "a6fcc2af551810cfbfe067c5cf881aea12047765c6ad8090b48dffcda367c28c", + "size": 6744 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/heartbeat", "status": "success", "path": "en/api/java/beta/environments/work/heartbeat.md", - "sha256": "bc93b30ab2d334800d7dee2da43b42b7d9ef88592ef6087f82714f153ad13e26", - "size": 6418 + "sha256": "84a5c1b999f3ad1b25a8fdd53ab767aa49dbda89523ee2e98f34bb44f2a3faae", + "size": 6560 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/list", "status": "success", "path": "en/api/java/beta/environments/work/list.md", - "sha256": "4f06aff958a18d39a918df56224ba36b0239bf7d51de1ae2a69c23fd229783a4", - "size": 7400 + "sha256": "03adc11a141bebd1406d8cd105bd1222fb26a50ed23c6ecdd000787b19294510", + "size": 7542 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/retrieve", "status": "success", "path": "en/api/java/beta/environments/work/retrieve.md", - "sha256": "6058b98ad6adf6f62de66410aa5f8ceae1204fc61996f600f86085788f967b30", - "size": 7667 + "sha256": "e4ca7e7d0e4827bac75b2497b2814aff3c74073c9bb23c4826973b25985f03c2", + "size": 7809 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/update", "status": "success", "path": "en/api/java/beta/environments/work/update.md", - "sha256": "bf828077c7ca5d7d55d4b9b8587717c0020f0ce0315f0d5ba3dc74eb400a5e8a", - "size": 8115 + "sha256": "d0ecf10383e4228c9a2e5afebe5947bbd7cc2445f81594f764b1e9810aff668a", + "size": 8257 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/ack", "status": "success", "path": "en/api/java/beta/environments/work/ack.md", - "sha256": "9bd54471cff29dca557037b08ab34526b8f1859533f553ed6ee219b460482d60", - "size": 7326 + "sha256": "27579a03ee06a76713d56f6ad79029a4087c60f19dc0c40b17ba2030fe2caf8d", + "size": 7468 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/poll", "status": "success", "path": "en/api/java/beta/environments/work/poll.md", - "sha256": "7023e91469cea61db7e3d7808e7307a40ee986cff41dbdf379676deb9b26e8d3", - "size": 7719 + "sha256": "9d3a2e43c05509acb1d8db86e03a17f1ff559c64dd1e999ccc61b6c3c1b511c4", + "size": 7861 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/stats", "status": "success", "path": "en/api/java/beta/environments/work/stats.md", - "sha256": "e6fc7307d5728c9251de4cddf280cfbe042546c2499a148e58beddb9163f4830", - "size": 5947 + "sha256": "4e2b30ce3a39fdd3dc514eaab7fdc9541dd3ef64c09d38824e06d1b178a8f5e5", + "size": 6089 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/stop", "status": "success", "path": "en/api/java/beta/environments/work/stop.md", - "sha256": "b7775f8685551ed6dcd86291c979ad5b2dc1dba0145ee3202d753d54ea1fd157", - "size": 7912 + "sha256": "6fff07de384f570ecab89955b429edacfa1c411cb93416952bfabd30de347cf6", + "size": 8054 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/list", "status": "success", "path": "en/api/java/beta/vaults/credentials/list.md", - "sha256": "49176693bad204d52523e93e4436915d7104fa76a2e62c4ee9bc3b99e39366ba", - "size": 10322 + "sha256": "6d8c7b9af1bf0c2d0f003a57e15d045028ee2aa68db2c7bd55977e3065686888", + "size": 10464 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/java/beta/vaults/credentials/retrieve.md", - "sha256": "40f6dae030f12dc897d65aa80e239a1fce0a2b1b162557e68c755cef57f248b8", - "size": 9988 + "sha256": "d7e52f76b0f8a5baf8d609b56189130a1d28be1099a75309e2e2dbe1ea7cafc5", + "size": 10130 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/update", "status": "success", "path": "en/api/java/beta/vaults/credentials/update.md", - "sha256": "9f6d42363d8b999465ec6b29160c349f8ed9c9e745e894f32fd621c2a8c4035a", - "size": 14742 + "sha256": "7e05a556a451f20b66e46ca0c1a9d0c8ba4546114dc702dbf97163f5269c4787", + "size": 14884 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/delete", "status": "success", "path": "en/api/java/beta/vaults/credentials/delete.md", - "sha256": "32df5f3034c0caac45a97609922da8fac03d8f1c0d3d026b07a4a1a920b0a310", - "size": 5729 + "sha256": "bcf0523a256345ea9d00340832601ea12a2b7244b1d243524383a7620f6e918e", + "size": 5871 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/create", "status": "success", "path": "en/api/java/beta/vaults/credentials/create.md", - "sha256": "0a758b67d883380c792d7bf427836abd63bc363435647118f33367ec9595ffa0", - "size": 15277 + "sha256": "18a909a3a828ef38d90c81dee5a7a19a0290bc2271fabd06411a63c476307b25", + "size": 15419 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/mcp_oauth_validate", "status": "success", "path": "en/api/java/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "d83c359062f240761762942eeb7746d4818bbc6694e897981bb38317702c43f2", - "size": 9102 + "sha256": "116553cd35d23be1fb7a53f28645444b9f0dbc965ee11c9366d0796b85bd9063", + "size": 9244 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/archive", "status": "success", "path": "en/api/java/beta/vaults/credentials/archive.md", - "sha256": "887235aad899eab9bfa38944ce438c0f385e23db96b499b2f4724060e87034a5", - "size": 9986 + "sha256": "5c72574c7bf1315d88d842b5a519754d16aa964c7246d0a7c3c21e62f786d456", + "size": 10128 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/list", "status": "success", "path": "en/api/java/beta/sessions/resources/list.md", - "sha256": "6315a5ca4e9f171cd6dc0ec64eaee6e647d7c968be1c32d0bf9206d5e7896964", - "size": 8418 + "sha256": "04c6d4567e318ff1dc3cdfa0ad9b0e19d79665e7742eaf2f6c8d974b4e17d96b", + "size": 8560 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/add", "status": "success", "path": "en/api/java/beta/sessions/resources/add.md", - "sha256": "16d84c504750f0501e8603a434f2f35306b62349051ba6136690e627c3244b7a", - "size": 6049 + "sha256": "35a0523de9369f65606597241e0c20c7911b0542a13fd5dda3df7f4be2ec5519", + "size": 6191 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/retrieve", "status": "success", "path": "en/api/java/beta/sessions/resources/retrieve.md", - "sha256": "e5e838959059e277d2d03bfbcd7c4d74349e1e5fe7606593740b2e014ee02058", - "size": 8041 + "sha256": "4c69c52ac8e5fb5169d16794cb8225b095ce285780f1930c00fddb7210baf0df", + "size": 8183 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/update", "status": "success", "path": "en/api/java/beta/sessions/resources/update.md", - "sha256": "4cc8f29b57881570765d194cd081b3ec49e5654acd8e374c917a85cfd9202035", - "size": 8263 + "sha256": "0d1fb9c5f72134a8b8f05af664e78688238ea4cc39034e902220025d2a715e4a", + "size": 8405 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/delete", "status": "success", "path": "en/api/java/beta/sessions/resources/delete.md", - "sha256": "5ea3240c1c92b763cf26da738236d35bac076ecf5ec5c63de4058543b3dc7592", - "size": 5588 + "sha256": "7b25a4bf3c42cef6e5a052712eec41e3152d4c2a2080629b29341f530cca4fad", + "size": 5730 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/list", "status": "success", "path": "en/api/java/beta/sessions/events/list.md", - "sha256": "643508fc6788e056c0836e9c67c8f82b5d76ee4b7d4a09f2beb9d8213468f2e1", - "size": 101303 + "sha256": "90e291d10c18839438cf5435dc629c05a10bf5dd284653293f0d3d697a7eb90a", + "size": 101445 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/stream", "status": "success", "path": "en/api/java/beta/sessions/events/stream.md", - "sha256": "55247bc0fb777648c32ba432fa587fbae40a8559fbb452e273dea580fd01c9ef", - "size": 101043 + "sha256": "356521630825caf5bd42c847a8211562ab48c244136b4f2e56ee694ec150b41a", + "size": 101185 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/send", "status": "success", "path": "en/api/java/beta/sessions/events/send.md", - "sha256": "08efe713c9a67c5854f2fed83564eae06b114c9fb76f158b2103fc307a0b9b73", - "size": 27497 + "sha256": "b0804b36e92992f7d0805357e7c81facb2b506f85b2f20a328790cd1a8889d0a", + "size": 27639 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/list", "status": "success", "path": "en/api/java/beta/sessions/threads/list.md", - "sha256": "fac819be44f2795f509f5e8e6eb19ff2d92be8cb5eb6f0de52a6a0d9b31e4b81", - "size": 35728 + "sha256": "9de359e0252a9f12afd0ecd375ecfcabbc5e3a988c89c827d8b9ff5ee75fbcbe", + "size": 35870 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/retrieve", "status": "success", "path": "en/api/java/beta/sessions/threads/retrieve.md", - "sha256": "5ec6c3a69aa03fa83e187c5da3fe6313dbba55ef16bb31e35529f66ea93b6431", - "size": 34979 + "sha256": "291ac4f8dca45483f03f0076462f768b4661c2634f773e5fcf445aa05b303616", + "size": 35121 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events", "status": "success", "path": "en/api/java/beta/sessions/threads/events.md", - "sha256": "4877c5940b1ae1f5ca18b5327a59deaa60301ac6854c735b2a2f32079271777a", - "size": 199169 + "sha256": "bc3fcb758a0cf49ed67fe4247d8f03839994839b25e90c3b40721759af4de0d0", + "size": 199453 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/archive", "status": "success", "path": "en/api/java/beta/sessions/threads/archive.md", - "sha256": "0b4581046ba8756b159307a71461fe0bb9017dd8d4568b2ef3682664aea35fa0", - "size": 34993 + "sha256": "f18567e7c767ce02b357cbc181c7532105707f7fd90cf018e9a5a2e19768dd07", + "size": 35135 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events/list", "status": "success", "path": "en/api/java/beta/sessions/threads/events/list.md", - "sha256": "844712dad2ca8f337fd4507f1bb93e3005969568111fd2c26ebfa9fe1d2f1d5d", - "size": 97946 + "sha256": "172cf25baa19630f05136b32576ea6dec77905e0af190490caa33128fb9bb729", + "size": 98088 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events/stream", "status": "success", "path": "en/api/java/beta/sessions/threads/events/stream.md", - "sha256": "01d65db646ecd0224a08ae20052f040917624a7e4d60cc637278ebab3aebbfd4", - "size": 101358 + "sha256": "0ed5e227d0cddfa8f2ba92e99ce5cb560f6ad9f951674c31ee723584e126f11e", + "size": 101500 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/list", "status": "success", "path": "en/api/java/beta/memory_stores/memory_versions/list.md", - "sha256": "853bc52973ef69684c880845ce23fc78546433170d8a911875e0060cfb627766", - "size": 13316 + "sha256": "329958c1ee1f72086ad67a7190cda36c0481801639f969e8aa49d3f9ea7dfafe", + "size": 13458 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/retrieve", "status": "success", "path": "en/api/java/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "c68b4a74b33040fb845aa712387638e6b2a61a5d2ab1429ac6baca4e10acfd2f", - "size": 11927 + "sha256": "6d3c81c0150f86815e47f1f64aef78692881d91aaf00a214a2aa39b35bf31726", + "size": 12069 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/redact", "status": "success", "path": "en/api/java/beta/memory_stores/memory_versions/redact.md", - "sha256": "db8660cb15d814a5088864f09f13d3aead6f0bbe01bc104dfc4849f27192e7d0", - "size": 11596 + "sha256": "8e0b59b432f43c68dc904bc58b0302cd7235ff15629a6205c1e6b932be4a1413", + "size": 11738 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/list", "status": "success", "path": "en/api/java/beta/memory_stores/memories/list.md", - "sha256": "f81fc9b35cb52712a95777b7989e504947405b439fcb2c25a5ec399f451897cd", - "size": 10311 + "sha256": "cfb4c2ff687e705a2c172af8bca449044f5428afb538214ac9f27a6706ac1281", + "size": 10453 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/retrieve", "status": "success", "path": "en/api/java/beta/memory_stores/memories/retrieve.md", - "sha256": "b6032ecf4c547a82f91b9f05870c36199f7657011e86a7dba9db11394de7222d", - "size": 8436 + "sha256": "2e8dc59ebb99e8a038251809053be29ccac957195bd149c4d72e38f37b37a947", + "size": 8578 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/update", "status": "success", "path": "en/api/java/beta/memory_stores/memories/update.md", - "sha256": "7d49b8dc5c118ca88c53bdd992f4861f157cf943d7006dfae654e996d9427296", - "size": 9323 + "sha256": "20492102d32f02b0df4ba15d6482c750cd124b7abb36125c6fad579f9d1877ad", + "size": 9465 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/delete", "status": "success", "path": "en/api/java/beta/memory_stores/memories/delete.md", - "sha256": "7b72dd640053fc1e3592763570de244d2ba00673ec31dc16f7a675c9949129a1", - "size": 6587 + "sha256": "96786e481d9f514a39d469aaf61b61b7c716b9adc84170a200d39a3b3d34cbcd", + "size": 6729 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/create", "status": "success", "path": "en/api/java/beta/memory_stores/memories/create.md", - "sha256": "4a48445d95ca93007896c465ce5ba4325489d0f209d8f737662cf7e1e362ec8f", - "size": 8943 + "sha256": "c4daefac365d661d8be3849193b89075e1c27ab843936bd158ccd14f00da4bff", + "size": 9085 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/agents/versions/list", "status": "success", "path": "en/api/java/beta/agents/versions/list.md", - "sha256": "90e01d50819b8f9a784b9898554c25a1259403dc4c36b158a54d5a076f70a055", - "size": 32336 + "sha256": "b1518f90c3754cfb66adc6acaaa1468ea087862c5aa6f1c45a037f4ff2139156", + "size": 32478 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/cancel", "status": "success", "path": "en/api/java/beta/messages/batches/cancel.md", - "sha256": "f0a1d817c67d51baf178331d8e6c2f9f3738106b93eafb2184389075530b1c6f", - "size": 9160 + "sha256": "b719bf7be21048e0d41e175b34bdc57597680b253c89e96a78f3c6fd3558a1e2", + "size": 9302 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/list", "status": "success", "path": "en/api/java/beta/messages/batches/list.md", - "sha256": "d06f3c41bfd183b0344dea7a42f8e6fd0ab13f6b008d1e5ed11c18d5ff06b9e5", - "size": 9288 + "sha256": "286bcdd5960e18485fdf3b53370c2bb0059e082aeae78f02c86cd4babed0fbe8", + "size": 9430 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/retrieve", "status": "success", "path": "en/api/java/beta/messages/batches/retrieve.md", - "sha256": "94b7ce1e2b880553a3ca3452f7c10176d80b13af18a9faee3a55f797430ba887", - "size": 8858 + "sha256": "bcc70b6b57e8a14461d81ee965e7edf8a53268b0e255e8695fef29600d5157a3", + "size": 9000 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/results", "status": "success", "path": "en/api/java/beta/messages/batches/results.md", - "sha256": "3412c05c9391acade67e4de9fc17fcc32ec6bb81cc9f58e9a493b738cfff457c", - "size": 155422 + "sha256": "e420e2299a9b72d5605e8bab57b938cf9b00e86edcf69fc12068834216e3ec11", + "size": 155564 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/delete", "status": "success", "path": "en/api/java/beta/messages/batches/delete.md", - "sha256": "e2f4a47825f067f731335b0f515b95106b7bdd5de4ccabac2fcc3ad91b0ef5fe", - "size": 5664 + "sha256": "75f4e2955364a7cd418b6f62e06a833c079272f20224d9b90e56233664dbf80b", + "size": 5806 }, { "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/create", "status": "success", "path": "en/api/java/beta/messages/batches/create.md", - "sha256": "60f6ebf184100cfb8a78973d84a57c7883d404067b28172acb5d7f2ec99b17f2", - "size": 179570 + "sha256": "943c1f6562116fbc961b04067243f24d5708af68a00065df40b63fe071dc3928", + "size": 180485 }, { "url": "https://platform.claude.com/docs/en/api/php/beta/deployment_runs", @@ -22248,8 +22283,8 @@ "url": "https://platform.claude.com/docs/en/api/php/beta/models", "status": "success", "path": "en/api/php/beta/models.md", - "sha256": "5d324e60a3f02da0adddb0ea5b19a7b220efe328543016efdbe34baa63ced970", - "size": 19754 + "sha256": "f61368b142149aeb59c10c6cfab00ade10e66ef4375ab31abded87bcce525c91", + "size": 19752 }, { "url": "https://platform.claude.com/docs/en/api/php/beta/sessions", @@ -22269,8 +22304,8 @@ "url": "https://platform.claude.com/docs/en/api/php/beta/messages", "status": "success", "path": "en/api/php/beta/messages.md", - "sha256": "5aa370d9ad7189fe82959c9fee85124304e6c6d0f8c2d5ed3ebcf1bcde5f48e0", - "size": 389870 + "sha256": "f0fafef51c7d6b59f04704faf411e0f95390de52f1e107f92d7668394905d1d4", + "size": 390867 }, { "url": "https://platform.claude.com/docs/en/api/php/messages/batches", @@ -22297,22 +22332,22 @@ "url": "https://platform.claude.com/docs/en/api/php/models/list", "status": "success", "path": "en/api/php/models/list.md", - "sha256": "e9b8e85ed245481f1eb05e62798baab56c0da27e3c4eccee889ec1122b635cf2", - "size": 6200 + "sha256": "886a82da79f8b78a0d8c982e71d1a39171fdc2d421f4ed05d0c339114f269bce", + "size": 6199 }, { "url": "https://platform.claude.com/docs/en/api/php/models/retrieve", "status": "success", "path": "en/api/php/models/retrieve.md", - "sha256": "a215d1801778c7ffd049453ae14b74f878257b6f4833af41ae1c23b5a27857a3", - "size": 4878 + "sha256": "cd9425c36e75995d789006069f826bf4034acafd9b94be642fef133ef5f76c9c", + "size": 4877 }, { "url": "https://platform.claude.com/docs/en/api/php/completions/create", "status": "success", "path": "en/api/php/completions/create.md", - "sha256": "f90a0ba8baab592a6b4efe18351bb9bac7b66267ad57ea0789156a14c162de12", - "size": 13307 + "sha256": "b2dbeeb6f4e212026c5ff162e11881ec1f5373fcaeae00a88b9f4a91cf14cae3", + "size": 13384 }, { "url": "https://platform.claude.com/docs/en/api/php/messages/batches/cancel", @@ -22360,8 +22395,8 @@ "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches", "status": "success", "path": "en/api/php/beta/messages/batches.md", - "sha256": "7c9d5d0c95eef7515e9cde056f9e00b20cfe19967b8dee2ce69c03ef30db2409", - "size": 29860 + "sha256": "d96752784083542996238da41547f015998afb6e84f532a46266263b32c3d83b", + "size": 29902 }, { "url": "https://platform.claude.com/docs/en/api/php/beta/messages/count_tokens", @@ -22374,8 +22409,8 @@ "url": "https://platform.claude.com/docs/en/api/php/beta/messages/create", "status": "success", "path": "en/api/php/beta/messages/create.md", - "sha256": "e58baa1773e61d2865f61f33ed85420403ef73bf6a240e1480f2e4fde203693b", - "size": 29222 + "sha256": "f2e7de723e52c3817c7ebb3d7deba0af2be0f879e67e8217ef1f2ba9f5b727ea", + "size": 29634 }, { "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/list", @@ -22514,15 +22549,15 @@ "url": "https://platform.claude.com/docs/en/api/php/beta/models/list", "status": "success", "path": "en/api/php/beta/models/list.md", - "sha256": "98cae1eab274bb72c7050f3dcc5f0df6538722489451c3790b6f1e6ff358bf39", - "size": 6880 + "sha256": "588c21309f0a31b31911bb6d584c4ce8f4880ba538d832be5978b43ea9b89931", + "size": 6879 }, { "url": "https://platform.claude.com/docs/en/api/php/beta/models/retrieve", "status": "success", "path": "en/api/php/beta/models/retrieve.md", - "sha256": "d41041b58f942e7c578090eada831af33ad16736c3de6238d96f48d791cfd880", - "size": 5533 + "sha256": "ed3d6b4b342c13e7e6e84ed89ba5632743aa6c15082fb6812709158eb944ae41", + "size": 5532 }, { "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/list", @@ -23242,8 +23277,8 @@ "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/create", "status": "success", "path": "en/api/php/beta/messages/batches/create.md", - "sha256": "160bccb3fd53284125d53cfd332e76e6feb355f4807fd983a1fec4ec7faf2d2c", - "size": 8340 + "sha256": "260482d971d4c5e2ef1eaa507599964407f283325420e4e1787c90b2bb693952", + "size": 8382 }, { "url": "https://raw.githubusercontent.com/anthropics/claude-cookbooks/main/.claude/agents/code-reviewer.md", @@ -29812,7 +29847,12 @@ "size": 170 } ], - "failures": [], + "failures": [ + { + "url": "https://support.claude.com/en/articles/17444146-claude-haiku-4-5-is-leaving-the-model-selector", + "error": "moved to https://support.claude.com/en/articles/17444146-claude-haiku-4-5-was-removed-from-the-model-selector.md" + } + ], "dead": [ { "url": "https://code.claude.com/docs/en/claude-tag", @@ -30450,10 +30490,6 @@ "url": "https://platform.claude.com/docs/en/api/beta/webhooks/unwrap", "reason": "HTTP 404" }, - { - "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_report" - }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/retrieve_summaries", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/summaries/list" @@ -30462,10 +30498,6 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/chat_projects", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/apps/chat/projects" }, - { - "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_report" - }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits/list_effective", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/effective/list" @@ -30486,18 +30518,10 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list_by_user", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/user_usage_report/list" }, - { - "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_report/list" - }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list_by_user", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/user_cost_report/list" }, - { - "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_report/list" - }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/analytics/chat_projects/list", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/apps/chat/projects/list" @@ -31016,11 +31040,11 @@ } ], "summary": { - "total": 4558, - "downloaded": 4258, + "total": 4560, + "downloaded": 4263, "skipped": 0, "failed": 0, - "dead": 300, + "dead": 297, "success_rate": 100.0 } } \ No newline at end of file diff --git a/content/CHANGELOG.md b/content/CHANGELOG.md index 6430caec78..d4e57ac0e7 100644 --- a/content/CHANGELOG.md +++ b/content/CHANGELOG.md @@ -1,5 +1,127 @@ # Changelog +## 2.1.314 + +- Added `permissions.blockWritesOutsideWorkingDirectories`: Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode +- Added an optional `groups` list to Claude apps gateway upstreams: only developers in the listed IdP groups are sent to that upstream, on failover too +- Added `guardrail_trace` to Claude apps gateway Bedrock upstreams, to log which Amazon Bedrock guardrail filter fired on a request, without the matched text +- Added idle compaction to VS Code and Claude Desktop's Code tab: a 200K+ token conversation left idle is summarized, and the summary is used on your next message if the prompt cache has expired +- Fixed sessions failing turn after turn with "Invalid effort level" when an organization's admin caps a model's effort: Claude Code now lowers the effort, retries, and says which level it uses +- Fixed `claude -p` exiting with code 0 and no output when startup failed; it now prints the error and exits 1 +- Fixed Bedrock sessions with many images failing every turn and `/compact` with "400 Input is too long." instead of removing older images and compacting +- Fixed Microsoft Foundry sessions failing when the resource has no deployment for the default Sonnet, Opus or Haiku model: Claude Code now falls back to an older model of that family +- Fixed repeated refused requests behind a gateway that doesn't accept tool search's `tool_reference` blocks: the request is sent again once without tool search, and the session remembers +- Fixed TLS connections failing with `UNABLE_TO_GET_ISSUER_CERT` when the system certificate store holds a renewed root certificate that is cross-signed with its predecessor +- Fixed MCP servers that also work without sign-in showing "needs authentication" after their stored sign-in stopped working; they are now used signed out +- Fixed `claude mcp logout` reporting success when the MCP sign-in was not removed, for example while the macOS keychain is locked over SSH +- Fixed extra sign-in renewals when several sessions share an Anthropic profile login and the credentials lock is busy +- Fixed `claude ultrareview` and `claude remote-control` asking the workspace trust question in a CI job that has a terminal; with `CI` set they now refuse an untrusted folder at once +- Fixed an administrator's TLS trust settings in managed settings not being applied in Claude Desktop sessions +- Fixed model switching being refused on machines with managed plugin settings when one of your own `--plugin-dir` or `--plugin-url` plugins had a broken manifest or failed to download +- Fixed the Bedrock and Vertex model upgrade offer coming back at every start when managed settings pin the model +- Fixed `forceRemoteSettingsRefresh` set only in remote managed settings no longer applying once the stored copy had expired, which let sessions start without policy when the server could not be reached +- Fixed "Continue automatically at usage limit" continuing more than three times without a prompt from you when a task restarted itself between waits (a /goal check-in, a background or scheduled task) +- Fixed background and cloud sessions started with Ultracode turning it back on at their next start after it had been switched off +- Fixed the last broken reply and its retry prompts staying in the conversation after Claude gave up on a tool call that could not be parsed +- Fixed a PreCompact hook with very large output making compaction fail or repeat; each hook's output is now cut at 10,000 characters +- Fixed background diff refreshes briefly taking the repository's index lock, which could make a git command run at the same moment fail with "Unable to create '.git/index.lock': File exists" +- Fixed markdown tables jumping between grid and stacked layouts on half-typed rows while streaming, and long tables falling back to raw pipes +- Fixed the /resume picker showing the text of CLAUDE.md or CLAUDE.local.md as a session's title when the session only ran slash commands +- Fixed `/btw` answering from the main conversation when asked from a subagent's open transcript +- Fixed pasting an image over SSH to a Linux machine doing nothing silently; the prompt now says to copy the file over and paste its path +- Fixed `claude remote-control` sessions that failed to start when the session service was slow for a moment: the worker's registration is now retried with growing waits +- Fixed model switches over Remote Control that take over 8 seconds getting a "still pending" error instead of the final result +- Fixed the `sandbox.excludedCommands` setting description saying listed commands always run outside the sandbox; it now says every command in a call must match an entry +- Fixed shell and MCP calls that auto mode, a deny rule or a PreToolUse hook blocked, or that otherwise did not run, reading as if they ran in a collapsed tool group +- Fixed sandbox protections not applying to a worktree entered by `claude -p --resume` or `--continue` +- Fixed hooks matching Bash not running on shell commands started by the Monitor tool; such hooks can block or ask, but not approve or rewrite those commands +- Fixed a settings file excluded with `--setting-sources` still supplying some settings, such as auto mode rules and saved permission consents +- Fixed auto mode reporting a call as blocked, and listing it in `/permissions`, when its safety check gave no verdict +- Fixed a Claude apps gateway Vertex upstream hanging for minutes when a Google token endpoint accepts the connection and never answers +- Fixed the Claude apps gateway's start-up warning for a deprecated Claude Desktop key that it still serves as written saying "stops being accepted" after the key's end date +- Fixed `/upgrade` opening the browser and starting a new login for plans billed through the App Store or Google Play; it now says where to change the plan +- Fixed `--resume`, and rewinding past a switch to another model after a refusal, moving a session on a model name Claude Code doesn't recognize to a different model +- Fixed requests failing when a gateway or cloud provider refuses one of Claude Code's beta headers by name: the request is sent again without it +- Fixed model IDs spelled with a dot behind an LLM gateway, such as `claude-opus-4.8`, being treated as an older model with the wrong context window, output limit, effort, thinking mode and cost +- Fixed Remote Control clients showing a stray "Compacted (ctrl+o to see full summary)" row after /compact +- Fixed the cloud sessions tip and the Remote Control idle notice showing when an organization's policy turns those features off +- Fixed a resumed claude.ai cloud session making a model call nobody asked for when the previous worker stopped just after receiving a new chat's files +- Fixed WebFetch in Cowork cloud sessions silently dropping a PDF's text past 100,000 characters; it now says how much was unread and where to read on +- Fixed Claude being told only that a command was declined after you stopped it with Esc or Stop in a cloud session or the IDE; it now also hears that the command may have run +- Fixed blank lines at the top of a code block disappearing when the code block opens a quote +- Fixed a blank line appearing above some `⎿` rows in the transcript view (Ctrl+O) +- Fixed vim mode `dw`, `dW`, `yw` and `yW` carrying on past the end of the line, and made `w` and `W` stop on empty lines +- Fixed x and Enter in the agent panel sometimes acting on the wrong agent when another agent started or finished +- Fixed pasted text and dragged-in files being lost in Claude's question dialog unless the "Other" row had focus +- Fixed pasted text being lost when a row in the prompt footer was selected +- Fixed vim mode `p` over a character selection ignoring whether the yanked text was whole lines +- Fixed vim mode `aw` and `iw` taking the line break at the end of a line +- Fixed ↓ selecting footer items hidden by the ? help menu, the command list or a paste hint +- Fixed Esc on a command's panel, such as `/btw`, also interrupting the subagent whose transcript is open +- Fixed the welcome header in fullscreen mode showing the session's model while viewing a subagent or teammate that runs on a different model +- Fixed the fullscreen transcript being left mid-conversation after "Restore conversation" in the rewind menu while scrolled up +- Fixed a rare case where a deleted session could reappear in the resume list as an almost empty entry +- Fixed prompts containing tags such as `` or `` not being acknowledged to a local stream-json host +- Fixed sessions staying untitled when the first prompt failed (for example on a usage limit) and the conversation continued afterward +- Fixed the skill file watcher checking every removed skill kept in `~/.claude/skills/.trash`, which added file system load that grew with each removal +- Fixed the session name from /rename disappearing while Claude asks for permission or a plan decision, so side-by-side sessions stay identifiable +- Fixed background sessions that fail to start being reported as a deleted daemon binary when the binary is still on disk +- Fixed the tip and idle reminder about push notifications appearing when the push settings in `/config` are hidden or your organization has turned off Remote Control +- Fixed `~/.claude/skills/.trash` and `~/.claude/plugins/.trash` growing without limit: each now holds about 1024 entries, whatever `cleanupPeriodDays` says +- Fixed the Bash edit diff listing a whole file as changed when a CRLF file under git's line-ending conversion was re-saved unchanged or had one line edited +- Self-hosted runner: Fixed an idle session moving to another runner instead of pausing when the runner's request to pause it lost its connection before Anthropic answered +- Improved memory use in long headless and SDK turns that run many subagents: the parent session no longer keeps each subagent's tool results until the turn ends +- Improved prompt history: Ctrl+R now matches text inside collapsed `[Pasted text]` pills +- Improved the `/design-sync` upload prompt to show the folder, the project and the files it will upload or delete +- Improved `/permissions` review tab, now called Recently blocked: the footer says what Esc will do with marked rows +- Improved auto mode's blocked calls: messages name the command, say Claude may retry and auto mode checks again, and point to `/permissions` to review +- Improved permission prompts: a long reason takes fewer rows, so it pushes the command being approved off the screen on fewer terminals +- Improved the cloud session error shown while a request refused for your claude.ai login is still being retried: it now also suggests `claude auth login` +- Improved the behavior of stored claude.ai, Team, and Enterprise logins when MDM and remote settings differ on base URL or `apiKeyHelper` +- Improved `/config` in agent view to say how to stop agent view opening by default +- Improved session auto-titles: a session that starts with a skill or a prompt-based command such as `/security-review` now gets a title from it instead of staying untitled +- Improved `--resume` speed and memory use on damaged transcripts +- Improved `/context` speed in sessions with ten thousand or more MCP tools +- Self-hosted runner: Improved the error shown when a session's branch isn't on the git remote: it now covers a never-pushed branch, says how to fix each case, and no longer suggests retrying +- Updated the `/claude-api` skill: its Datadog setup for API tracing now sends the `dd-llmobs-enabled: true` header, as the Console does, and its `ant` install instructions drop the outdated macOS `xattr` step +- Updated the bundled dataviz skill to advise printing y-axis tick labels in full under 10,000, and horizontal ones in full under a million where they fit +- Updated the bundled dataviz skill to answer donut and pie chart requests with ranked bars or a segmented bar that prints its values +- Changed Claude's file tools to ask before editing the local copy of your organization's server-managed settings, as they do for your settings files +- Changed `/ultrareview` to check workspace trust before it runs git, as `claude ultrareview` does +- Changed the Bash tool's shell to clear any inherited `which` alias or function and to stop passing exported `which`/`unsetenv` functions to commands, so `which` is the system command or zsh builtin +- Changed `/permissions` Recently blocked to refuse approving a call you can't read in full, including one the terminal is too short to show +- Changed auto mode in Cowork cloud sessions: a hook's allow of an MCP tool call now counts as no answer, so the classifier or a permission prompt decides +- Changed hook `if` conditions such as `Monitor(tail *)` to match the Monitor tool's shell commands as `Bash(tail *)` matches Bash's +- Changed the `claude-api` skill to ask to read a Managed Agents workflow run's workflow before changing the agent to improve that run +- Changed flagged requests to retry on another model, not end in a refusal, when `ANTHROPIC_DEFAULT_OPUS_MODEL`, `availableModels` or `deniedModels` leaves only an older Opus model, or none +- Changed idle compaction to also run for subscribers with telemetry turned off, and on Bedrock, Vertex, Foundry and LLM gateways once the one-hour prompt cache is on +- Changed `FORCE_HYPERLINK=false` (also `no` and `off`) to turn hyperlinks off instead of on +- macOS: Changed `git grep` in most commands that Claude runs to use the C locale, to avoid a reported memory leak in macOS's regex library on files that aren't valid UTF-8 +- [VSCode] Fixed "Clear authentication" for MCP servers reporting success when the saved sign-in could not be removed +- [VSCode] Fixed missing spinner and Stop button while a queued message's hooks run +- [VSCode] Fixed session group changes that cannot be saved, such as a delete, failing silently; an error notification now appears +- [VSCode] Fixed Cmd+F / Ctrl+F not opening the find widget in the plan preview tab +- [VSCode] Fixed the voice dictation shortcut (Ctrl+D) doing nothing under non-Latin keyboard layouts such as Russian, Greek or Hebrew +- [VSCode] Fixed missed one-time saved scheduled tasks being deleted without asking when the extension opened without a chat +- [VSCode] Changed `CLAUDE_CODE_DISABLE_CFC_PROMPT` to also stop the extension adding the Claude in Chrome instructions to a session's messages; the browser tools stay available +- [Cloud sessions] Added an Include completed button to the Scheduled tasks page when finished one-off tasks are the only ones hidden, so you can show them without opening the Sort menu +- [Cloud sessions] Fixed recently used self-hosted environments never appearing among the recent environments on the new session card +- [Cloud sessions] Fixed cloud sessions reporting uncommitted changes every turn after Claude moved a branch to a commit it had pushed from another worktree +- [Cloud sessions] Fixed the self-hosted environment details dialog in admin settings squeezing its content out of view in very short windows or at high zoom; the dialog now scrolls +- [Cloud sessions] Fixed the permission mode picker staying on Auto after a running cloud or Remote Control session refused the switch; it now shows the mode in use and tells you +- [Cloud sessions] Improved scheduled tasks: runs in Anthropic's cloud now load the plugins enabled on your claude.ai account +- [Cloud sessions] Improved Test connection for GitHub Enterprise in admin settings to also connect the way cloud sessions do, and to warn you when that second test fails +- [Cloud sessions] Improved cloud session transcripts: a rename row now names the new title, and repository and environment lists show as a table instead of one line of JSON +- [Cloud sessions] Changed cloud sessions from the web, desktop and mobile apps to start even when a setup script exits with an error, instead of failing to start +- [Remote Control] Fixed the permission mode button in Remote Control sessions showing the wrong mode until you typed; while your computer is online it now shows the real mode on open +- [Claude Tag] Added a dismissible link to the Claude Tag API docs on the Bundles and Channels tabs in admin settings, for Enterprise organizations with Slack connected +- [Claude Tag] Fixed `@Claude !restart` giving up after one failed workspace check in channels shared across Enterprise Grid workspaces; it now retries, then asks you to run it again +- [Claude Tag] Fixed a second confirmation DM and channel note when you connect your Claude account from Slack twice from the same link within a few minutes +- [Claude Tag] Fixed follow-up messages in Slack showing no sign of progress while Claude's session waits for a self-hosted runner; Claude now posts a wait notice in the thread +- [Claude Tag] Fixed Claude sometimes not answering a tag in its own thread in Slack Connect channels where both organizations have installed Claude +- [Claude Tag] Fixed Retry on plugin and skill pages in Claude Tag admin settings discarding unsaved access changes after a failed load; your edits now stay in place +- [Claude Tag] Fixed the repositories control in Claude Tag admin settings showing the same action twice; its menu now lists only what the button doesn't already do + ## 2.1.312 - Added `oidc.user_id_claim` to the Claude apps gateway, to identify people by an id_token claim other than `sub`, such as Microsoft Entra ID's `oid` diff --git a/content/claude-code-manifest.json b/content/claude-code-manifest.json index 2ab070e316..fbc59e9624 100644 --- a/content/claude-code-manifest.json +++ b/content/claude-code-manifest.json @@ -6,25 +6,25 @@ "url": "https://github.com/anthropics/claude-code/issues" }, "dist": { - "shasum": "de62c221b1c50d0a946a0005123b37bf047ba3d4", - "tarball": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.312.tgz", + "shasum": "4ad35929e17b8e3948e9fb22c660359f09985c3c", + "tarball": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.314.tgz", "fileCount": 7, - "integrity": "sha512-/gx8byG8VOm4YoNuT5tal/Ov5Z5oydJzZkmHCJcBFLbNGGpyYDbKA/CNdB+iIKwcLQC8pVwBoj6Dt7H3L2J5bw==", + "integrity": "sha512-iD58PXZvNCykRm3ZRiV/zJOsejXH/FtLZFtsFqUHxFxBsthOyb+0MINeJ8EsNbSG8ECTsfhzPIZwl8x6NIRkSg==", "signatures": [ { - "sig": "MEUCIFqtXNWvGV9EW3mdAR6gJ24FgxwrruR8WhMsWF52oxsvAiEAm3C9G7GUIw9+4mUZIL2Ibbk5im6KTP6lHuNXnUKyn1o=", + "sig": "MEUCIC4BoXKy6H0rMCTM+M0j0408O2xKs7H+7EfvHkRs3MkHAiEAgcKNFNhzncBJRl9fQ/dsNVzqk8l+n18KIuadYFtJaYM=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" }, { - "sig": "MEQCIFzWxMNObg/Tpxe0Kqb0LhaVmAVGXmqlMYa4eL233Ms2AiA6IUvBeTpriqJDUscYqqyFAS4N5oL//SZTGIAvKQMJ6A==", + "sig": "MEYCIQDqGdWhj2ulrZKCAEJbRPQ8uKN0yqBDaMZbMMaqj3JOMAIhAOM6+iBx7FwOc/4BkIYJndrYRUiVnV7qmdE0vX9+w23M", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], - "unpackedSize": 190085 + "unpackedSize": 190269 }, "name": "@anthropic-ai/claude-code", "type": "module", - "_from": "file:staged-npm/anthropic-ai-claude-code-2.1.312.tgz", + "_from": "file:staged-npm/anthropic-ai-claude-code-2.1.314.tgz", "author": { "name": "Anthropic", "email": "support@anthropic.com" @@ -46,9 +46,9 @@ } }, "homepage": "https://github.com/anthropics/claude-code", - "_resolved": "/home/runner/work/claude-cli-internal/claude-cli-internal/staged-npm/anthropic-ai-claude-code-2.1.312.tgz", - "_integrity": "sha512-/gx8byG8VOm4YoNuT5tal/Ov5Z5oydJzZkmHCJcBFLbNGGpyYDbKA/CNdB+iIKwcLQC8pVwBoj6Dt7H3L2J5bw==", - "_npmVersion": "11.19.0", + "_resolved": "/home/runner/work/claude-cli-internal/claude-cli-internal/staged-npm/anthropic-ai-claude-code-2.1.314.tgz", + "_integrity": "sha512-iD58PXZvNCykRm3ZRiV/zJOsejXH/FtLZFtsFqUHxFxBsthOyb+0MINeJ8EsNbSG8ECTsfhzPIZwl8x6NIRkSg==", + "_npmVersion": "11.19.1", "description": "Use Claude, Anthropic's AI assistant, right from your terminal. Claude can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.", "directories": {}, "maintainers": [ @@ -113,24 +113,24 @@ "email": "joan@anthropic.com" } ], - "_nodeVersion": "24.21.0", + "_nodeVersion": "24.22.1", "dependencies": {}, "_hasShrinkwrap": false, "readmeFilename": "README.md", "optionalDependencies": { - "@anthropic-ai/claude-code-linux-x64": "2.1.312", - "@anthropic-ai/claude-code-win32-x64": "2.1.312", - "@anthropic-ai/claude-code-darwin-x64": "2.1.312", - "@anthropic-ai/claude-code-linux-arm64": "2.1.312", - "@anthropic-ai/claude-code-win32-arm64": "2.1.312", - "@anthropic-ai/claude-code-darwin-arm64": "2.1.312", - "@anthropic-ai/claude-code-linux-x64-musl": "2.1.312", - "@anthropic-ai/claude-code-linux-arm64-musl": "2.1.312" + "@anthropic-ai/claude-code-linux-x64": "2.1.314", + "@anthropic-ai/claude-code-win32-x64": "2.1.314", + "@anthropic-ai/claude-code-darwin-x64": "2.1.314", + "@anthropic-ai/claude-code-linux-arm64": "2.1.314", + "@anthropic-ai/claude-code-win32-arm64": "2.1.314", + "@anthropic-ai/claude-code-darwin-arm64": "2.1.314", + "@anthropic-ai/claude-code-linux-x64-musl": "2.1.314", + "@anthropic-ai/claude-code-linux-arm64-musl": "2.1.314" }, "_npmOperationalInternal": { - "tmp": "tmp/claude-code_2.1.312_1793126170045_0.6020059861887522", + "tmp": "tmp/claude-code_2.1.314_1793319176825_0.9178469149283283", "host": "s3://npm-registry-packages-npm-production" }, - "_id": "@anthropic-ai/claude-code@2.1.312", - "version": "2.1.312" + "_id": "@anthropic-ai/claude-code@2.1.314", + "version": "2.1.314" } \ No newline at end of file diff --git a/content/claude/claude-science/overview.md b/content/claude/claude-science/overview.md index 115184a031..62598bae00 100644 --- a/content/claude/claude-science/overview.md +++ b/content/claude/claude-science/overview.md @@ -44,7 +44,7 @@ Your Claude Science usage counts toward the same usage limits as the rest of you You pay more than your plan's price only in these cases: -* **Usage credits and extra usage.** On Pro and Max plans, you can turn on usage credits under **Settings > Usage** in Claude Science to keep working past your limits, and set a monthly spend limit there. Team plans call the same option extra usage, and your admin turns it on. In Claude Science it appears as **Usage credits**, but only Pro and Max plans can change it there. On Team and Enterprise plans, your admin sets spend limits. Some models need usage credits on some plans, and [Claude pricing](https://claude.com/pricing) lists which models each plan includes. +* **Usage credits and extra usage.** On Pro and Max plans, you can turn on usage credits in your claude.ai settings to keep working past your limits. You can then turn off usage credits or change your monthly spend limit under **Settings > Usage** in Claude Science. Team plans call the same option extra usage, and your admin turns it on. In Claude Science it appears as **Usage credits**, but only Pro and Max plans can change it there. On Team and Enterprise plans, your admin sets spend limits. Some models need usage credits on some plans, and [Claude pricing](https://claude.com/pricing) lists which models each plan includes. * **Usage-based Enterprise plans.** Instead of fixed usage limits, your organization pays for usage on top of the seat price, within the spend limits your admin sets. * **Services you connect with your own account.** Services such as [Modal](https://claude.com/docs/claude-science/compute-providers.md) bill you directly. Anthropic doesn't bill for them. diff --git a/content/claude/claude-tag/concepts/glossary.md b/content/claude/claude-tag/concepts/glossary.md index a569f485ff..0b0bbe007d 100644 --- a/content/claude/claude-tag/concepts/glossary.md +++ b/content/claude/claude-tag/concepts/glossary.md @@ -69,7 +69,7 @@ A package of skills that teaches Claude how to use a specific tool or follow a s A scheduled or run-once task Claude runs on its own, such as a daily digest or a channel watch. Anyone in a channel can ask Claude to set one up, list what's scheduled, or disable one. Routines run with the channel's access, not the creator's. -Claude Code also has a feature named routines. Those run under an individual user's account; Claude Tag routines run under the agent identity. +Claude Code has a separate feature, [cloud scheduled tasks](https://code.claude.com/docs/en/routines), formerly named routines. Cloud scheduled tasks run under an individual user's account; Claude Tag routines run under the agent identity. ## Rule diff --git a/content/claude/claude-tag/users/commands.md b/content/claude/claude-tag/users/commands.md index 0aca2d2d13..f759099922 100644 --- a/content/claude/claude-tag/users/commands.md +++ b/content/claude/claude-tag/users/commands.md @@ -12,7 +12,7 @@ A command is `@Claude` followed immediately by one of a few exact words starting with `!`. Claude matches the message against that word and runs a fixed action instead of starting a normal turn. -`!help`, `!configure`, `!restart`, `!status`, `!mute`, and `!unmute` must stand alone: adding extra words, as in `!restart` with words tacked on, makes the message an ordinary prompt instead. `!fast` runs alone or with `on` or `off`. `!feedback`, `!routines`, and `!fork` accept text after the command, covered below. +`!help`, `!configure`, `!restart`, `!status`, `!mute`, and `!unmute` must stand alone: adding extra words, as in `!restart` with words tacked on, makes the message an ordinary prompt instead. `!fast` runs alone or with `on` or `off`. `!feedback` and `!fork` accept text after the command, and `!scheduled` accepts a channel mention or ID. ## See the commands available to you @@ -160,15 +160,17 @@ Opens a form in Slack for sending feedback on Claude Tag to the team that builds ## List the routines in a channel ```text wrap theme={null} -@Claude !routines +@Claude !scheduled ``` Claude replies in the thread with the [routines](https://claude.com/docs/claude-tag/users/proactivity.md) set up in the channel: the scheduled jobs, watched channels, and other standing work it runs there. The list covers only that channel's routines. -* **For the current channel**, run `!routines` in that channel. -* **For another channel**, add the channel mention or its ID, as in `@Claude !routines #other-channel`. You need to be a member of that channel, and it must belong to your organization. Claude sends the list in a reply only you can see, so that channel's routines aren't posted for everyone in the channel where you asked. +* **For the current channel**, run `!scheduled` in that channel. +* **For another channel**, add the channel mention or its ID, as in `@Claude !scheduled #other-channel`. You need to be a member of that channel, and it must belong to your organization. Claude sends the list in a reply only you can see, so that channel's routines aren't posted for everyone in the channel where you asked. -If the single word after `!routines` isn't a channel mention or ID, Claude replies with how to use the command. Adding two or more words makes the message an ordinary prompt that starts a normal turn instead. +If the single word after `!scheduled` isn't a channel mention or ID, Claude replies with how to use the command. Adding two or more words makes the message an ordinary prompt that starts a normal turn instead. + +`!routines`, the command's earlier name, works the same way. ## Fork a thread @@ -194,6 +196,6 @@ If the fork can't be set up, Claude replies with a note only you can see, and no ## Related resources -* [Set up routines](https://claude.com/docs/claude-tag/users/proactivity.md): the standing work `!routines` lists, and how to create, edit, or disable it +* [Set up routines](https://claude.com/docs/claude-tag/users/proactivity.md): the standing work `!scheduled` lists, and how to create, edit, or disable it * [Control when Claude Tag responds](https://claude.com/docs/claude-tag/users/when-claude-responds.md): what makes Claude reply without any command or mention at all * [Restrict where Claude Tag operates](https://claude.com/docs/claude-tag/admins/restrict-access.md): the admin controls that decide who can message Claude at all, including its commands diff --git a/content/claude/claude-tag/users/proactivity.md b/content/claude/claude-tag/users/proactivity.md index fb17112de5..44291e5d2b 100644 --- a/content/claude/claude-tag/users/proactivity.md +++ b/content/claude/claude-tag/users/proactivity.md @@ -108,7 +108,7 @@ For a routine you set up at the channel's top level, Claude usually announces ea Anyone in the channel can manage its standing work: -* **List.** Ask "what routines do you have set up in this channel?", or send [`@Claude !routines`](https://claude.com/docs/claude-tag/users/commands#list-the-routines-in-a-channel). When you ask in plain language from inside a thread, Claude lists that thread's own routines first and may leave out the rest of the channel's; ask for "every routine in this channel" to get them all, or use `!routines`, which lists the channel's routines wherever you send it. Add a channel mention or its ID, as in `@Claude !routines #other-channel`, to list another channel's routines; pick the channel from Slack's autocomplete so it lands as a real mention, since a typed name on its own isn't accepted. +* **List.** Ask "what routines do you have set up in this channel?", or send [`@Claude !scheduled`](https://claude.com/docs/claude-tag/users/commands#list-the-routines-in-a-channel). When you ask in plain language from inside a thread, Claude lists that thread's own routines first and may leave out the rest of the channel's; ask for "every routine in this channel" to get them all, or use `!scheduled`, which lists the channel's routines wherever you send it. Add a channel mention or its ID, as in `@Claude !scheduled #other-channel`, to list another channel's routines; pick the channel from Slack's autocomplete so it lands as a real mention, since a typed name on its own isn't accepted. * **Reschedule, pause, or stop a routine.** Name the routine and the change, as in "disable the Friday rollup" or "move the standup summary to 10am Pacific" * **Change what a routine does.** Ask Claude to stop the routine, then set up a replacement from the channel where the results should post. @@ -120,7 +120,7 @@ A few boundaries apply: * Claude can post a job's output into another public channel in the same workspace only if the job's own channel is public and Claude has been added to the target channel. It labels the message with the channel it came from. * A routine you set up in a [group DM](https://claude.com/docs/claude-tag/users/group-dms.md) posts its output in that group DM only. * Claude doesn't post a channel job's output into a different channel that's private or externally shared, or into a DM or group DM, and doesn't message people directly. Claude does send a completion or failure notice to whoever set up the routine, when that person's Slack account is connected to their Claude account. -* Schedules run in UTC. Name the timezone when you set a schedule, as in "every weekday at 9am Pacific". With no timezone in your message, Claude uses the one on your Slack profile. To confirm the time Claude set, send [`@Claude !routines`](https://claude.com/docs/claude-tag/users/commands#list-the-routines-in-a-channel), which lists schedules in UTC. +* Schedules run in UTC. Name the timezone when you set a schedule, as in "every weekday at 9am Pacific". With no timezone in your message, Claude uses the one on your Slack profile. To confirm the time Claude set, send [`@Claude !scheduled`](https://claude.com/docs/claude-tag/users/commands#list-the-routines-in-a-channel), which lists schedules in UTC. * A routine runs at a fixed UTC time, so each daylight saving change shifts its local time by an hour, in the same direction the clocks move. A routine running at 9am Pacific moves to 10am after the clocks go forward, or to 8am after they go back. Ask Claude to reschedule the routine to the local time you want. * A scheduled job that touches a github.com repository uses the same GitHub connection your admin set up for interactive work. See [Configure GitHub access](https://claude.com/docs/claude-tag/admins/configure-github.md#scheduled-work-uses-the-same-connection). diff --git a/content/claude/claude-tag/users/prompt-library.md b/content/claude/claude-tag/users/prompt-library.md index 7acd726866..af9f696b4d 100644 --- a/content/claude/claude-tag/users/prompt-library.md +++ b/content/claude/claude-tag/users/prompt-library.md @@ -112,7 +112,7 @@ Create, audit, and stop the scheduled jobs Claude runs in this channel. For past @Claude what routines do you have set up in this channel? ``` -**Why it works**: schedules are channel state, and someone else may have set them up. Check what exists before you create a duplicate digest. When you ask in plain language from inside a thread, Claude lists that thread's routines first and may leave out the rest of the channel's, so send `@Claude !routines` there instead. +**Why it works**: schedules are channel state, and someone else may have set them up. Check what exists before you create a duplicate digest. When you ask in plain language from inside a thread, Claude lists that thread's routines first and may leave out the rest of the channel's, so send `@Claude !scheduled` there instead. ```text wrap theme={null} @Claude disable the daily digest job. diff --git a/content/claude/connectors/microsoft/365.md b/content/claude/connectors/microsoft/365.md index 6c06d3961f..9256003758 100644 --- a/content/claude/connectors/microsoft/365.md +++ b/content/claude/connectors/microsoft/365.md @@ -147,7 +147,7 @@ Check the address bar of the page Microsoft sends you to. The approval succeeded Selecting **Grant admin consent for \{your organization}** on the connector's **Permissions** page in the Entra admin center approves the same list as the admin consent link. -The admin consent link is for the connector used from claude.ai. If the Application ID on the enterprise application's **Overview** page differs from the one in the link (for example in a government deployment), use that ID instead. The Claude Desktop local connector and a self-hosted server use their own app registrations. +The admin consent link is for the connector used from claude.ai. If the Application ID on the enterprise application's **Overview** page differs from the one in the link (for example in a government deployment), use that ID instead. The Claude Desktop local connector uses its own app registration. ## Troubleshooting diff --git a/content/claude/cowork/changelog.md b/content/claude/cowork/changelog.md index bcdb062f78..45d0977914 100644 --- a/content/claude/cowork/changelog.md +++ b/content/claude/cowork/changelog.md @@ -6,6 +6,58 @@ > Release notes for Claude Desktop +**v4.4212.0** + +2026-10-29 + +Bundled Claude Code version: 2.1.309. + +**General** + +* Added a per-site "Local network access" setting to the built-in browser's menu, with a question the first time a site tries, for sign-in pages that check a desktop agent such as Okta Verify and for sites that talk to devices on your network. +* Added Cowork's notes to the import from Claude (third-party): where device management turned it on and no HIPAA restriction applies, Settings > Import shows the notes Cowork kept there and can add them to your Claude memory, where memory import is available. +* Added Send to options for partner apps, such as Canva, in the Share menu when a Claude Doc is open on its own page. +* Changed `disableBrowserExternalNavigation` and `browserExternalPageTools` in a device's Claude Code managed settings (`managed-settings.json`, or its MDM or HKLM policy) to apply even when the claude.ai admin console also has managed settings. +* Removed opening the application menu by pressing Alt on its own on GNOME, so that switching keyboard layouts with Alt+Shift no longer opens it. F10 still opens the menu. +* Fixed a reply with two or more cards, such as weather or message drafts, showing only one of them, or showing a card with the wrong pictures or places. +* Fixed background computer use treating a window that had been closed as still open on another desktop, which made Claude click into nothing or ask for full-screen control. +* Fixed the message box sometimes opening without its saved draft, and not keeping what you typed as a draft, when two windows loaded at the same time, for example right after signing in. +* Fixed the side panel opening on its own over the conversation in a narrow window when a reply created an artifact or shared a file, which hid the reply and the message box, including from screen readers. + +**Code** + +* Changed `remoteControlAtStartup: false` in a device's Claude Code managed settings (`managed-settings.json`, or its MDM or HKLM policy) to apply even when the claude.ai admin console also has managed settings. +* Changed SSH connections through a proxy command or jump host on Mac and Linux, where your SSH config sets no ConnectTimeout, to get a longer second try so a slow route has time to come up; the sign-in dialog for a jump host (ProxyJump) no longer closes after 30 seconds. +* Fixed a message to a new or just-cleared SSH session being refused while the host was unreachable: it now waits and is sent when the host is back, and messages waiting for an unreachable host no longer send by themselves before your organization's settings have loaded. +* Fixed Rewind on the first message shown in a very large session clearing the whole conversation. +* Fixed sessions on an SSH machine losing their connection when an `sshHostCommands` command makes a new one; "Replace …'s host" is now "Create another …", available a minute after the last machine is made. +* Fixed SSH set-up failing at once when Anthropic's download server is busy, and sessions showing only "Reconnecting" when Claude Code couldn't be set up on the host: the app now tries again, names the cause, and offers Retry now. +* Fixed the first message after an SSH session starts or reconnects sometimes silently running without your MCP servers. + +**Cowork** + +* Fixed a generic error banner sometimes appearing beside the Paused card after safeguards flagged a message. +* Fixed a stopped tool call showing a message written for Claude as a failure. +* Fixed Cmd+Shift+S and Cmd+Shift+B answering on their QWERTY keys under Dvorak and other remapped keyboard layouts. +* Fixed dismissed notices under a reply, such as crisis support or election information, coming back after leaving a chat and returning to it. +* Fixed furigana (readings above Japanese text) in replies showing as raw HTML tags, and Find counting the hidden tag text and missing words under two readings. +* Fixed Return in a background Mac app's text field adding a line break to the field instead of submitting it. + +**3P** + +* Added `projectsEnabled`. Set it to `false` to hide projects in Chat and Cowork. Projects are not deleted, and they come back when the setting is turned on again. +* Added `sessionStatusLine` to show one line of text above the message box in Cowork, Chat and Code, printed by a program that the app runs. On macOS and Linux the program and every folder above it must be writable only by root, and on Windows it must be in Program Files on the system drive. +* Added `skillScanningEnabled` (beta): run a security scan on each skill a user creates or uploads before it can be used. Skills that fail the security scan are blocked. +* Added a per-site "Local network access" setting to the built-in browser (`builtinBrowserEnabled`). When an https site first tries to reach an app on this computer or a device on your network, the user is asked whether to allow it. `builtinBrowserBlockedDomains` can block devices, not local apps. +* Added Escape to close a side pane of a chat or Cowork task, such as a file or connector pane, when focus is in the pane, and return focus to what opened it. While Claude is replying, Escape in a pane closes the pane, and a second Escape stops the reply. +* (breaking) Changed an unset `desktopHome` to read as `standard` at launches after 12:00 PM PT on November 10, 2026: Unified Claude opens with Cowork on, even where `coworkTabEnabled` is `false`. +* Changed `sshClientPath` (beta) on Windows to accept a path starting with `%LOCALAPPDATA%\` when machine-wide policy (HKLM) sets it, with `sshTransport: system-openssh`, and Claude does not run as administrator. Whoever replaces a program there can see SSH passwords and get around `sshHostAllowlist`. +* Changed Code sessions to ask for approval before starting a dev server from `launch.json` in Auto and Bypass permissions modes, where Claude Code's sandbox (the default on macOS, Linux and WSL) or deny or ask rules in managed settings limit shell commands. +* Changed Cowork to show "Billing issue", with no Try again button, in place of "Something went wrong" when your inference provider or gateway refuses a request with HTTP 402. +* Changed provider API keys saved in Setup to be encrypted where the computer has secure storage. Keys saved earlier are encrypted at the next launch. Versions below 4.29 cannot read them, so after a rollback below 4.29, or a move of the app's data to another computer or account, enter the key again. +* Fixed Settings > Usage and the token limit set with `inferenceMaxTokensPerWindow` leaving out requests that the app makes itself, such as naming a session. These now count toward the limit, and once it is reached the app stops making them, except its connection check. +* Fixed the connection banner's Details and "Copy report for IT" not mentioning managed settings that were not fully applied. Each one is now listed as a warning, and when the connection works, apps configured from a local file also show the "Configuration may need attention" banner. + **v4.29.0** 2026-10-27 @@ -50,7 +102,7 @@ Bundled Claude Code version: 2.1.309. * Changed `managedMcpServers` entries with `server: "github"` so that `pull_request_review_write` asks before every call, comment-only reviews and thread resolves included, even when `toolPolicy` allows it. Where no prompt can be shown, the call is refused. `toolPolicy` can still block it. * Changed a failed `PreToolUse` or `PermissionRequest` hook with `"shell": "powershell"` to block the call on PCs without Git for Windows unless it sets `args` or `"onFailure": "continue"`. If written for Bash: remove `shell`, add `"onFailure": "block"` to keep blocking, install Git, reopen Claude. * Changed an unset `desktopHome` to open Unified Claude at launches after 12:00 PM PT on November 10, 2026. With Cowork on, a set `chatSessionRetentionDays` without an equal `coworkSessionRetentionDays` keeps the current view. -* Changed an unset `desktopHome` with Cowork on to also turn on Chat and Advanced file analysis when it starts to open Unified Claude (November 10, 2026), even if `chatTabEnabled` or `chatAdvancedFileAnalysisEnabled` is `false`. +* Changed `chatTabEnabled` and `chatAdvancedFileAnalysisEnabled` to have no effect where an unset `desktopHome` with Cowork on starts to open Unified Claude (November 10, 2026). * Changed Chat, Cowork and Code sessions to no longer start while Claude’s provider connection settings are missing, invalid or not yet fetched from your organization’s server. Claude says so at once. * Changed the Microsoft 365 connector to keep each saved sign-in per `tenantId`, `clientId`, `azureCloud` and `continuousAccessEvaluation`. Connected users sign in again once after this update. Where `microsoftAuthDefaultAccount` is `enabled` on Windows, they get the account picker from then on. * Improved the “Configuration sync issue” banner for a fetched configuration with no connection settings that Claude can use. It now says to contact your administrator and adds “Copy report for IT”. diff --git a/content/claude/government/changelog.md b/content/claude/government/changelog.md index af17547493..1896672892 100644 --- a/content/claude/government/changelog.md +++ b/content/claude/government/changelog.md @@ -10,7 +10,7 @@ * Fixed the tenant portal's Identity and access page so that it says its SCIM details couldn't load instead of looking as if SCIM had never been set up. * (breaking) Changed **Claude Desktop home** where a setting enforced at a higher level conflicts with the choice: members on Claude Desktop 1.52386.0 or later may lose Chat, Advanced file analysis or Cowork after a required relaunch. -* Changed Claude Desktop for members who have **Cowork in Claude Desktop** off and no **Claude Desktop home** chosen: from November 9, 2026 (UTC), they may be asked to relaunch and then see the new home screen, still without Cowork. +* Changed Claude Desktop for members who have **Chat in Claude Desktop** on, **Cowork in Claude Desktop** off, and no **Claude Desktop home** chosen: by November 9, 2026 (UTC), they may be asked to relaunch and then see the new home screen, still without Cowork. * Changed the Code tab in Claude Desktop to ask the member before each command Claude runs in its Terminal panel, even in bypass-permissions or Auto mode, while **Blocked shell commands** lists any command. * Improved directory sync (SCIM) so that one tenant's very large sync no longer holds up directory changes in other tenants. * Added a **Chat only** choice to the **Claude Desktop home** setting on the Config pages, which gives members Chat without Advanced file analysis or Cowork; with this choice the new home screen shows on Claude Desktop 2.2553.0 or later. diff --git a/content/claude/government/config/settings.md b/content/claude/government/config/settings.md index 46229764e0..8687a45346 100644 --- a/content/claude/government/config/settings.md +++ b/content/claude/government/config/settings.md @@ -14,12 +14,10 @@ Where **Applies to** gives a version, earlier versions ignore the setting. The * ## Product availability -These switches control which Claude products and features are available to members. - | Setting | What it does | Default | Applies to | | - | - | - | - | | **Claude Desktop** | Makes Claude Desktop available. | On | Claude Desktop | -| **Claude Desktop home** | Chooses what members see in Claude Desktop: **Standard**, **Simple**, **Chat only**, or **Off**. **Separate settings** leaves it to the Chat, file analysis, and Cowork switches. | **Separate settings** | Claude Desktop 1.52386.0 or later | +| **Claude Desktop home** | Chooses what members see in Claude Desktop: **Standard** (Chat and Cowork combined), **Simple** (Chat), **Chat only** (Chat without Advanced file analysis), or **Off** (Code only). **Separate settings** leaves it to the Chat, file analysis, and Cowork switches. Any other choice your agency makes overrides them, unless a level above has locked one. | Set by Anthropic | Claude Desktop 1.52386.0 or later | | **Chat in Claude Desktop** | Lets members chat with Claude in Claude Desktop, for quick questions and drafting. Without Chat, members cannot open their existing chats. | On | Claude Desktop | | **Advanced file analysis in Chat** | Lets Claude run code in a sandbox for data analysis in Chat. Only takes effect where **Shell commands** and **Chat in Claude Desktop** are both on. Without this setting, Claude cannot read Word, Excel, or PowerPoint files that members attach in Chat. | On | Claude Desktop | | **Cowork in Claude Desktop** | Lets members give Claude longer tasks, such as research, analysis, and drafting documents, which it works through on its own in Claude Desktop. Without Cowork, members cannot continue their Cowork tasks. | On | Claude Desktop | @@ -30,7 +28,7 @@ These switches control which Claude products and features are available to membe Turning off **Claude Desktop**, **Claude Code**, or **Claude for Microsoft 365** stops the members the setting applies to from using that application. An organization cannot turn on a product that the tenant has turned off. These switches turn applications off, not accounts, and are not a security boundary: to cut one member off from everything at once, deactivate their account (see [Deactivated users](https://claude.com/docs/government/org-admin/users.md#deactivated-users)). -The **Claude Desktop home** row appears once your agency has access to it, and it then holds the Chat, Advanced file analysis, and Cowork switches. A choice other than **Separate settings** overrides those switches, unless a level above has locked one. If you choose **Off**, keep Code turned on, or Claude Desktop has nothing to open. Under **Separate settings**, if Chat, Cowork, and Code are all turned off, Claude Desktop keeps Cowork on. +From November 10, 2026, members whose settings give them Cowork get the [**Standard** home](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#what-users-see-with-unified-claude) in Claude Desktop 4.29.0 or later, even where Chat or Advanced file analysis is off. To change the home, use the **Config** page, not `desktopHome` in a device management profile. ## Sessions and access diff --git a/content/claude/government/deploy-claude-code/configure.md b/content/claude/government/deploy-claude-code/configure.md index 63a7ee3f93..8abcfd703f 100644 --- a/content/claude/government/deploy-claude-code/configure.md +++ b/content/claude/government/deploy-claude-code/configure.md @@ -165,6 +165,6 @@ Change one visible Claude Code setting on the [Config](https://claude.com/docs/g * Where the Claude Code extension for VS Code is used, have users remove an earlier claude.ai sign-in with `claude auth logout` or the extension's **Claude Code: Logout** command before they sign in through the gateway, not after: both commands clear every credential Claude Code has stored, the gateway sign-in included. * To take a device out of this setup, have its users sign out with `claude auth logout` before you remove the settings. * After sign-in, the organization's settings turn off the Claude Code settings that run a helper command (`apiKeyHelper`, `proxyAuthHelper`, `awsAuthRefresh`, `awsCredentialExport`, `gcpAuthRefresh`, `otelHeadersHelper`), wherever it is set. If your devices reach the network through a proxy that needs a helper command to authenticate, raise this with your Anthropic representative before you deploy. -* With Claude for Government, the command-line tool has no access to Claude Code features that [require a claude.ai account](https://code.claude.com/docs/en/feature-availability#features-that-require-a-claude-subscription), such as cloud sessions, Remote Control, and routines. [Fast mode](https://code.claude.com/docs/en/fast-mode) isn't available either. +* With Claude for Government, the command-line tool has no access to Claude Code features that [require a claude.ai account](https://code.claude.com/docs/en/feature-availability#features-that-require-a-claude-subscription), such as cloud sessions, Remote Control, and cloud scheduled tasks. [Fast mode](https://code.claude.com/docs/en/fast-mode) isn't available either. * With these settings Claude Code does not check for or install updates in the background. Distribute new versions through your software deployment tooling, or have users run `claude update` (standard installer) or their package manager. * Code sessions inside Claude Desktop sign in through Claude Desktop, not through these settings, but the `env` block applies to them too. For the other settings that govern them on a device that also has these managed settings, see [Code in Claude Desktop](https://claude.com/docs/government/security/security-and-data-handling.md#code-in-claude-desktop). diff --git a/content/claude/government/desktop/import.md b/content/claude/government/desktop/import.md index 9ef3f76ea1..40e0f54f2b 100644 --- a/content/claude/government/desktop/import.md +++ b/content/claude/government/desktop/import.md @@ -40,7 +40,6 @@ Video: Signing in for the first time (1 min 32 s). Narrated with an AI-generated * **Claude Desktop is up to date.** Update Claude Desktop to 3.1623.0 or later and restart it, or ask your IT administrator to update it. * **You have an account on the web app.** It must use the same work email address as your account in Claude Desktop. -* **You are signed in to the web app in your default browser.** The import opens a browser tab there and asks for a one-time code, which expires after a few minutes. > **For administrators:** Anthropic enables the import for each organization. If a member's **Import & export** page says import is not enabled and their app is up to date, contact your Anthropic representative. The import needs Claude Desktop to download a component, so on a network that blocks `downloads.claude.ai`, deploy the offline installer described under [Installer and packaging](https://claude.com/docs/government/deploy-desktop/windows-checklist.md#installer-and-packaging) in the Windows fleet checklist. @@ -80,7 +79,7 @@ In Claude Desktop, open **Settings**, then the **Import & export** page, and cli **2. Sign in and enter the code** -Click **Sign in to Claude for Government Web…**, and in the dialog that opens, click **Sign in**. Claude Desktop shows a one-time code and opens the web app in your default browser. Sign in there with your work account if you are asked to, enter the code, and approve the request. Then return to Claude Desktop. +Click **Sign in to Claude for Government Web…**, and in the dialog that opens, click **Sign in**. Claude Desktop shows a one-time code, which expires after a few minutes, and opens a tab in your default browser. In that tab, enter the code and approve the request. If you are asked to sign in, use your work account. Then return to Claude Desktop. **3. Fetch your export** @@ -115,7 +114,7 @@ To delete what an import added, open **Settings**, then the **Import & export** | What you see | Likely cause | What to do | | - | - | - | | Your export exceeds the import size limit | You have more data than the import can bring over | Remove conversations or files you no longer need in the web app, in line with your organization's records policy, then run the import again | -| The account does not match your organization | You signed in to the web app with a different account or organization | In the browser, sign in to the web app with your work account, then click **Sign in** in the dialog again | +| The account does not match your organization | You signed in with a different account or organization | If your browser is signed in to the web app with a different account, sign out there. Then click **Sign in** in the dialog again and use your work account in the browser tab | | The **Import & export** page says import isn't enabled for this deployment | Your app is out of date, or Anthropic has not yet enabled the import for your organization | Update Claude Desktop to the latest version. If the page still says import isn't enabled, contact your administrator, who can ask Anthropic to enable it | For anything else, try the import again; if it keeps failing, contact your administrator. diff --git a/content/claude/government/moving-from-web.md b/content/claude/government/moving-from-web.md index 97747b2b68..78e06922cd 100644 --- a/content/claude/government/moving-from-web.md +++ b/content/claude/government/moving-from-web.md @@ -34,7 +34,7 @@ This page answers the questions that only come up during the move and links each ## The Claude for Government Web import -* **How do users bring over their conversations and projects?** Each user runs the import themselves from Claude Desktop, which signs in to their web app account. See [Import your data from Claude for Government Web](https://claude.com/docs/government/desktop/import.md). +* **How do users bring over their conversations and projects?** Each user runs the import themselves from Claude Desktop. See [Import your data from Claude for Government Web](https://claude.com/docs/government/desktop/import.md). * **Can administrators remind users to run the import?** Yes. Turn on the [**Show the Claude for Government Web import banner**](https://claude.com/docs/government/config/settings.md#show-the-claude-for-government-web-import-banner) switch on the **Config** page. * **The Import & export page in Claude Desktop says import isn't enabled.** See [Troubleshooting](https://claude.com/docs/government/desktop/import.md#troubleshooting) on the import page. * **What comes across, and how does a user redo an import?** See [Things to know](https://claude.com/docs/government/desktop/import.md#things-to-know) and [Remove an import](https://claude.com/docs/government/desktop/import.md#remove-an-import). diff --git a/content/claude/office-agents/connectors-and-skills.md b/content/claude/office-agents/connectors-and-skills.md index c63a80df76..685f39d643 100644 --- a/content/claude/office-agents/connectors-and-skills.md +++ b/content/claude/office-agents/connectors-and-skills.md @@ -11,11 +11,13 @@ PowerPoint, Word, and Outlook. Both are enabled in your Claude settings. > [!NOTE] > -> Connectors and Skills are available when you sign in with your Claude -> account directly. When connecting through a third-party platform such -> as Amazon Bedrock, Google Cloud Vertex AI, Azure AI Foundry, or an LLM -> gateway, these capabilities may not be available. See the feature -> comparison in +> This page describes Connectors and Skills when you sign in with your +> Claude account directly. When connecting through a third-party platform +> such as Amazon Bedrock, Google Cloud Vertex AI, Azure AI Foundry, or an +> LLM gateway, connectors are the MCP servers your admin configures. +> Skills from your Claude settings aren't available there, but built-in +> skills, skills your admin provides, and skills you upload are. See the +> feature comparison in > [Use Claude for M365 with third-party platforms](https://claude.com/docs/office-agents/third-party-platforms.md) > for the current status by connection mode. diff --git a/content/claude/office-agents/excel.md b/content/claude/office-agents/excel.md index d59385896b..5f8752a2ef 100644 --- a/content/claude/office-agents/excel.md +++ b/content/claude/office-agents/excel.md @@ -223,20 +223,25 @@ or generation, except in cases outlined in Data is cached for a number of hours after deletion so users can access context in recently closed workbooks. -Chat history is stored locally in your browser using IndexedDB. -Conversations are not stored on Anthropic's servers, are not synced -across devices, and can be cleared from Settings at any time. +Chat history is stored locally in your browser using IndexedDB. It is +not synced across devices and can be cleared from Settings at any time. Reinstalling the add-in or switching between Claude add-ins does not remove it. See [Data storage and retention](https://claude.com/docs/office-agents/data-storage.md) for where it sits on disk and how long it is kept. +When you sign in with a Claude account, the add-in sends your +conversations to Anthropic, including the content Claude reads from your +workbook and any files you attach. Clearing chat history removes only +the copy in your browser. It does not delete the messages or attached +files that Anthropic keeps. + Claude for Excel does not inherit custom data retention settings your organization might have set. Activity is not included in Enterprise audit logs. For Enterprise organizations with the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) enabled, Claude for Excel sessions are included in the Compliance API. -This coverage is in public beta and requires no additional setup: the -same Compliance Access Keys apply. +This coverage requires no additional setup: the same Compliance Access +Keys apply. ## Current limitations diff --git a/content/claude/office-agents/outlook.md b/content/claude/office-agents/outlook.md index 722d59f687..15c2ddf256 100644 --- a/content/claude/office-agents/outlook.md +++ b/content/claude/office-agents/outlook.md @@ -432,17 +432,22 @@ index of your mailbox. ## Chat history -Chat history is stored locally in your browser using IndexedDB. -Conversations are not stored on Anthropic's servers and are not synced -across devices or browsers. You can clear all chat history from Settings -at any time. The local store is also cleared when you clear your browser -data. Chat history is specific to the combination of the add-in surface, -your user ID, and your organization ID, so your Excel and Outlook -histories are separate. Reinstalling the add-in or switching between -Claude add-ins does not remove it. See +Chat history is stored locally in your browser using IndexedDB. It is +not synced across devices or browsers. You can clear all chat history +from Settings at any time. The local store is also cleared when you +clear your browser data. Chat history is specific to the combination of +the add-in surface, your user ID, and your organization ID, so your +Excel and Outlook histories are separate. Reinstalling the add-in or +switching between Claude add-ins does not remove it. See [Data storage and retention](https://claude.com/docs/office-agents/data-storage.md) for where it sits on disk and how long it is kept. +When you sign in with a Claude account, the add-in sends your +conversations to Anthropic, including the content Claude reads from your +mailbox and calendar, and any files you attach. Clearing chat history +removes only the copy in your browser. It does not delete the messages +or attached files that Anthropic keeps. + ## Data retention and audit For Claude for Outlook use, inputs and outputs are deleted on Anthropic's @@ -459,8 +464,8 @@ data retention settings your organization may have configured and is not included in Enterprise audit logs. For Enterprise organizations with the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) enabled, Claude for Outlook sessions are included in the Compliance API. -This coverage is in public beta and requires no additional setup: the -same Compliance Access Keys apply. +This coverage requires no additional setup: the same Compliance Access +Keys apply. ## Prompt injection risks diff --git a/content/claude/office-agents/powerpoint.md b/content/claude/office-agents/powerpoint.md index c97b413388..3a2faeb685 100644 --- a/content/claude/office-agents/powerpoint.md +++ b/content/claude/office-agents/powerpoint.md @@ -256,20 +256,25 @@ or generation, except in cases outlined in Data is cached for a number of hours after deletion so users can access context in recently closed presentations. -Chat history is stored locally in your browser using IndexedDB. -Conversations are not stored on Anthropic's servers, are not synced -across devices, and can be cleared from Settings at any time. +Chat history is stored locally in your browser using IndexedDB. It is +not synced across devices and can be cleared from Settings at any time. Reinstalling the add-in or switching between Claude add-ins does not remove it. See [Data storage and retention](https://claude.com/docs/office-agents/data-storage.md) for where it sits on disk and how long it is kept. +When you sign in with a Claude account, the add-in sends your +conversations to Anthropic, including the content Claude reads from your +presentation and any files you attach. Clearing chat history removes +only the copy in your browser. It does not delete the messages or +attached files that Anthropic keeps. + Claude for PowerPoint does not inherit custom data retention settings your organization might have set. Activity is not included in Enterprise audit logs. For Enterprise organizations with the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) enabled, Claude for PowerPoint sessions are included in the Compliance -API. This coverage is in public beta and requires no additional setup: -the same Compliance Access Keys apply. +API. This coverage requires no additional setup: the same Compliance +Access Keys apply. ## Current limitations diff --git a/content/claude/office-agents/third-party-platforms.md b/content/claude/office-agents/third-party-platforms.md index a2efab6c5c..6db87fdac0 100644 --- a/content/claude/office-agents/third-party-platforms.md +++ b/content/claude/office-agents/third-party-platforms.md @@ -9,8 +9,11 @@ Organizations using Amazon Bedrock, Google Cloud Vertex AI, Azure AI Foundry, or an LLM gateway can deploy Claude's Office add-ins without requiring individual Claude accounts. The add-in connects through your -organization's infrastructure, keeping prompts and responses within your -trust boundary. +organization's infrastructure, sends prompts to the provider your +organization chooses, and receives Claude's responses from it. See +[What Anthropic collects](#what-anthropic-collects) for what reaches +Anthropic on Amazon Bedrock, Google Cloud Vertex AI, and Azure AI +Foundry. ## Connection paths @@ -113,9 +116,11 @@ AI Foundry. | `oauth2.googleapis.com` | If using Vertex AI direct | Google OAuth token exchange and refresh. | | `aiplatform.googleapis.com` | If using Vertex AI direct | Vertex AI global inference endpoint. | | `-aiplatform.googleapis.com` | If using Vertex AI direct | Vertex AI regional inference endpoint; replace `` with your GCP region. | +| `aiplatform.us.rep.googleapis.com`, `aiplatform.eu.rep.googleapis.com` | If using Vertex AI direct with region `us` or `eu` | Vertex AI multi-region inference endpoints. | | `.services.ai.azure.com` | If using Foundry direct | Azure AI Foundry inference endpoint; replace `` with your resource name. | | Your Vertex AI gateway URL | If using Vertex AI direct through your own gateway | The gateway or proxy set in `gcp_base_url`. Connections made while it is set do not call `aiplatform.googleapis.com` or `-aiplatform.googleapis.com`. Google sign-in still uses `accounts.google.com` and `oauth2.googleapis.com`. | | Your Foundry gateway URL | If using Foundry direct through your own gateway | The gateway or proxy set in `azure_base_url`. Connections made while it is set do not call `.services.ai.azure.com`. | +| Your MCP server URLs | If using connectors | The remote MCP servers listed in `mcp_servers`. The task pane calls them directly from the user's machine, so each must allow CORS for `https://pivot.claude.ai`. For servers that use OAuth sign-in, the same applies to their authorization server. | | `graph.microsoft.com` | If using Outlook | Microsoft Graph mailbox and calendar API. | If Anthropic serves your add-in settings from your Claude organization, @@ -126,7 +131,7 @@ also allow `claude.ai`, `api.anthropic.com`, `hcaptcha.com`, and `claude.ai`, and the add-in reads your organization's settings from `api.anthropic.com`. The `claude.ai` sign-in and approval pages run an hCaptcha browser check. Inference still goes only to the gateway or cloud -provider those settings name. +provider the add-in connects to. ## Deploy the add-in for your organization @@ -294,6 +299,46 @@ instead; a statement without a resource behaves exactly like `/claude-for-msft-365-install:access-policies` commands document both keys in full. +### Skill limits for a bootstrap endpoint + +A bootstrap endpoint can return a `skills` array of admin-provisioned +skills. The add-in applies these limits to each response. + +| Limit | Value | +| - | - | +| Skills kept | The first 20 skill names, in array order. No setting changes this number. Uploaded and built-in skills don't count toward it. | +| Repeated names | One skill for each name: the last entry with that name, in the position of the first. | +| Skill `url` | HTTPS, no redirects, CORS for `https://pivot.claude.ai`, and 15 seconds for each download. | +| Bootstrap call | 10 seconds in total to get the user's Microsoft Entra token, when the add-in uses one, and to receive the response. This limit applies to each bootstrap call, except the call made when the add-in sets up a new connection, for example at first use or after a sign-out. | + +If a skill fails to load, the add-in doesn't replace it with a later +skill. To see which skills failed to load, select the + button at the +bottom of the chat pane, and then select Skills. A note at the top of the +list names up to three of those skills and gives the number of any others. + +If a bootstrap call takes more than 10 seconds when the add-in +loads with an existing connection, the add-in has no admin-provisioned +skills until a later bootstrap call succeeds. + +To stay within these limits: + +* Put the most important skills first. +* Return a different list for each app. The `X-Claude-User-Agent` header + on each bootstrap call starts with `claude-word`, `claude-excel`, + `claude-powerpoint`, or `claude-outlook`. +* Use `url` instead of inline `content` for large skills. Inline content + is part of the bootstrap response, so it counts toward the 10 seconds. + The add-in downloads skill URLs after the bootstrap call, and only for + the skills that it keeps. + +If a response holds more than 20 different skill names, the add-in sends +the warning log record `Bootstrap skill count exceeds cap — truncating` +to your [OpenTelemetry collector](https://claude.com/docs/office-agents/opentelemetry.md) at +`{your_url}/v1/logs`. Your collector might not receive this record for +the bootstrap call made when the add-in sets up a new connection. On that +record, `count` is the number of different skill names in the response, +and `cap` is the limit, 20. + ### Deploy to Outlook Outlook requires a separate manifest file from Excel, PowerPoint, and @@ -366,9 +411,11 @@ Anthropic can serve the add-in's configuration to the members of a Claude organization directly, in place of manifest parameters, Microsoft Entra ID attributes, or a bootstrap endpoint. Members sign in with the add-in's standard "Log in" button and their Claude account. The add-in -then reads the organization's settings from Anthropic and connects to -the gateway or cloud provider those settings name. Prompts and responses -still travel only to that provider, never to Anthropic. +then reads the organization's settings from Anthropic and fills in the +connection screen with them. Prompts and responses still travel only to +the gateway or cloud provider the add-in connects to. What reaches +Anthropic then depends on the provider, as +[What Anthropic collects](#what-anthropic-collects) describes. This option is in preview. It works in Anthropic's preview environments and is not yet enabled for production organizations. Members need the @@ -390,11 +437,10 @@ needed. verify your organization's sign-in." 3. After the reload, the add-in reads the organization's settings from `api.anthropic.com` and opens the connection screen with the served - values filled in, such as the gateway URL, API format, authorization - header, and available models. When the served settings include every - value the connection needs, the add-in connects without further - input. Otherwise the member enters the missing value, typically the - gateway token from your IT team, and connects. + values filled in, such as the gateway URL. When the served settings + include every value the connection needs, the add-in connects without + further input. Otherwise the member enters the missing value, + typically the gateway token from your IT team, and connects. 4. While the member stays signed in, the add-in reads the served settings again at each launch and periodically while it runs, so changes an admin makes apply without redeploying the manifest. @@ -407,11 +453,26 @@ bootstrap endpoint, including the keys described in [Admin feature controls](#admin-feature-controls). A few rules are specific to this path: -* **Single source**: for a member signed in this way, the served - document is the only configuration source. The add-in does not merge - it with manifest parameters, Entra ID attributes, or a bootstrap - endpoint, and nothing from the task pane URL fills a key the served - document leaves out. +* **Connection values**: for a member signed in this way, the add-in + fills in the connection screen from the served settings, not from + manifest parameters, Entra ID attributes, or a bootstrap endpoint. +* **Other connection paths**: on the connection screen, the member can + select another [connection path](#connection-paths) and enter their + own values. The add-in then sends prompts to the provider the member + chose. +* **Supported providers**: served settings can name an LLM gateway, + Bedrock, Vertex AI, or Foundry as the inference provider. +* **Unsupported settings**: if served settings name Bedrock Mantle or + set a Bedrock base URL, the add-in makes no new connection. A member + who is already connected keeps that connection until they sign out. A + member who isn't connected yet sees the connection screen without its + fields, with Try again and Sign out actions. After you change the + served settings, the member selects Try again to load them. Until + then, the screen shows one of these messages: + * Bedrock Mantle: "This add-in can't use your organization's inference + provider. Let your IT team know." + * Bedrock base URL: "This add-in can't use your organization's Bedrock + base URL. Let your IT team know." * **Applied as delivered**: the add-in applies served settings the same way it applies manifest configuration, with no per-setting consent prompt. The Claude organization admin who edits served settings can @@ -536,7 +597,7 @@ Open Excel, PowerPoint, Word, or Outlook and launch the Claude add-in. **2. Authenticate** -For Bedrock (Excel, PowerPoint, and Word only), sign in with your +For Bedrock, sign in with your Microsoft work account. The add-in uses your Entra ID token to assume the AWS role your admin configured, so no separate AWS credentials are needed. @@ -893,14 +954,24 @@ timings, and error rates, so Anthropic can maintain and improve the add-in experience. They do not transmit your prompts or Claude's responses. -Anthropic collects information in accordance with Amazon Bedrock, Google -Cloud Vertex AI, or Microsoft Azure's terms, consistent with Anthropic's -arrangements with customers. Anthropic does not have access to a -customer's AWS, Google, or Microsoft instance, including prompts or -outputs it contains. Anthropic does not train generative models with -such content or use it for other purposes. Anthropic can access -metadata such as tool use and token counts, and uses such metadata for -analytic and product-improvement purposes. +When the add-in uses Amazon Bedrock or Google Cloud Vertex AI, directly +or through a gateway, Anthropic collects information in accordance with +that platform's terms, consistent with Anthropic's arrangements with +customers. Anthropic does not have access to a customer's AWS or Google +instance, including prompts or outputs it contains. Anthropic does not +train generative models with such content or use it for other purposes. +Anthropic can access metadata such as tool use and token counts, and +uses such metadata for analytic and product-improvement purposes. + +When the add-in uses Azure AI Foundry, directly or through a gateway, +Anthropic operates the Claude models as an independent processor for +Microsoft, and Anthropic's data use terms apply. For deployments hosted +on Azure, prompts and responses stay within Azure, and only usage +metadata and content flagged by Anthropic's safety systems reach +Anthropic. For deployments hosted on Anthropic, prompts and responses are +processed on Anthropic's infrastructure. See +[Claude in Microsoft Foundry](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry) +for details. For details on what your organization's gateway or cloud provider logs, contact your IT team. @@ -1045,27 +1116,31 @@ Anthropic. When you connect through a third-party platform, the add-ins send inference requests to your organization's infrastructure instead, and your IT team controls how that traffic is routed and logged. -Some features that rely on a Claude account are not available through -third-party platforms yet. Support is being added. A member who signs in +Some features work differently through third-party platforms, and +others aren't available. A member who signs in with a Claude account to an organization whose settings Anthropic serves is in the third-party platform column too, because inference -goes to the organization's provider. +goes to a gateway or cloud provider. | Feature | Claude account | Third-party platform | | - | - | - | | Chat with your spreadsheet, deck, document, or email | Yes | Yes | | Read and edit cells, slides, formulas, and document text | Yes | Yes | | Read, search, and triage your mailbox and calendar (Outlook) | Yes | Yes | -| Connectors (S\&P, FactSet, and others) | Yes | Coming soon | +| Connectors (S\&P, FactSet, and others) | Yes | Yes: remote MCP servers your admin configures. There's no connector directory, and users can't add their own. | | Working across apps | Yes | No | | Dictation | Yes | No | -| Skills | Yes | Coming soon | -| File uploads | Yes | No | -| Web search | Yes | Vertex direct, Foundry direct, and gateways the add-in detects as routing to a Foundry-compatible upstream | -| Code execution | Yes | Foundry direct, and gateways the add-in detects as routing to a Foundry-compatible upstream | +| Skills | Yes | Yes: built-in skills, skills your admin provides, and skills users upload. | +| File uploads | Yes | Yes, but uploaded files aren't available to code execution. | +| Web search | Yes | Vertex AI direct, Foundry direct, and gateways the add-in detects as routing to Vertex AI, Foundry, or the Anthropic API, where the provider allows it. The add-in checks when it connects and when you change models. Not available on Bedrock. | +| Code execution | Yes | Foundry direct, and gateways the add-in detects as routing to Foundry or the Anthropic API, where the provider allows it, checked the same way. Not available on Bedrock or Vertex AI. | + +On a gateway using `gateway_api_format: anthropic`, the add-in tells +where requests go from the `id` in the gateway's response, so the gateway +must pass the provider's response ID through unchanged. -If your team needs these features, talk to your Claude admin about -which sign-in path fits your organization. +If your team needs a feature that isn't available on your path, talk to +your Claude admin about which sign-in path fits your organization. ## Troubleshooting @@ -1133,6 +1208,9 @@ prevents streaming responses from reaching the add-in. ### A feature I expected is not available -Connectors, Skills, file uploads, dictation, and working across apps are -not available through third-party platforms yet. If you need these, ask your -admin about signing in with a Claude account instead. +Dictation and working across apps aren't available through third-party +platforms, and connectors are limited to the MCP servers your admin +configures. If you need these, ask your admin about signing in with a +Claude account instead. Web search and code execution depend on where +your gateway or cloud provider sends requests; see +[Differences from signing in with a Claude account](#differences-from-signing-in-with-a-claude-account). diff --git a/content/claude/office-agents/word.md b/content/claude/office-agents/word.md index de7ca7b387..348e1e3c94 100644 --- a/content/claude/office-agents/word.md +++ b/content/claude/office-agents/word.md @@ -306,20 +306,25 @@ or generation, except in cases outlined in Data is cached for a number of hours after deletion so users can access context in recently closed documents. -Chat history is stored locally in your browser using IndexedDB. -Conversations are not stored on Anthropic's servers, are not synced -across devices, and can be cleared from Settings at any time. +Chat history is stored locally in your browser using IndexedDB. It is +not synced across devices and can be cleared from Settings at any time. Reinstalling the add-in or switching between Claude add-ins does not remove it. See [Data storage and retention](https://claude.com/docs/office-agents/data-storage.md) for where it sits on disk and how long it is kept. +When you sign in with a Claude account, the add-in sends your +conversations to Anthropic, including the content Claude reads from your +document and any files you attach. Clearing chat history removes only +the copy in your browser. It does not delete the messages or attached +files that Anthropic keeps. + Claude for Word does not inherit custom data retention settings your organization might have set. Activity is not included in Enterprise audit logs. For Enterprise organizations with the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) enabled, Claude for Word sessions are included in the Compliance API. -This coverage is in public beta and requires no additional setup: the -same Compliance Access Keys apply. +This coverage requires no additional setup: the same Compliance Access +Keys apply. Claude reads the content of your currently open document, including text, comments, tracked changes, footnotes, tables, and bookmarks. It diff --git a/content/claude/office-agents/work-across-apps.md b/content/claude/office-agents/work-across-apps.md index f504fc349b..24c40fb95b 100644 --- a/content/claude/office-agents/work-across-apps.md +++ b/content/claude/office-agents/work-across-apps.md @@ -127,10 +127,15 @@ settings your organization may have set, and activity is not included in Enterprise audit logs or data exports. For Enterprise organizations with the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) enabled, add-in sessions are included in the Compliance API. This -coverage is in public beta and requires no additional setup: the same -Compliance Access Keys apply. Chat history is stored locally in your -browser, not on Anthropic's servers, and can be cleared from Settings at -any time. +coverage requires no additional setup: the same Compliance Access Keys +apply. + +Chat history is stored locally in your browser and can be cleared from +Settings at any time. The add-ins also send your conversations to +Anthropic, including the content Claude reads from your open workbooks, +documents, presentations, email, and calendar, and any files you attach. +Clearing chat history removes only the copy in your browser. It does not +delete the messages or attached files that Anthropic keeps. ## Current limitations diff --git a/content/claude/third-party/claude-desktop/admin-console.md b/content/claude/third-party/claude-desktop/admin-console.md index 04b88d7c79..7e24938439 100644 --- a/content/claude/third-party/claude-desktop/admin-console.md +++ b/content/claude/third-party/claude-desktop/admin-console.md @@ -97,7 +97,7 @@ From the console you can set the same [configuration keys](https://claude.com/do | Page | What you configure there | | - | - | | **Connection** | The inference provider ([gateway](https://claude.com/docs/third-party/claude-desktop/gateway.md), [Amazon Bedrock](https://claude.com/docs/third-party/claude-desktop/bedrock.md), [Bedrock Mantle](https://claude.com/docs/third-party/claude-desktop/mantle.md), [Google Cloud's Agent Platform](https://claude.com/docs/third-party/claude-desktop/vertex.md), or [Microsoft Foundry](https://claude.com/docs/third-party/claude-desktop/foundry.md)), its endpoint, region, or project, how users authenticate to it, custom request headers, and, under **Models**, the model list, default model, model discovery, and cost-estimate rates. **Desktop sign-in** on this page holds the **Require this organization in Claude Desktop** switch described under [Users in more than one Claude organization](#users-in-more-than-one-claude-organization). | -| **Capabilities** | Whether Chat, Cowork, and Code are each available, [Unified Claude](#turn-on-unified-claude), the folders and network hosts the app may use, permission modes and built-in tool policy, the [built-in browser](https://claude.com/docs/third-party/claude-desktop/browser.md#manage-the-built-in-browser-from-the-enterprise-admin-console) and its site permissions, whether users may add their own skills and plugins, organization instructions, and [**Claude.ai data import**](https://claude.com/docs/third-party/claude-desktop/import.md) | +| **Capabilities** | Whether Chat, Cowork, and Code are each available, [Unified Claude](#turn-on-unified-claude), the folders and network hosts the app may use, permission modes and built-in tool policy, the [built-in browser](https://claude.com/docs/third-party/claude-desktop/browser.md#manage-the-built-in-browser-from-the-enterprise-admin-console) and its site permissions, whether users may add their own skills and plugins, [skill scanning](https://claude.com/docs/third-party/claude-desktop/extensions.md#skill-scanning), organization instructions, and [**Claude.ai data import**](https://claude.com/docs/third-party/claude-desktop/import.md) | | **Connectors** | Managed MCP servers, including the [built-in connectors](https://claude.com/docs/third-party/claude-desktop/built-in-connectors.md), whether users may add their own MCP servers, and desktop extension policy | | **Telemetry & updates** | Which telemetry categories go to Anthropic, whether users' apps report [usage analytics](#usage-analytics) to your organization, OpenTelemetry export to your collector, update policy, the [configuration relaunch window](#configuration-updates), the configuration re-check interval, and [how much of the configuration devices keep on disk](#configuration-kept-on-devices) | | **Limits** | A per-user token limit and its window | @@ -153,34 +153,34 @@ Policies are ranked in the order shown on the page, and you drag them to change For example, if the Traders policy (ranked first) turns Code off and selects the wiki server, and the Analysts policy (ranked second) sets a token limit and selects the tickets server, a user in both groups has Code off, the Analysts token limit, and both servers. Everything these policies leave unset comes from the organization-wide settings, and a user in no listed group gets the organization-wide settings unchanged. Groups are managed on the **Groups** page under **People**, including groups synced from your identity provider. -A group's policy can also turn on Unified Claude for that group, as described under [Turn on Unified Claude](#turn-on-unified-claude). +A group's policy can also turn on Unified Claude for that group, as described under [Turn on Unified Claude](#turn-on-unified-claude). From November 10, 2026, Unified Claude is on by default even for a group whose policy turns Cowork off. ### Turn on Unified Claude [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) combines Chat and Cowork into one experience. These switches under **Allowed surfaces** on the **Capabilities** page control Unified Claude for your organization: -* **Opt into the new Chat and Cowork unified view** turns on Unified Claude. From November 10, 2026, Unified Claude is on by default while this switch is off, unless an [exception](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#enabling-unified-claude) applies, and the switch's description says so where it is. +* **Opt into the new Chat and Cowork unified view** turns on Unified Claude. From November 10, 2026, Unified Claude is [on by default](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#enabling-unified-claude) while this switch is off. Cowork is then on even where the **Cowork** switch is off. * **Chat and Cowork unified view** takes the place of the separate **Chat** and **Cowork** switches when you turn on the **Opt into the new Chat and Cowork unified view** switch. Turn on the **Chat and Cowork unified view** switch to give users the unified view. Turn it off to turn Chat and Cowork off entirely. Code is not affected. A group's policy has the same two switches in its **Capabilities** section. -Unified Claude is in beta. In an organization with no saved configuration, the console starts with Unified Claude on and stores it when you first click **Save changes** on the **Connection** page. Where the saved configuration leaves the **Opt into the new Chat and Cowork unified view** switch off, Unified Claude stays off until you turn it on or, unless an [exception](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#enabling-unified-claude) applies, until November 10, 2026. The default goes by the settings each user gets from the organization and their groups. +Unified Claude is in beta. In an organization with no saved configuration, the console starts with Unified Claude on and stores it when you first click **Save changes** on the **Connection** page. Where the saved configuration leaves the **Opt into the new Chat and Cowork unified view** switch off, Unified Claude stays off until you turn it on or until November 10, 2026. -When you turn on Unified Claude yourself, it overrides the **Chat**, [**Advanced file analysis**](https://claude.com/docs/third-party/claude-desktop/chat.md#advanced-file-analysis), and **Cowork** switches, including where you turned one of them off. +While Unified Claude is on, whether you turned it on or it is on by default, it overrides the **Chat**, [**Advanced file analysis**](https://claude.com/docs/third-party/claude-desktop/chat.md#advanced-file-analysis), and **Cowork** switches, including where you turned one of them off. > [!WARNING] > -> When you turn on Unified Claude for your organization, it is on for every group. That includes a group whose policy turns Chat or Cowork off. +> When you turn on Unified Claude for your organization, it is on for every group. That includes a group whose policy turns Chat or Cowork off. From November 10, 2026, the default does the same, so a group whose policy turns Cowork off gets Cowork. > -> To keep Chat, advanced file analysis, and Cowork off for a group, turn off the **Chat and Cowork unified view** switch in the group's policy. Where Unified Claude is still off for your organization, set the group's switches before you turn Unified Claude on. Turn on the group's **Opt into the new Chat and Cowork unified view** switch. If the **Chat and Cowork unified view** switch under it is on, turn it off. For a member of several groups, Unified Claude comes from the highest-ranked of their policies that sets it, even when a higher-ranked policy turns Chat or Cowork off. +> For a member of several groups, Unified Claude comes from the highest-ranked of their policies that sets it, even when a higher-ranked policy turns Chat or Cowork off. To turn on Unified Claude for your whole organization, open **Organization settings** and go to the **Capabilities** page under **Desktop 3P**. Under **Allowed surfaces**, turn on the **Opt into the new Chat and Cowork unified view** switch. If the **Chat and Cowork unified view** switch under it is off, turn it on. Click **Save changes**. -Where Unified Claude isn't on by default, you can turn it on for some groups only: +Until November 10, 2026, you can turn on Unified Claude for some groups only: **1. Make sure Unified Claude is off for your organization** -Open **Organization settings** and go to the **Capabilities** page under **Desktop 3P**. If the **Opt into the new Chat and Cowork unified view** switch under **Allowed surfaces** is off, continue with the next step. If the switch is on, turn it off, set the **Chat** and **Cowork** switches that reappear, and click **Save changes**. From November 10, 2026, continue only if the switch's description doesn't say that Unified Claude is on by default. +Open **Organization settings** and go to the **Capabilities** page under **Desktop 3P**. If the **Opt into the new Chat and Cowork unified view** switch under **Allowed surfaces** is off, continue with the next step. If the switch is on, turn it off, set the **Chat** and **Cowork** switches that reappear, and click **Save changes**. **2. Open the group's policy** @@ -194,10 +194,10 @@ In the policy's **Capabilities** section, turn on the **Opt into the new Chat an Click **Save changes**. -From November 10, 2026, unless an [exception](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#enabling-unified-claude) applies, these steps leave Unified Claude on by default. Until then, they turn it off for your organization or for a group: +Until November 10, 2026, you can turn Unified Claude off again for your organization or for a group. From that date, the same changes leave Unified Claude on by default, whatever the **Chat** and **Cowork** switches say. * **For your whole organization**: open **Organization settings** and go to the **Capabilities** page under **Desktop 3P**. Under **Allowed surfaces**, turn off the **Opt into the new Chat and Cowork unified view** switch. The **Chat** and **Cowork** switches reappear in the positions they had. Switches that nobody set are at their defaults. Cowork is on, and Chat and advanced file analysis are off. Set the switches as you want, then click **Save changes**. -* **For a group**: while Unified Claude is off for your organization, open **Organization settings**, go to the **Permission policies** page under **People**, and open the group's policy. If the policy has other settings, click **Reset to default** in the **Opt into the new Chat and Cowork unified view** row, then click **Save changes**. If the policy has no other settings, remove the policy with **Remove policy** on the **Permission policies** page. The **Chat** and **Cowork** switches then apply to the group again. +* **For a group**: while Unified Claude is off for your organization, open **Organization settings**, go to the **Permission policies** page under **People**, and open the group's policy. If the policy has other settings, click **Reset to default** in the **Opt into the new Chat and Cowork unified view** row, then click **Save changes**. If the policy has no other settings, remove the policy with **Remove policy** on the **Permission policies** page. Until November 10, 2026, the **Chat** and **Cowork** switches then apply to the group again. Turning on the **Opt into the new Chat and Cowork unified view** switch sets the [`desktopHome`](https://claude.com/docs/third-party/claude-desktop/configuration#desktophome) key, and turning it off removes the key. The **Chat and Cowork unified view** switch saves the value `standard` when it is on and `off` when it is off. With the value `off`, the **Opt into the new Chat and Cowork unified view** switch stays on, and Chat and Cowork are off entirely. Users' apps pick up the change as described under [Configuration updates](#configuration-updates). @@ -409,7 +409,6 @@ On a device whose profile sets only [app-behavior keys](https://claude.com/docs/ While a device whose profile sets any other key is on the admin console's configuration, the app still takes these from the profile: * The [network proxy keys](https://claude.com/docs/third-party/claude-desktop/network-proxy.md#pin-a-proxy-from-managed-configuration). -* [`sessionRetentionHold`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionretentionhold) set to `true`. * [`isLocalDevMcpEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#islocaldevmcpenabled) set to `false`, for local (stdio) servers in the console's managed MCP servers only. The app starts such a server only if the profile's own [`managedMcpServers`](https://claude.com/docs/third-party/claude-desktop/configuration#managedmcpservers) lists a local (stdio) server of the same name, and it uses the profile's command, arguments, and environment. The profile's value doesn't block local MCP servers that users add. To keep blocking them, turn off **Allow local MCP servers** on the console's **Connectors** page. * `disableDeploymentModeChooser` and `forceLoginOrgUUID`, as described under [Keep a device on its managed profile](#keep-a-device-on-its-managed-profile). diff --git a/content/claude/third-party/claude-desktop/bedrock.md b/content/claude/third-party/claude-desktop/bedrock.md index c1dede1e1e..b2582d5087 100644 --- a/content/claude/third-party/claude-desktop/bedrock.md +++ b/content/claude/third-party/claude-desktop/bedrock.md @@ -210,7 +210,7 @@ Origin-pinned (A URL that a bootstrap server delivers must share the origin of b Since 1.2581.0 -**Bedrock base URL.** For VPC endpoints or gateway proxies. Host origin only. +**Bedrock base URL.** For VPC endpoints or gateway proxies. Enter https\:// and the host, with no path. *** @@ -222,10 +222,6 @@ enumSince 1.5186.0 One of: `flex`, `priority` -> **More detail** -> -> Tier availability varies by model and region. Reserved capacity uses a provisioned-throughput ARN as the model ID instead of this setting. Older bundled Claude Code CLI versions ignore this key. - *** #### `inferenceBedrockBearerToken` diff --git a/content/claude/third-party/claude-desktop/bootstrap.md b/content/claude/third-party/claude-desktop/bootstrap.md index 868e231133..66dcd6aef6 100644 --- a/content/claude/third-party/claude-desktop/bootstrap.md +++ b/content/claude/third-party/claude-desktop/bootstrap.md @@ -387,7 +387,7 @@ MDM only (You can set the key only in an MDM profile or the local configuration Since 1.10628.0 -**Use bootstrap config.** Fetch and apply the URL above at launch. Turn off to keep the URL saved but skip the fetch. +**Use bootstrap config.** Fetch and apply settings from the bootstrap config URL at launch. Turn off to keep the URL saved but skip the fetch. *** @@ -411,13 +411,13 @@ MDM only (You can set the key only in an MDM profile or the local configuration Since 1.10628.0 -**Bootstrap OIDC parameters.** When set, the bootstrap request sends a Bearer token from a browser sign-in (authorization-code-with-PKCE). +**Bootstrap OIDC parameters.** Your organization’s OpenID Connect identity provider. The user’s token from a browser sign-in is sent as Bearer to the bootstrap server. > **More detail** > -> Set this to use a separate identity provider (Microsoft Entra ID, Okta, Ping, or any compliant OIDC provider) for the bootstrap sign-in. The app runs an authorization-code-with-PKCE flow in the system browser. Omit to use device-code mode against the bootstrap server's own origin. +> When unset, the bootstrap sign-in uses a device code on the bootstrap server's own origin. > -> This is an **object-typed key** — in an MDM profile it is a single JSON-string value, not separate keys with dotted names like `bootstrapOidc.clientId`. Writing the sub-fields as separate registry values causes the app to silently fall through to device-code mode. +> In an MDM profile, write this key as one JSON string. Separate values such as `bootstrapOidc.clientId` do not work: the app silently uses the device-code sign-in instead. > **Child attributes (8)** > @@ -453,11 +453,11 @@ Since 1.10628.0 > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -473,7 +473,11 @@ Since 1.32885.1 > **More detail** > -> Static headers sent on every request to the bootstrap config URL — for a service-account credential (`Authorization: Basic …`, an API key header) or a routing/tenant header. When either this or the headers helper script is set and no separate `bootstrapOidc` provider is configured, the app treats the headers as sufficient auth and does not require a per-user sign-in for the bootstrap fetch. These headers (and the helper script's below) also accompany requests to a plugin marketplace this server hosts on its own origin (`allowedPluginMarketplaces` with `credentialKind: "inferenceCredential"`). Header values are masked in diagnostics and telemetry. For a rotating token, use the headers helper script instead. +> If `bootstrapOidc` is unset, the app treats these headers as sufficient authentication and requires no per-user sign-in for the bootstrap fetch. +> +> These headers, and those of `bootstrapHeadersHelper`, also go to a plugin marketplace on this server's own origin, if its `allowedPluginMarketplaces` entry sets `credentialKind: "inferenceCredential"`. +> +> Header values are masked in diagnostics and telemetry. *** @@ -489,7 +493,9 @@ Since 1.32885.1 > **More detail** > -> Absolute path to an executable that prints a single JSON object of HTTP headers on stdout, e.g. `{"Authorization": "Bearer …"}`. The app runs it (no arguments; output cached for a few minutes) before each bootstrap config fetch and merges the result over **Bootstrap request headers** (the helper wins on conflict). Use this instead of embedding `user:pass@` in the bootstrap URL, or when the bootstrap server needs a rotating token from a secrets manager. When either this or the static headers are set and no separate `bootstrapOidc` provider is configured, the app treats them as sufficient auth and does not require a per-user sign-in for the bootstrap fetch. If a per-user sign-in also runs (`bootstrapOidc` or the server’s own device-code flow), that Bearer token wins on `Authorization`. +> Example output: `{"Authorization": "Bearer …"}`. The app runs the helper script with no arguments and reuses its output for a few minutes. +> +> If `bootstrapOidc` is unset, the app treats these headers as sufficient authentication and requires no per-user sign-in for the bootstrap fetch. If a per-user sign-in also runs, its token takes priority for the `Authorization` header. *** @@ -501,7 +507,7 @@ MDM only (You can set the key only in an MDM profile or the local configuration Since 1.26832.0 -**Trust bootstrap-delivered settings.** Skip the per-user consent prompt for sign-in targets, inference endpoints, helper scripts, and connectors the bootstrap server delivers. +**Trust bootstrap-delivered settings.** Skip the per-user consent prompt for sign-in settings, inference endpoints, helper scripts, and connectors the bootstrap server delivers. *** diff --git a/content/claude/third-party/claude-desktop/chat.md b/content/claude/third-party/claude-desktop/chat.md index aba9f7db0a..40910ab4ff 100644 --- a/content/claude/third-party/claude-desktop/chat.md +++ b/content/claude/third-party/claude-desktop/chat.md @@ -8,9 +8,9 @@ > [!NOTE] > -> When [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) is on, a message sent from the home screen starts a Cowork session where Cowork is on and the device can run it. From November 10, 2026, unless an [exception](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#enabling-unified-claude) applies, Unified Claude is on by default. +> When [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) is on, a message sent from the home screen starts a Cowork session on a device that can run Cowork. From November 10, 2026, Unified Claude is [on by default](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#enabling-unified-claude). Cowork is then on too, even where you turned Cowork off. -Chat in Claude Desktop on third-party (3P) is a conversational surface for quick questions and drafting. Unlike [Cowork](https://claude.com/docs/cowork/overview.md) and [Code](https://claude.com/docs/third-party/claude-desktop/code.md), which run agentic sessions with access to folders you grant and a code-execution environment, a Chat conversation runs with a deliberately small tool surface: it can search and fetch the web under your admin configuration, read files attached to the conversation, read and update the project's memory and read the files in the project's folders when the conversation is inside a project, write files into a scratch space of its own, and use skills from the plugins you provision, and nothing else on the machine. While Unified Claude is off, Chat is off by default and is enabled with a single configuration key. +Chat in Claude Desktop on third-party (3P) is a conversational surface for quick questions and drafting. Unlike [Cowork](https://claude.com/docs/cowork/overview.md) and [Code](https://claude.com/docs/third-party/claude-desktop/code.md), which run agentic sessions with access to folders you grant and a code-execution environment, a Chat conversation runs with a deliberately small tool surface: it can search and fetch the web under your admin configuration, read files attached to the conversation, read and update the project's memory and read the files in the project's folders when the conversation is inside a project, write files into a scratch space of its own, and use skills from the plugins you provision, and nothing else on the machine. While `desktopHome` is unset and Unified Claude is off, Chat is off by default and is enabled with a single configuration key. Chat conversations run against your configured inference provider, and their history is stored on the user's device. See [User identity and local data](https://claude.com/docs/third-party/claude-desktop/data-storage.md#chat-conversations) for exactly what is written where and what can leave the device. @@ -81,7 +81,7 @@ Commands that Claude runs in the advanced file analysis sandbox can reach the ho > By default, commands in the sandbox run without an approval prompt. A command can upload anything the sandbox can read to a listed host, and can run what it downloads from one. [Web fetch](https://claude.com/docs/third-party/claude-desktop/web-tools.md#web-fetch) in Chat uses the same list, so a host you list for web fetch is also open to sandbox commands. With `"*"` in the list, network filtering in the sandbox is off, so commands can reach any host. > > * **To have Claude ask before each command**, set `"Bash"` to `"ask"` in [`builtinToolPolicy`](https://claude.com/docs/third-party/claude-desktop/configuration#builtintoolpolicy). That policy also applies to Cowork and Code sessions. -> * **To keep web fetch but turn off sandbox commands**, set [`chatAdvancedFileAnalysisEnabled`](#configuration) to `false`. While Unified Claude and Cowork are on, Claude Desktop ignores that key, so add `"Bash"` to [`disabledBuiltinTools`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledbuiltintools) instead. With that entry, Claude also can't run commands with its shell tool in Cowork or Code sessions, including the Cowork sessions that users start from the [home screen](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#what-users-see-with-unified-claude). +> * **To keep web fetch but turn off sandbox commands**, set [`chatAdvancedFileAnalysisEnabled`](#configuration) to `false`. While Unified Claude is on, Claude Desktop ignores that key, so add `"Bash"` to [`disabledBuiltinTools`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledbuiltintools) instead. With that entry, Claude also can't run commands with its shell tool in Cowork or Code sessions, including the Cowork sessions that users start from the [home screen](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#what-users-see-with-unified-claude). > [!NOTE] > @@ -91,20 +91,20 @@ Commands that Claude runs in the advanced file analysis sandbox can reach the ho | Key | Default | Effect | | - | - | - | -| [`chatTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chattabenabled) | off | Makes Chat available. While Unified Claude is off, Chat is opt-in: it appears in the app only when this key is explicitly `true`. | +| [`chatTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chattabenabled) | off | Makes Chat available. While `desktopHome` is unset and Unified Claude is off, Chat is opt-in: it appears in the app only when this key is explicitly `true`. | | [`chatAdvancedFileAnalysisEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chatadvancedfileanalysisenabled) | off | Allows code execution in the sandbox described under [Advanced file analysis](#advanced-file-analysis), on attached files and, inside a project, on files in the project's folders. Has no effect unless Chat is enabled. | -While the `desktopHome` key for [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#how-unified-claude-interacts-with-chat-and-cowork-settings) has a value, Claude Desktop ignores `chatTabEnabled`, `chatAdvancedFileAnalysisEnabled`, and `coworkTabEnabled`. +Claude Desktop ignores `chatTabEnabled`, `chatAdvancedFileAnalysisEnabled`, and `coworkTabEnabled` while the `desktopHome` key for [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#how-unified-claude-interacts-with-chat-and-cowork-settings) has a value, including `off`. It also ignores them while Unified Claude is [on by default](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#enabling-unified-claude). With the value `off`, Chat and Cowork are off. -While Unified Claude is off, the layout follows `chatTabEnabled`. When the key is `true`, Claude Desktop presents Chat and Cowork together as **Home** in its sidebar, next to **Code**. From Home, the user chooses **Chat** or **Cowork** in the message box, and the sidebar lists chats and tasks together. When the key is unset or `false`, the sidebar shows **Cowork** in place of Home and the message box offers no choice. If [`coworkTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#coworktabenabled) is `false` while Chat is enabled, the message box offers Chat only. +While `desktopHome` is unset and Unified Claude is off, the layout follows `chatTabEnabled`. When the key is `true`, Claude Desktop presents Chat and Cowork together as **Home** in its sidebar, next to **Code**. From Home, the user chooses **Chat** or **Cowork** in the message box, and the sidebar lists chats and tasks together. When the key is unset or `false`, the sidebar shows **Cowork** in place of Home and the message box offers no choice. If [`coworkTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#coworktabenabled) is `false` while Chat is enabled, the message box offers Chat only. > [!NOTE] > > This layout applies to Claude Desktop 1.26832.0 and later. Earlier versions show **Chat** (when enabled), **Cowork**, and **Code** as separate tabs, controlled by the same keys. -While Unified Claude is off, enforcement of `chatTabEnabled` happens in the app's main process: when the key is unset or `false`, Chat does not appear in the app, and the app additionally refuses to start or continue a Chat conversation, including conversations created before an admin turned the key off. +While `desktopHome` is unset and Unified Claude is off, the app's main process enforces `chatTabEnabled`. When the key is unset or `false`, Chat doesn't appear in the app. The app also refuses to start or continue a Chat conversation, including conversations created before an admin turned the key off. -The rule that at least one surface must stay enabled counts Chat only when `chatTabEnabled` is explicitly `true`: a configuration that disables Cowork and Code without enabling Chat re-enables Cowork with a validation warning, rather than leaving users with an empty app. +While `desktopHome` is unset and Unified Claude is off, at least one surface must stay on, and Chat counts toward that only when `chatTabEnabled` is explicitly `true`. Under that rule, if a configuration turns off Cowork and Code without turning on Chat, Claude Desktop turns Cowork back on, with a validation warning. ## Where Chat data lives diff --git a/content/claude/third-party/claude-desktop/code.md b/content/claude/third-party/claude-desktop/code.md index a872efcb4f..3d98ff9827 100644 --- a/content/claude/third-party/claude-desktop/code.md +++ b/content/claude/third-party/claude-desktop/code.md @@ -47,7 +47,7 @@ These keys are translated into Claude Code [managed settings](https://code.claud | `coworkEgressAllowedHosts` | A network sandbox restricted to your hosts, `allowManagedDomainsOnly`, and `WebFetch` allow rules for the same hosts, which [don't block other hosts](https://claude.com/docs/third-party/claude-desktop/web-tools.md#how-the-egress-allowlist-applies-in-code-sessions). Claude Code's own inference and telemetry connections run outside the sandbox. A shell command or [HTTP hook](https://code.claude.com/docs/en/hooks#http-hook-fields) that calls your inference provider, `api.anthropic.com`, or your OTLP collector needs that host in the list. | | `allowedWorkspaceFolders` | A filesystem sandbox for shell commands, which can then create or change files only inside your allowed roots and the session's temporary locations. Those commands can still read files outside the roots, except where `blockReadsOutsideWorkingDirectories` or a [`Read(…)` rule](#file-path-rules-and-shell-commands) hides them. The roots are also passed as `additionalDirectories` at launch, which is always applied independent of managed-settings precedence, and the app keeps Claude's file tools inside the roots. The app also refuses to start a Code session outside an allowed root. | | `blockReadsOutsideWorkingDirectories` | Claude Code's `permissions.blockReadsOutsideWorkingDirectories` for Code sessions. Claude's file tools refuse to read outside the working directories (the session's folder plus your allowed roots, if any) in every permission mode. Where the sandbox from `allowedWorkspaceFolders` or `coworkEgressAllowedHosts` is running, it also hides the user's home directory and similar locations, such as other users' home folders and mounted volumes, from shell commands, so a sandboxed command that reads there fails without a prompt. Without a running sandbox, a shell command that reads outside the working directories, or that Claude Code cannot analyze, asks the user for approval first, even in bypass permissions mode. The key requires Claude Desktop 1.46388.1 or later. The block takes effect only in sessions that run Claude Code v2.1.257 or later; if the app cannot install its current Claude Code engine and a session runs one older than v2.1.257 that is still on the device, that session runs without the block and the app logs a warning. | -| `managedMcpServers` | `strictPluginOnlyCustomization` set to `["mcp"]`, so the Code session does not load MCP servers that users define on Claude Code's side (`~/.claude.json`, a project's `.mcp.json`, or `claude mcp add`); your managed servers, which the app connects and supplies to the session itself, and MCP servers bundled in plugins still load. Per-tool `toolPolicy` values on each server are emitted as `permissions.deny` (for `blocked`) or `permissions.ask` (for `ask`) rules against the corresponding `mcp____` names. | +| `managedMcpServers` | `strictPluginOnlyCustomization` set to `["mcp"]`, so the Code session does not load MCP servers that users define on Claude Code's side (`~/.claude.json`, a project's `.mcp.json`, or `claude mcp add`); your managed servers, which the app connects and supplies to the session itself, and MCP servers bundled in plugins still load. Per-tool [`toolPolicy`](https://claude.com/docs/third-party/claude-desktop/configuration#tool-permissions-for-managed-mcp-servers) values on each server are emitted as `permissions.deny` (for `blocked`) or `permissions.ask` (for `ask`) rules against the corresponding `mcp____` names. In local Code sessions and Code sessions on an SSH host, `allow` doesn't pre-approve the tool. | | `isLocalDevMcpEnabled` | When `false` and `allowedPluginMcpServers` is unset, an `allowedMcpServers` list that admits only remote servers, with `allowManagedMcpServersOnly`, whether or not `managedMcpServers` is set. The Code session refuses local (stdio) servers bundled in plugins from marketplaces or that users install themselves, and local servers that users define on Claude Code's side (`~/.claude.json`, a project's `.mcp.json`, or `claude mcp add`). Those plugins' remote servers still connect. Your managed servers and the servers from the organization plugins directory, which the app connects and supplies to the session itself, aren't subject to the list. | | `allowedPluginMcpServers` | `strictPluginOnlyCustomization` set to `["mcp"]` together with an `allowedMcpServers` list holding your entries and `allowManagedMcpServersOnly`, whether or not `managedMcpServers` is set. MCP servers bundled in plugins from marketplaces, or in plugins users install themselves, connect only when their URL matches an entry; no such plugin's local (stdio) server is admitted, and an empty list admits none. Your managed servers and the servers from the organization plugins directory still load. | | `deniedPluginMcpServers` | The app sets a `deniedMcpServers` list holding your entries, whether or not `allowedPluginMcpServers` is set. When the key is unset or its list is empty, the app sets no `deniedMcpServers` list. When the value is not a list, or holds an entry that the app can't read, the app sets a list whose one entry is `*`, a pattern that matches every URL. See the [`deniedPluginMcpServers` reference](https://claude.com/docs/third-party/claude-desktop/configuration#deniedpluginmcpservers) for what the setting does and what an entry matches. | @@ -99,7 +99,6 @@ In [**Auto mode**](https://claude.com/docs/third-party/claude-desktop/configurat * **Cowork sessions** read the managed settings on the device, and never read [server-managed settings](https://code.claude.com/docs/en/server-managed-settings). * **Local Code sessions** read the managed settings on the device too, unless server-managed settings or [a Claude apps gateway's `code` settings](https://code.claude.com/docs/en/claude-apps-gateway-config#apply-code-settings-in-the-code-tab) [take priority](https://code.claude.com/docs/en/managed-settings#how-claude-code-combines-managed-sources). They also read `autoMode` entries from the user's own `~/.claude/settings.json`, which Cowork sessions don't read. * **For Code sessions on an SSH host**, see [Managed configuration on the remote host](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md#managed-configuration-on-the-remote-host). -* **For a self-hosted install**, see [Configuration on a self-hosted install](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#configuration-on-a-self-hosted-install). For example, on a device with no other Claude Code managed settings, deploy this file to describe an internal service and add one allow rule: diff --git a/content/claude/third-party/claude-desktop/configuration-changelog.md b/content/claude/third-party/claude-desktop/configuration-changelog.md index 358325b6ce..e9054a750c 100644 --- a/content/claude/third-party/claude-desktop/configuration-changelog.md +++ b/content/claude/third-party/claude-desktop/configuration-changelog.md @@ -8,6 +8,37 @@ Configuration keys by Claude Desktop release. Each section lists keys added in that release, with the MDM key name (for plist/registry deployment) and the equivalent JSON shape (for local-file or bootstrap remote configuration). +**v4.4212.0** + +2026-10-29 + +| MDM key | Type | Description | +| - | - | - | +| [`skillScanningEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#skillscanningenabled) · Beta | `boolean` | Scan user-created skills | +| [`projectsEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#projectsenabled) | `boolean` | Allow projects | +| [`sessionStatusLine`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionstatusline) | `object` | Status line | + +**JSON (e.g. for non-MDM users or Bootstrap):** + +```json theme={null} +{ + "workspace": { + "skillScanningEnabled": "", + "projectsEnabled": "" + }, + "appearance": { + "sessionStatusLine": { + "command": "" + } + } +} +``` + +**Changed:** + +* **Breaking:** `desktopHome`: at launches after 12:00 PM PT (20:00 UTC) on November 10, 2026, an unset key reads as `standard`: Unified Claude opens with Cowork on, even where `coworkTabEnabled` is `false`. In 4.29, an unset key did so only where Cowork was on. `chatTabEnabled` and `chatAdvancedFileAnalysisEnabled` have no effect under `standard`. +* `sshClientPath`: on Windows, a value may begin with `%LOCALAPPDATA%\`, which the app reads as the signed-in user's own local app data folder. It counts only when machine-wide policy (HKLM) itself sets it as a plain string (REG\_SZ), with `sshTransport: system-openssh` set by an administrator, and only while Claude does not run with administrator rights. Otherwise SSH sessions do not connect. Where a configuration server is in use, it must repeat this value and `sshTransport`, or the device's values are not used. The user can replace a program in that folder, so with such a value that user can get around this key and `sshHostAllowlist`, and the program can see SSH passwords. + **v4.29.0** 2026-10-27 @@ -28,7 +59,7 @@ Configuration keys by Claude Desktop release. Each section lists keys added in t **Changed:** -* `desktopHome`: from November 10, 2026 (12:00 PM PT, by the device's clock), an unset key opens Unified Claude at the app's next launch. With Cowork on, Chat and Advanced file analysis come on too, even if `chatTabEnabled` or `chatAdvancedFileAnalysisEnabled` is `false`. A deployment with Cowork on that sets `chatSessionRetentionDays`, and does not set `coworkSessionRetentionDays` to the same number of days, keeps its current view. Earlier releases are unchanged. +* `desktopHome`: from November 10, 2026 (12:00 PM PT, by the device's clock), an unset key opens Unified Claude at the app's next launch. With Cowork on, it reads as `standard`, under which `chatTabEnabled` and `chatAdvancedFileAnalysisEnabled` have no effect. A deployment with Cowork on that sets `chatSessionRetentionDays`, and does not set `coworkSessionRetentionDays` to the same number of days, keeps its current view. Earlier releases are unchanged. * `inferenceModels`: an entry accepts `behavesAs`, the Claude model behind a Model ID that Claude Desktop cannot identify, such as a gateway alias. The ID then gets that model's effort levels and limits. Once any entry sets it, sessions that Claude Desktop starts no longer read a person's own `modelPicker` setting from Claude Code's settings. * `managedMcpServers`: a remote entry accepts `defaultState`. Set it to `"off"` and the connector stays out of each person's sessions until they turn it on under Connectors in the + menu. Adding `"off"` to a connector in use turns it off for everyone who has not switched it on. * `managedMcpServers`: a remote entry's `oauth` accepts `omitResource`. Set it to `true` when the identity provider rejects the OAuth `resource` parameter (Microsoft Entra ID: AADSTS9010010). It needs the entry's client ID, a scope that names the API, and exactly one sign-in server: a tenant ID, one authorization server, or an authorization URL and token URL. Otherwise the server is not loaded. diff --git a/content/claude/third-party/claude-desktop/configuration-format.md b/content/claude/third-party/claude-desktop/configuration-format.md index d20059201f..c80a5413bf 100644 --- a/content/claude/third-party/claude-desktop/configuration-format.md +++ b/content/claude/third-party/claude-desktop/configuration-format.md @@ -6,7 +6,7 @@ > Compare where Claude Desktop on 3P reads configuration in each kind of deployment, and write values for a profile, the registry, or the Linux file -You configure Claude Desktop on third-party (3P) with the keys in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md) in every kind of deployment, but where you set them, how they reach the app, and how you write their values differ between a device's own configuration, the Enterprise Admin Console, and a self-hosted install. +You configure Claude Desktop on third-party (3P) with the keys in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md) in every kind of deployment, but where you set them, how they reach the app, and how you write their values differ between a device's own configuration and the Enterprise Admin Console. > [!NOTE] > @@ -16,13 +16,13 @@ You configure Claude Desktop on third-party (3P) with the keys in the [configura Each kind of deployment stores and delivers the configuration differently. -| | [Configuration on the device](#configuration-on-the-device) | [Enterprise Admin Console](#configuration-from-the-enterprise-admin-console) | [Self-hosted install](#configuration-on-a-self-hosted-install) | -| - | - | - | - | -| Where the configuration lives | In an MDM profile or registry policy, in the local configuration file, or on a bootstrap server that the device points to | In your organization's settings on claude.ai, which Anthropic hosts | Keys labeled **Server side** live in the document your session host reads. Keys labeled **MDM profile** live in Claude Desktop's own configuration on the device | -| How it reaches the app | The app reads it at launch, or fetches it from your bootstrap server. Users don't sign in to a Claude account | Each user signs in with their work account, and the app downloads the settings that apply to them | Sessions run on a session host your organization operates, which applies a **Server side** key itself or passes it on to Claude Desktop. Claude Desktop reads keys labeled **MDM profile** from the device, as on any device | -| What an MDM profile does | Carries the full configuration, or the bootstrap keys | You don't need one. A profile on the device can still decide some settings, or keep the device off the console. See [What an MDM profile does alongside the Enterprise Admin Console](#what-an-mdm-profile-does-alongside-the-enterprise-admin-console) | Usually names the session host, and carries the keys labeled **MDM profile**. See [What an MDM profile does on a self-hosted install](#what-an-mdm-profile-does-on-a-self-hosted-install) | -| How you write values | Strings in a macOS profile or the Windows registry. JSON in the Linux file or a bootstrap response | Fields on the console's pages, or JSON in an imported file or an Admin API request | As on any device, for keys labeled **MDM profile**. See [Value types in a profile or registry policy](#value-types-in-a-profile-or-registry-policy) | -| Where to go next | [Deploy with MDM](https://claude.com/docs/third-party/claude-desktop/mdm.md), [Deploy with a bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) | [Deploy with Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) | [Keys that work on a self-hosted install](https://claude.com/docs/third-party/claude-desktop/configuration.md?works-with=self-hosted) | +| | [Configuration on the device](#configuration-on-the-device) | [Enterprise Admin Console](#configuration-from-the-enterprise-admin-console) | +| - | - | - | +| Where the configuration lives | In an MDM profile or registry policy, in the local configuration file, or on a bootstrap server that the device points to | In your organization's settings on claude.ai, which Anthropic hosts | +| How it reaches the app | The app reads it at launch, or fetches it from your bootstrap server. Users don't sign in to a Claude account | Each user signs in with their work account, and the app downloads the settings that apply to them | +| What an MDM profile does | Carries the full configuration, or the bootstrap keys | You don't need one. A profile on the device can still decide some settings, or keep the device off the console. See [What an MDM profile does alongside the Enterprise Admin Console](#what-an-mdm-profile-does-alongside-the-enterprise-admin-console) | +| How you write values | Strings in a macOS profile or the Windows registry. JSON in the Linux file or a bootstrap response | Fields on the console's pages, or JSON in an imported file or an Admin API request | +| Where to go next | [Deploy with MDM](https://claude.com/docs/third-party/claude-desktop/mdm.md), [Deploy with a bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) | [Deploy with Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) | ## Configuration on the device @@ -126,36 +126,3 @@ From the [Enterprise Admin Console](https://claude.com/docs/third-party/claude-d * **Any other key**: the device uses the profile's configuration until its user moves the device to the console's configuration by signing in, which requires Claude Desktop 2.37337.0 or later. With `forceLoginOrgUUID` set to your organization's ID, the user can move the device only to your organization's configuration. After the move, the app still takes a few keys from the profile, for example the network proxy keys. Other settings come from the console, and the profile's values don't apply even where the console leaves a setting unset. [Which settings apply on a device with a managed profile](https://claude.com/docs/third-party/claude-desktop/admin-console.md#which-settings-apply-on-a-device-with-a-managed-profile) lists the keys that the app takes from the profile, and [Keep a device on its managed profile](https://claude.com/docs/third-party/claude-desktop/admin-console.md#keep-a-device-on-its-managed-profile) covers the keys that prevent or limit the move. - -## Configuration on a self-hosted install - -On a self-hosted install, sessions run on a session host that your organization operates and not on the person's device. Each key's label in the reference says which place in the following table counts for it. - -| Place | Label of its keys in the reference | Who acts on the key | -| - | - | - | -| The document your session host reads | **Server side** | The session host. It applies the key itself, or passes it on to Claude Desktop, which applies it in its own windows or on the person's device. | -| Claude Desktop's own configuration on the device: an MDM profile, the local file, or a bootstrap server that configuration names | **MDM profile** | Claude Desktop, by the same rules as [configuration on the device](#which-configuration-source-applies-on-a-device). The session host ignores the key. | -| The session host's own configuration | **Not supported**, for the matching keys | Whoever runs the host sets the host's route to the model, and names your telemetry collector's address, protocol, and headers in the host's own configuration. | - -An MDM profile that sets only [app-behavior keys](https://claude.com/docs/third-party/claude-desktop/mdm.md#update-keys-and-managed-precedence) decides all of those keys itself, whatever their label. Outside that case, nothing acts on a key labeled **Not supported**, wherever you set it. - -The label is what the current Claude Desktop release declares. On that release, a session host acts on a **Server side** key only from the host version that reads it. Until then, unless an MDM profile sets only app-behavior keys, nothing applies the key, and Claude Desktop doesn't fall back to a value set on the device. An earlier Claude Desktop release can still apply a value set on the device, so keep a restriction in the MDM profile as well until every device runs the current release. - -Each key's entry in the reference gives its label and a one-line reason. The [published schemas](https://claude.com/docs/third-party/claude-desktop/bootstrap.md#response-schema) carry the self-hosted word (`server`, `reported`, `client`, or `none`) and its reason in `x-selfHosted` for each key they list. The [legend for the self-hosted labels](https://claude.com/docs/third-party/claude-desktop/configuration.md#self-hosted-column) defines the labels and maps each word to its label. - -### What an MDM profile does on a self-hosted install - -The MDM profile usually names the session host, and carries the keys labeled **MDM profile**. Each of those keys is about the person's device, as its reason in the reference says. For example: - -* **Sign-in to the session host**: on a self-hosted install [`inferenceCredentialKind`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencecredentialkind) names the device's sign-in to the host, never the host's model credential, and [`inferenceIdpOidc`](https://claude.com/docs/third-party/claude-desktop/configuration#inferenceidpoidc) configures the sign-in that the device reuses for the host. -* **The device's network proxy**: [`egressProxyUrl`](https://claude.com/docs/third-party/claude-desktop/configuration#egressproxyurl) and [`egressProxyPacUrl`](https://claude.com/docs/third-party/claude-desktop/configuration#egressproxypacurl). -* **Telemetry and updates**: [`disableEssentialTelemetry`](https://claude.com/docs/third-party/claude-desktop/configuration#disableessentialtelemetry) and [`disableAutoUpdates`](https://claude.com/docs/third-party/claude-desktop/configuration#disableautoupdates). - -Write each value in the profile as [Value types in a profile or registry policy](#value-types-in-a-profile-or-registry-policy) describes. - -### When a change takes effect on a self-hosted install - -* **A key in the session host's document**: the host refreshes its own copy at least every [`configRecheckIntervalMinutes`](https://claude.com/docs/third-party/claude-desktop/configuration#configrecheckintervalminutes) (10 minutes by default) and tells Claude Desktop how often to ask it again. -* **A key on the device**: as on any device. The re-check interval and the restart window are themselves **Server side** keys, so the session host's document sets them, unless an MDM profile sets only app-behavior keys. See [When a configuration change on a device takes effect](#when-a-configuration-change-on-a-device-takes-effect). - -A value that the session host delivers for a field labeled **Consent required** applies after the user approves it. Where machine-scoped device management set the host's address, the value applies without a prompt. [`trustBootstrapDelivery`](https://claude.com/docs/third-party/claude-desktop/configuration#trustbootstrapdelivery) covers what a bootstrap server delivers, not what a session host delivers. diff --git a/content/claude/third-party/claude-desktop/configuration.md b/content/claude/third-party/claude-desktop/configuration.md index 5dcd0e1856..f01a2a0d0f 100644 --- a/content/claude/third-party/claude-desktop/configuration.md +++ b/content/claude/third-party/claude-desktop/configuration.md @@ -9,27 +9,27 @@ | Key | Name in the app | Category | Works with (Unless a label in its entry says otherwise, a key can be set in an MDM profile or the local configuration file, or returned from a bootstrap server. A badge marks another kind of deployment that the key also works with.) | | - | - | - | - | | [`inferenceProvider`](#inferenceprovider) | Inference provider | Connection | Admin Console | -| [`inferenceCredentialKind`](#inferencecredentialkind) | Credential kind | Connection | Self-hosted Admin Console | +| [`inferenceCredentialKind`](#inferencecredentialkind) | Credential kind | Connection | Admin Console | | [`inferenceSessionLifetimeSec`](#inferencesessionlifetimesec) | Sign-in session lifetime | Connection | Admin Console | | [`userContentRendererUrl`](#usercontentrendererurl) | Artifact preview iframe origin | Connection | Admin Console | -| [`inferenceCustomHeaders`](#inferencecustomheaders) | Custom inference headers | Connection | Self-hosted Admin Console | -| [`inferenceCredentialHelper`](#inferencecredentialhelper) | Helper script | Connection | Self-hosted Admin Console | -| [`inferenceCredentialHelperWindows`](#inferencecredentialhelperwindows) | Helper script (Windows) | Connection | Self-hosted Admin Console | -| [`inferenceCredentialHelperArgs`](#inferencecredentialhelperargs) | Helper script arguments | Connection | Self-hosted Admin Console | -| [`inferenceCredentialHelperTtlSec`](#inferencecredentialhelperttlsec) | Helper script TTL | Connection | Self-hosted Admin Console | -| [`inferenceCredentialHelperTimeoutSec`](#inferencecredentialhelpertimeoutsec) | Credential helper timeout | Connection | Self-hosted Admin Console | -| [`inferenceCredentialHelperSilentRefreshEnabled`](#inferencecredentialhelpersilentrefreshenabled) | Re-run helper for silent refresh | Connection | Self-hosted Admin Console | -| [`egressProxyUrl`](#egressproxyurl) | Proxy server URL | Connection | Self-hosted | -| [`egressProxyPacUrl`](#egressproxypacurl) | Proxy auto-config (PAC) URL | Connection | Self-hosted | +| [`inferenceCustomHeaders`](#inferencecustomheaders) | Custom inference headers | Connection | Admin Console | +| [`inferenceCredentialHelper`](#inferencecredentialhelper) | Helper script | Connection | Admin Console | +| [`inferenceCredentialHelperWindows`](#inferencecredentialhelperwindows) | Helper script (Windows) | Connection | Admin Console | +| [`inferenceCredentialHelperArgs`](#inferencecredentialhelperargs) | Helper script arguments | Connection | Admin Console | +| [`inferenceCredentialHelperTtlSec`](#inferencecredentialhelperttlsec) | Helper script TTL | Connection | Admin Console | +| [`inferenceCredentialHelperTimeoutSec`](#inferencecredentialhelpertimeoutsec) | Credential helper timeout | Connection | Admin Console | +| [`inferenceCredentialHelperSilentRefreshEnabled`](#inferencecredentialhelpersilentrefreshenabled) | Re-run helper for silent refresh | Connection | Admin Console | +| [`egressProxyUrl`](#egressproxyurl) | Proxy server URL | Connection | | +| [`egressProxyPacUrl`](#egressproxypacurl) | Proxy auto-config (PAC) URL | Connection | | | [`coworkVmIpv6Enabled`](#coworkvmipv6enabled) | Enable IPv6 in the workspace VM | Connection | Admin Console | | [`inferenceGatewayBaseUrl`](#inferencegatewaybaseurl) | Gateway base URL | Connection | Admin Console | | [`inferenceGatewayApiKey`](#inferencegatewayapikey) | Gateway API key | Connection | | | [`inferenceGatewayAuthScheme`](#inferencegatewayauthscheme) | Gateway auth scheme | Connection | Admin Console | | [`inferenceGatewayOidcAuthFlow`](#inferencegatewayoidcauthflow) | Gateway sign-in flow | Connection | Admin Console | | [`inferenceGatewayOidc`](#inferencegatewayoidc) | Gateway SSO IdP (OIDC) | Connection | Admin Console | -| [`inferenceIdpAuthFlow`](#inferenceidpauthflow) | Identity provider sign-in flow | Connection | Self-hosted Admin Console | -| [`inferenceIdpOidc`](#inferenceidpoidc) | Identity provider (OIDC) | Connection | Self-hosted Admin Console | -| [`inferenceStreamIdleTimeoutSec`](#inferencestreamidletimeoutsec) | Stream idle timeout | Connection | Self-hosted Admin Console | +| [`inferenceIdpAuthFlow`](#inferenceidpauthflow) | Identity provider sign-in flow | Connection | Admin Console | +| [`inferenceIdpOidc`](#inferenceidpoidc) | Identity provider (OIDC) | Connection | Admin Console | +| [`inferenceStreamIdleTimeoutSec`](#inferencestreamidletimeoutsec) | Stream idle timeout | Connection | Admin Console | | [`inferenceAnthropicApiKey`](#inferenceanthropicapikey) | Claude API key | Connection | | | [`inferenceBedrockRegion`](#inferencebedrockregion) | AWS region | Connection | Admin Console | | [`inferenceBedrockBaseUrl`](#inferencebedrockbaseurl) | Bedrock base URL | Connection | Admin Console | @@ -61,106 +61,109 @@ | [`inferenceFoundryClientId`](#inferencefoundryclientid) | Entra ID client ID | Connection | Admin Console | | [`inferenceFoundryAuthFlow`](#inferencefoundryauthflow) | Entra ID sign-in flow | Connection | Admin Console | | [`modelDiscoveryEnabled`](#modeldiscoveryenabled) | Model discovery | Connection | Admin Console | -| [`modelPrefer1mContext`](#modelprefer1mcontext) | Use 1M wherever it’s available | Connection | Self-hosted Admin Console | -| [`inferenceModels`](#inferencemodels) | Model list | Connection | Self-hosted Admin Console | -| [`defaultModelEffort`](#defaultmodeleffort) | Default model effort | Connection | Self-hosted Admin Console | -| [`alwaysStartWithDefaultModel`](#alwaysstartwithdefaultmodel) | Always start with the default model | Connection | Self-hosted Admin Console | -| [`inferenceModelPricingEnabled`](#inferencemodelpricingenabled) | Show estimated cost | Connection | Self-hosted Admin Console | -| [`inferenceModelPricingMultiplier`](#inferencemodelpricingmultiplier) | Price multiplier | Connection | Self-hosted Admin Console | -| [`inferenceModelPricing`](#inferencemodelpricing) | Model pricing | Connection | Self-hosted Admin Console | -| [`modelCatalogEnabled`](#modelcatalogenabled) | Model catalog metadata | Connection | Self-hosted | -| [`modelCatalogUrl`](#modelcatalogurl) | Model catalog URL | Connection | Self-hosted | +| [`modelPrefer1mContext`](#modelprefer1mcontext) | Use 1M wherever it’s available | Connection | Admin Console | +| [`inferenceModels`](#inferencemodels) | Model list | Connection | Admin Console | +| [`defaultModelEffort`](#defaultmodeleffort) | Default model effort | Connection | Admin Console | +| [`alwaysStartWithDefaultModel`](#alwaysstartwithdefaultmodel) | Always start with the default model | Connection | Admin Console | +| [`inferenceModelPricingEnabled`](#inferencemodelpricingenabled) | Show estimated cost | Connection | Admin Console | +| [`inferenceModelPricingMultiplier`](#inferencemodelpricingmultiplier) | Price multiplier | Connection | Admin Console | +| [`inferenceModelPricing`](#inferencemodelpricing) | Model pricing | Connection | Admin Console | +| [`modelCatalogEnabled`](#modelcatalogenabled) | Model catalog metadata | Connection | | +| [`modelCatalogUrl`](#modelcatalogurl) | Model catalog URL | Connection | | | [`coworkTabEnabled`](#coworktabenabled) | Allow Cowork | Capabilities | Admin Console | -| [`isClaudeCodeForDesktopEnabled`](#isclaudecodefordesktopenabled) | Allow Code | Capabilities | Self-hosted Admin Console | +| [`isClaudeCodeForDesktopEnabled`](#isclaudecodefordesktopenabled) | Allow Code | Capabilities | Admin Console | | [`sshHostAllowlist`](#sshhostallowlist) | SSH host allowlist | Capabilities | Admin Console | | [`sshClientPath`](#sshclientpath) | SSH client program | Capabilities | Admin Console | | [`sshTransport`](#sshtransport) | SSH connection engine | Capabilities | Admin Console | | [`chatTabEnabled`](#chattabenabled) | Allow Chat | Capabilities | Admin Console | -| [`desktopHome`](#desktophome) | Desktop home | Capabilities | Self-hosted Admin Console | +| [`desktopHome`](#desktophome) | Desktop home | Capabilities | Admin Console | | [`chatAdvancedFileAnalysisEnabled`](#chatadvancedfileanalysisenabled) | Advanced file analysis | Capabilities | Admin Console | -| [`coworkEgressAllowedHosts`](#coworkegressallowedhosts) | Allowed egress hosts | Capabilities | Self-hosted Admin Console | -| [`allowedWorkspaceFolders`](#allowedworkspacefolders) | Allowed workspace folders | Capabilities | Self-hosted Admin Console | -| [`blockReadsOutsideWorkingDirectories`](#blockreadsoutsideworkingdirectories) | Block reads outside working directories | Capabilities | Self-hosted Admin Console | -| [`autoModeEnabled`](#automodeenabled) | Allow Auto mode | Capabilities | Self-hosted Admin Console | +| [`coworkEgressAllowedHosts`](#coworkegressallowedhosts) | Allowed egress hosts | Capabilities | Admin Console | +| [`allowedWorkspaceFolders`](#allowedworkspacefolders) | Allowed workspace folders | Capabilities | Admin Console | +| [`blockReadsOutsideWorkingDirectories`](#blockreadsoutsideworkingdirectories) | Block reads outside working directories | Capabilities | Admin Console | +| [`autoModeEnabled`](#automodeenabled) | Allow Auto mode | Capabilities | Admin Console | | [`disableBypassPermissionsMode`](#disablebypasspermissionsmode) | Disable bypass permissions mode | Capabilities | Admin Console | -| [`disableBundledSkills`](#disablebundledskills) | Disable bundled skills and workflows | Capabilities | Self-hosted Admin Console | -| [`skillCreationEnabled`](#skillcreationenabled) | Allow user-created skills | Capabilities | Self-hosted Admin Console | -| [`userPluginMarketplacesEnabled`](#userpluginmarketplacesenabled) | Allow user-added plugin marketplaces | Capabilities | Self-hosted Admin Console | -| [`userPluginUploadsEnabled`](#userpluginuploadsenabled) | Allow user-added plugins | Capabilities | Self-hosted Admin Console | -| [`scheduledTasksEnabled`](#scheduledtasksenabled) | Allow scheduled tasks | Capabilities | Self-hosted Admin Console | -| [`keepAwakeEnabled`](#keepawakeenabled) | Allow keep awake | Capabilities | Self-hosted Admin Console | -| [`developerModeEnabled`](#developermodeenabled) | Allow Developer Mode | Capabilities | Self-hosted Admin Console | -| [`quickEntryDefaultShortcut`](#quickentrydefaultshortcut) | Default Quick Entry shortcut | Capabilities | Self-hosted Admin Console | -| [`quickEntryScreenshotsEnabled`](#quickentryscreenshotsenabled) | Allow screenshots of the screen and other apps | Capabilities | Self-hosted Admin Console | -| [`quickEntryFileSharingEnabled`](#quickentryfilesharingenabled) | Allow sharing files open in other apps | Capabilities | Self-hosted Admin Console | +| [`disableBundledSkills`](#disablebundledskills) | Disable bundled skills and workflows | Capabilities | Admin Console | +| [`skillCreationEnabled`](#skillcreationenabled) | Allow user-created skills | Capabilities | Admin Console | +| [`skillScanningEnabled`](#skillscanningenabled) | Scan user-created skills | Capabilities | Admin Console | +| [`userPluginMarketplacesEnabled`](#userpluginmarketplacesenabled) | Allow user-added plugin marketplaces | Capabilities | Admin Console | +| [`userPluginUploadsEnabled`](#userpluginuploadsenabled) | Allow user-added plugins | Capabilities | Admin Console | +| [`scheduledTasksEnabled`](#scheduledtasksenabled) | Allow scheduled tasks | Capabilities | Admin Console | +| [`projectsEnabled`](#projectsenabled) | Allow projects | Capabilities | Admin Console | +| [`keepAwakeEnabled`](#keepawakeenabled) | Allow keep awake | Capabilities | Admin Console | +| [`developerModeEnabled`](#developermodeenabled) | Allow Developer Mode | Capabilities | Admin Console | +| [`quickEntryDefaultShortcut`](#quickentrydefaultshortcut) | Default Quick Entry shortcut | Capabilities | Admin Console | +| [`quickEntryScreenshotsEnabled`](#quickentryscreenshotsenabled) | Allow screenshots of the screen and other apps | Capabilities | Admin Console | +| [`quickEntryFileSharingEnabled`](#quickentryfilesharingenabled) | Allow sharing files open in other apps | Capabilities | Admin Console | | [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Skip WebFetch domain check | Capabilities | Admin Console | -| [`builtinToolPolicy`](#builtintoolpolicy) | Built-in tool policy | Capabilities | Self-hosted Admin Console | -| [`disabledBuiltinTools`](#disabledbuiltintools) | Disabled built-in tools | Capabilities | Self-hosted Admin Console | -| [`toolSearchEnabled`](#toolsearchenabled) | Enable tool search | Capabilities | Self-hosted Admin Console | -| [`organizationInstructions`](#organizationinstructions) | Organization instructions | Capabilities | Self-hosted Admin Console | +| [`builtinToolPolicy`](#builtintoolpolicy) | Built-in tool policy | Capabilities | Admin Console | +| [`disabledBuiltinTools`](#disabledbuiltintools) | Disabled built-in tools | Capabilities | Admin Console | +| [`toolSearchEnabled`](#toolsearchenabled) | Enable tool search | Capabilities | Admin Console | +| [`organizationInstructions`](#organizationinstructions) | Organization instructions | Capabilities | Admin Console | | [`requireCoworkFullVmSandbox`](#requirecoworkfullvmsandbox) | Require full VM sandbox | Capabilities | | -| [`disableDeploymentModeChooser`](#disabledeploymentmodechooser) | Disable Claude.ai sign-in | Capabilities | Self-hosted | -| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Disable claude:// deep-link handling | Capabilities | Self-hosted Admin Console | +| [`disableDeploymentModeChooser`](#disabledeploymentmodechooser) | Disable Claude.ai sign-in | Capabilities | | +| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Disable claude:// deep-link handling | Capabilities | Admin Console | | [`builtinBrowserEnabled`](#builtinbrowserenabled) | Allow the built-in browser | Capabilities | Admin Console | | [`builtinBrowserDefaultDomainPolicy`](#builtinbrowserdefaultdomainpolicy) | Default site policy in the built-in browser | Capabilities | Admin Console | | [`builtinBrowserAllowedDomains`](#builtinbrowseralloweddomains) | Allowed sites in the built-in browser | Capabilities | Admin Console | | [`builtinBrowserBlockedDomains`](#builtinbrowserblockeddomains) | Blocked sites in the built-in browser | Capabilities | Admin Console | -| [`claudeAiImport`](#claudeaiimport) | Claude.ai data import | Capabilities | Self-hosted Admin Console | -| [`managedMcpServers`](#managedmcpservers) | Managed MCP servers | Connectors | Self-hosted Admin Console | -| [`mcpPersistentAlwaysAllowEnabled`](#mcppersistentalwaysallowenabled) | Allow persistent tool approvals | Connectors | Self-hosted Admin Console | -| [`mcpScheduledTaskApprovalLifetimeDays`](#mcpscheduledtaskapprovallifetimedays) | Scheduled-task tool approval lifetime | Connectors | Self-hosted Admin Console | -| [`isLocalDevMcpEnabled`](#islocaldevmcpenabled) | Allow local MCP servers | Connectors | Self-hosted Admin Console | -| [`allowedPluginMcpServers`](#allowedpluginmcpservers) | Allowed plugin MCP servers | Connectors | Self-hosted Admin Console | -| [`deniedPluginMcpServers`](#deniedpluginmcpservers) | Blocked plugin MCP servers | Connectors | Self-hosted Admin Console | -| [`mcpToolTimeoutSec`](#mcptooltimeoutsec) | MCP tool call timeout | Connectors | Self-hosted Admin Console | +| [`claudeAiImport`](#claudeaiimport) | Claude.ai data import | Capabilities | Admin Console | +| [`managedMcpServers`](#managedmcpservers) | Managed MCP servers | Connectors | Admin Console | +| [`mcpPersistentAlwaysAllowEnabled`](#mcppersistentalwaysallowenabled) | Allow persistent tool approvals | Connectors | Admin Console | +| [`mcpScheduledTaskApprovalLifetimeDays`](#mcpscheduledtaskapprovallifetimedays) | Scheduled-task tool approval lifetime | Connectors | Admin Console | +| [`isLocalDevMcpEnabled`](#islocaldevmcpenabled) | Allow local MCP servers | Connectors | Admin Console | +| [`allowedPluginMcpServers`](#allowedpluginmcpservers) | Allowed plugin MCP servers | Connectors | Admin Console | +| [`deniedPluginMcpServers`](#deniedpluginmcpservers) | Blocked plugin MCP servers | Connectors | Admin Console | +| [`mcpToolTimeoutSec`](#mcptooltimeoutsec) | MCP tool call timeout | Connectors | Admin Console | | [`microsoftAuthBroker`](#microsoftauthbroker) | Microsoft 365 native sign-in broker | Connectors | Admin Console | | [`microsoftAuthDefaultAccount`](#microsoftauthdefaultaccount) | Microsoft 365 sign-in with the Windows account | Connectors | Admin Console | | [`isDesktopExtensionEnabled`](#isdesktopextensionenabled) | Allow desktop extensions | Connectors | Admin Console | | [`isDesktopExtensionSignatureRequired`](#isdesktopextensionsignaturerequired) | Require signed extensions | Connectors | Admin Console | -| [`deploymentOrganizationUuid`](#deploymentorganizationuuid) | Organization UUID | Telemetry & updates | Self-hosted Admin Console | -| [`disableEssentialTelemetry`](#disableessentialtelemetry) | Block essential telemetry | Telemetry & updates | Self-hosted Admin Console | -| [`disableNonessentialTelemetry`](#disablenonessentialtelemetry) | Block nonessential telemetry | Telemetry & updates | Self-hosted Admin Console | -| [`disableNonessentialServices`](#disablenonessentialservices) | Block nonessential services | Telemetry & updates | Self-hosted Admin Console | +| [`deploymentOrganizationUuid`](#deploymentorganizationuuid) | Organization UUID | Telemetry & updates | Admin Console | +| [`disableEssentialTelemetry`](#disableessentialtelemetry) | Block essential telemetry | Telemetry & updates | Admin Console | +| [`disableNonessentialTelemetry`](#disablenonessentialtelemetry) | Block nonessential telemetry | Telemetry & updates | Admin Console | +| [`disableNonessentialServices`](#disablenonessentialservices) | Block nonessential services | Telemetry & updates | Admin Console | | [`otlpEndpoint`](#otlpendpoint) | OTLP endpoint | Telemetry & updates | Admin Console | | [`otlpProtocol`](#otlpprotocol) | OTLP protocol | Telemetry & updates | Admin Console | | [`otlpHeaders`](#otlpheaders) | OTLP headers | Telemetry & updates | Admin Console | | [`otlpAuthMode`](#otlpauthmode) | Collector authentication | Telemetry & updates | Admin Console | | [`otlpHeadersHelper`](#otlpheadershelper) | OTLP headers helper script | Telemetry & updates | Admin Console | -| [`otlpResourceAttributes`](#otlpresourceattributes) | Resource attributes | Telemetry & updates | Self-hosted Admin Console | -| [`otlpDesktopLogLevel`](#otlpdesktoploglevel) | Desktop telemetry export level | Telemetry & updates | Self-hosted Admin Console | -| [`otlpContentCapture`](#otlpcontentcapture) | Content capture | Telemetry & updates | Self-hosted Admin Console | -| [`otlpTracesEnabled`](#otlptracesenabled) | Export traces | Telemetry & updates | Self-hosted Admin Console | -| [`otlpAttrMaxChars`](#otlpattrmaxchars) | Telemetry attribute length limit | Telemetry & updates | Self-hosted Admin Console | -| [`disableAutoUpdates`](#disableautoupdates) | Block auto-updates | Telemetry & updates | Self-hosted Admin Console | +| [`otlpResourceAttributes`](#otlpresourceattributes) | Resource attributes | Telemetry & updates | Admin Console | +| [`otlpDesktopLogLevel`](#otlpdesktoploglevel) | Desktop telemetry export level | Telemetry & updates | Admin Console | +| [`otlpContentCapture`](#otlpcontentcapture) | Content capture | Telemetry & updates | Admin Console | +| [`otlpTracesEnabled`](#otlptracesenabled) | Export traces | Telemetry & updates | Admin Console | +| [`otlpAttrMaxChars`](#otlpattrmaxchars) | Telemetry attribute length limit | Telemetry & updates | Admin Console | +| [`disableAutoUpdates`](#disableautoupdates) | Block auto-updates | Telemetry & updates | Admin Console | | [`installedUpdateEnforcementEnabled`](#installedupdateenforcementenabled) | Restart to apply installed updates | Telemetry & updates | Admin Console | | [`installedUpdateEnforcementHours`](#installedupdateenforcementhours) | Installed-update enforcement window | Telemetry & updates | Admin Console | -| [`autoUpdaterEnforcementHours`](#autoupdaterenforcementhours) | Auto-update enforcement window | Telemetry & updates | Self-hosted Admin Console | +| [`autoUpdaterEnforcementHours`](#autoupdaterenforcementhours) | Auto-update enforcement window | Telemetry & updates | Admin Console | | [`updateViaUpdatesHost`](#updateviaupdateshost) | Check for updates on releases.claude.com | Telemetry & updates | Admin Console | -| [`releaseChannel`](#releasechannel) | Release channel | Telemetry & updates | Self-hosted Admin Console | -| [`relaunchEnforcementHours`](#relaunchenforcementhours) | Configuration relaunch window | Telemetry & updates | Self-hosted Admin Console | -| [`configRecheckIntervalMinutes`](#configrecheckintervalminutes) | Configuration re-check interval | Telemetry & updates | Self-hosted Admin Console | +| [`releaseChannel`](#releasechannel) | Release channel | Telemetry & updates | Admin Console | +| [`relaunchEnforcementHours`](#relaunchenforcementhours) | Configuration relaunch window | Telemetry & updates | Admin Console | +| [`configRecheckIntervalMinutes`](#configrecheckintervalminutes) | Configuration re-check interval | Telemetry & updates | Admin Console | | [`disableLocalConfigCache`](#disablelocalconfigcache) | Keep only your organization ID and restrictions on disk | Telemetry & updates | Admin Console | | [`chatSessionRetentionDays`](#chatsessionretentiondays) | Chat retention period | Limits | Admin Console | -| [`coworkSessionRetentionDays`](#coworksessionretentiondays) | Cowork retention period | Limits | Self-hosted Admin Console | -| [`codeSessionRetentionDays`](#codesessionretentiondays) | Code retention period | Limits | Self-hosted Admin Console | -| [`sessionRetentionHold`](#sessionretentionhold) | Suspend session deletion | Limits | Self-hosted Admin Console | -| [`inferenceMaxTokensPerWindow`](#inferencemaxtokensperwindow) | Max tokens per window | Limits | Self-hosted Admin Console | -| [`inferenceTokenWindowHours`](#inferencetokenwindowhours) | Token cap window | Limits | Self-hosted Admin Console | +| [`coworkSessionRetentionDays`](#coworksessionretentiondays) | Cowork retention period | Limits | Admin Console | +| [`codeSessionRetentionDays`](#codesessionretentiondays) | Code retention period | Limits | Admin Console | +| [`sessionRetentionHold`](#sessionretentionhold) | Suspend session deletion | Limits | Admin Console | +| [`inferenceMaxTokensPerWindow`](#inferencemaxtokensperwindow) | Max tokens per window | Limits | Admin Console | +| [`inferenceTokenWindowHours`](#inferencetokenwindowhours) | Token cap window | Limits | Admin Console | | [`inferenceTokenWarningPercent`](#inferencetokenwarningpercent) | Token limit warning | Limits | Admin Console | -| [`endUserAttribution`](#enduserattribution) | End-user attribution | Appearance | Self-hosted Admin Console | -| [`deploymentDisplayName`](#deploymentdisplayname) | Deployment display name | Appearance | Self-hosted Admin Console | -| [`deploymentDisplaySubtitle`](#deploymentdisplaysubtitle) | Deployment display subtitle | Appearance | Self-hosted | -| [`disableConfigDeprecationWarnings`](#disableconfigdeprecationwarnings) | Hide configuration deprecation warnings | Appearance | Self-hosted Admin Console | -| [`banner`](#banner) | Organization banner | Appearance | Self-hosted Admin Console | -| [`disableFeatureDiscovery`](#disablefeaturediscovery) | Hide feature announcements | Appearance | Self-hosted Admin Console | -| [`allowedPluginMarketplaces`](#allowedpluginmarketplaces) | Plugin marketplaces | Plugins | Self-hosted Admin Console | -| [`orgPluginSettings`](#orgpluginsettings) | Organization plugin settings | Plugins | Self-hosted Admin Console | -| [`bootstrapEnabled`](#bootstrapenabled) | Use bootstrap config | Source | Self-hosted | -| [`bootstrapUrl`](#bootstrapurl) | Bootstrap config URL | Source | Self-hosted | -| [`bootstrapOidc`](#bootstrapoidc) | Bootstrap OIDC parameters | Source | Self-hosted | -| [`bootstrapHeaders`](#bootstrapheaders) | Bootstrap request headers | Source | Self-hosted | -| [`bootstrapHeadersHelper`](#bootstrapheadershelper) | Bootstrap headers helper script | Source | Self-hosted | -| [`trustBootstrapDelivery`](#trustbootstrapdelivery) | Trust bootstrap-delivered settings | Source | Self-hosted | +| [`endUserAttribution`](#enduserattribution) | End-user attribution | Appearance | Admin Console | +| [`deploymentDisplayName`](#deploymentdisplayname) | Deployment display name | Appearance | Admin Console | +| [`deploymentDisplaySubtitle`](#deploymentdisplaysubtitle) | Deployment display subtitle | Appearance | | +| [`disableConfigDeprecationWarnings`](#disableconfigdeprecationwarnings) | Hide configuration deprecation warnings | Appearance | Admin Console | +| [`banner`](#banner) | Organization banner | Appearance | Admin Console | +| [`sessionStatusLine`](#sessionstatusline) | Status line | Appearance | Admin Console | +| [`disableFeatureDiscovery`](#disablefeaturediscovery) | Hide feature announcements | Appearance | Admin Console | +| [`allowedPluginMarketplaces`](#allowedpluginmarketplaces) | Plugin marketplaces | Plugins | Admin Console | +| [`orgPluginSettings`](#orgpluginsettings) | Organization plugin settings | Plugins | Admin Console | +| [`bootstrapEnabled`](#bootstrapenabled) | Use bootstrap config | Source | | +| [`bootstrapUrl`](#bootstrapurl) | Bootstrap config URL | Source | | +| [`bootstrapOidc`](#bootstrapoidc) | Bootstrap OIDC parameters | Source | | +| [`bootstrapHeaders`](#bootstrapheaders) | Bootstrap request headers | Source | | +| [`bootstrapHeadersHelper`](#bootstrapheadershelper) | Bootstrap headers helper script | Source | | +| [`trustBootstrapDelivery`](#trustbootstrapdelivery) | Trust bootstrap-delivered settings | Source | | ## Connection @@ -172,11 +175,13 @@ enumSince 1.2581.0 One of: `gateway`, `anthropic`, `bedrock`, `mantle`, `vertex`, `foundry` -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - > **More detail** > -> Setting this key asks for 3P mode. The app opens in 3P mode unless the user chose to sign in to Claude.ai at the login screen, a choice `disableDeploymentModeChooser` removes. In 3P mode, if the selected provider's required credential keys are missing or invalid, the app shows a configuration error. A value the app cannot read (a misspelt, wrongly cased or unknown provider, or a value of the wrong type) still counts as set when machine-wide device management sent it: a macOS configuration profile, Windows policy under `HKLM`, or the root-owned policy file on Linux. The app then asks for 3P mode and, in 3P mode, shows a configuration error whose details name this key. An unreadable `bootstrapUrl` from the same sources counts the same way unless `bootstrapEnabled` is `false`. An unreadable value does not count where the user can write it: the local configuration file, or Windows policy under `HKCU`. Neither does an empty value (a value of only spaces is unreadable, not empty), or a Windows value of type `REG_BINARY`, `REG_MULTI_SZ` or `REG_QWORD`. Each of those reads as not set. When this key is not set, the app launches in standard mode unless another setting asks for 3P mode, such as a `bootstrapUrl` that `bootstrapEnabled` has not turned off. Keys for providers other than the selected one are ignored. Each provider's required keys are documented on its dedicated page under Inference providers. +> The app opens in third-party mode unless the user chose to sign in to Claude.ai at the login screen. `disableDeploymentModeChooser` removes that choice. +> +> When this key is unset, the app opens in standard mode unless another key, such as `bootstrapUrl`, asks for third-party mode. +> +> A misspelt value from a machine-wide MDM profile still asks for third-party mode, which then shows a configuration error. From the local configuration file or Windows policy under `HKCU`, it reads as unset. *** @@ -194,17 +199,13 @@ One of: `static`, `helper-script`, `interactive`, `vendor-profile`, `workforce`, > > * `inferenceCredentialKind: "interactive" together with inferenceGatewayOidc (gateway)`; use "external-idp" once every desktop in the fleet is on a release that reads it. The original spelling will keep working ("interactive" with inferenceGatewayOidc is read as "external-idp"); no end date has been set. -[Self-hosted install](#self-hosted-column): MDM profile. In self-hosted mode it names the device's sign-in to the host, never the host's model credential. - *** ### `inferenceSessionLifetimeSec` integerRange: 1 or moreSince 1.14271.0 -**Sign-in session lifetime.** How long a sign-in stays valid under your IdP’s session policy. Shows a re-authenticate banner before it expires. - -[Self-hosted install](#self-hosted-column): Not supported. The session host is the one source for how long a sign-in to it lasts, and it reads no figure from this key. +**Sign-in session lifetime.** Seconds your identity provider keeps a sign-in valid. The app shows a re-authenticate banner before then. *** @@ -212,9 +213,7 @@ integerRange: 1 or moreSince 1.14271.0 stringSince 1.24012.0 -**Artifact preview iframe origin.** HTTPS origin of the user-content-renderer deployment used for artifact and file previews. Defaults to the commercial host when unset. - -[Self-hosted install](#self-hosted-column): Not supported. Names where Desktop loads its previews from, and no session host passes the setting on to Desktop yet. +**Artifact preview iframe origin.** HTTPS origin of the server that artifact and file previews load from. Unset: [www.claudeusercontent.com](http://www.claudeusercontent.com). *** @@ -222,15 +221,11 @@ stringSince 1.24012.0 object: name → valueSince 1.8089.0 -**Custom inference headers.** Extra headers on every inference request — routing and tenant headers only (org IDs, Bedrock Guardrails). No credentials; use the credential helper for tokens. - -[Self-hosted install](#self-hosted-column): Server side. The host makes the model calls, so it adds the admin's headers to them. +**Custom inference headers.** Extra headers sent with every model request. Routing and tenant headers only: do not put credentials here. > **More detail** > -> Sent on every inference and model-discovery request (joined into the CLI's `ANTHROPIC_CUSTOM_HEADERS`). -> -> Use this for fleet-wide, non-secret constants. **Do not put API keys, bearer tokens or other credentials here** — this map is stored and distributed as plain configuration. For tokens, and for per-user or per-session values, have the **credential helper script** emit JSON with a `headers` field; those are merged over these static entries (helper wins on conflict). +> This key is stored and distributed as plain configuration. For tokens, and for values that differ per user or session, have `inferenceCredentialHelper` print JSON with a `headers` field. On a conflict, the helper script's header takes priority. *** @@ -244,28 +239,14 @@ Since 1.2581.0 **Helper script.** Absolute path to an executable that prints the credential, optionally with per-request headers. -[Self-hosted install](#self-hosted-column): MDM profile. Names a program on the person's computer, reused for the device's sign-in to the host. - > **More detail** > -> Claude runs the executable with the entries of **Helper script arguments** as its arguments (none by default) and reads **stdout** (trimmed). Exit code must be `0`; any output on **stderr** is logged but ignored. **Stdout must contain only one of the formats below** (no banners, prompts, or log lines). -> -> **Output format** is either: -> -> * a single bare token (the API key / bearer token), or -> * a JSON object `{"token": "...", "headers": {"Name": "Value", ...}}` when per-request headers are needed (merged over **Custom inference headers**, helper wins on conflict) -> -> The helper receives `CLAUDE_HELPER_CONTEXT` in its environment (`interactive`, `mid-session-refresh`, `background`, `scheduled-task`, `setup-test`) so it can decide whether to prompt the user — see the credential-helper docs for the full contract. -> -> Result is cached for the TTL below. On TTL expiry the helper is re-invoked transparently (no user prompt, no relaunch). -> -> **Expiry and refresh:** the app checks the active credential's expiry before each turn and refreshes silently when possible (re-runs the helper, or uses the stored refresh token for interactive sign-in kinds). If the provider returns HTTP 401 mid-turn, the same silent refresh is attempted before surfacing an error. When silent refresh fails, a prompt appears with a provider-specific action (re-sign-in for interactive kinds; admin-contact for static credentials). Applies to all providers, and to both Cowork and Code. +> The helper script must exit with code `0`. Its standard output must hold only one of these, with no banners, prompts or log lines: > -> **Typical use:** a shell script that pulls from Keychain, 1Password CLI, or an internal secret broker. Example: +> * the token by itself +> * `{"token": "...", "headers": {"Name": "Value"}}`, to also send headers with each request > -> `security find-generic-password -s anthropic-api -w` -> -> If this field is set, static credential fields (API key, bearer token) are ignored. The helper always wins. +> The app sets `CLAUDE_HELPER_CONTEXT` so that the script can decide whether to prompt the user. [Write a credential helper](https://claude.com/docs/third-party/claude-desktop/credential-helper.md) lists its values. *** @@ -277,13 +258,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Since 2.2553.0 -**Helper script (Windows).** Absolute path of the helper executable on Windows devices, used there instead of Helper script. Leave unset to use Helper script on every operating system. - -[Self-hosted install](#self-hosted-column): MDM profile. Names a Windows program on the person's computer, reused for the device's sign-in to the host. - -> **More detail** -> -> When one configuration serves both Windows and macOS or Linux devices, set **Helper script** to the macOS/Linux path and this to the Windows path (`C:\...` or `C:/...`). Windows devices run this executable with the same arguments, timeout, TTL and environment as **Helper script**; macOS and Linux devices ignore it. An invalid value here stops the connection on Windows devices only. Desktop releases that predate this setting ignore it and run **Helper script** on every operating system. +**Helper script (Windows).** Full path to the script that Windows devices run instead of Helper script. Unset: Helper script runs on every platform. *** @@ -297,15 +272,11 @@ Since 2.110.0 **Helper script arguments.** Arguments passed to the helper script, one per entry, in order. Leave unset to run it with none. -[Self-hosted install](#self-hosted-column): MDM profile. Gives arguments to a helper program on the person's computer, reused for the device's sign-in to the host. - > **More detail** > -> Each entry reaches the executable as one argument, exactly as written: `["--environment", "production"]` runs `helper --environment production`. Use it to keep one installed script and let the configuration each user receives decide what it does (which environment, tenant or vault to read), instead of packaging a script per case. -> -> Entries may not be empty and may not contain a double quote (`"`), a percent sign (`%`) or control characters, on any platform: a Windows `.cmd`/`.bat` helper receives its arguments through `cmd.exe`, where those characters would change the command. A `.cmd`/`.bat` script sees each argument quoted (`%1` is `"production"`, `%~1` strips the quotes); `.ps1`, `.exe` and POSIX helpers receive them bare. Arguments are visible in the diagnostic report and to other processes on the machine, so do not put secrets in them; the helper exists to fetch the secret. +> Do not put secrets in arguments: the diagnostic report and other processes on the device can see them. > -> A changed list takes effect the way a changed path does. +> A Windows `.cmd` or `.bat` helper script receives each argument in double quotes. Read it with `%~1` to strip them. *** @@ -317,9 +288,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Range: 1 or moreSince 1.2581.0 -**Helper script TTL.** Helper output is cached for this many seconds; once it expires the helper re-runs without a relaunch (before the next turn when set above 120). - -[Self-hosted install](#self-hosted-column): MDM profile. Sets how long the desktop app caches its helper's output, reused for the device's sign-in to the host. +**Helper script TTL.** Seconds the helper script’s output is cached. When it expires, the script runs again. Unset: 3600. *** @@ -331,9 +300,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Range: 1–600Since 1.8089.0 -**Credential helper timeout.** Maximum wait for the helper executable to finish. Raise this if the helper opens a browser for interactive sign-in. - -[Self-hosted install](#self-hosted-column): MDM profile. Bounds a helper program on the person's computer, reused for the device's sign-in to the host. +**Credential helper timeout.** Seconds to wait for the helper script to finish. Raise this if it opens a browser for sign-in. Unset: 60. *** @@ -345,9 +312,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Since 1.10628.0 -**Re-run helper for silent refresh.** On credential expiry, re-run the helper (CLAUDE\_HELPER\_CONTEXT=mid-session-refresh) to recover silently. Turn off if the helper can’t run non-interactively. - -[Self-hosted install](#self-hosted-column): MDM profile. Decides how the desktop app re-runs its helper on the person's computer, reused for sign-in to the host. +**Re-run helper for silent refresh.** When the credential expires mid-session, run the helper script again to recover silently. Turn off if it cannot run without user input. *** @@ -363,17 +328,17 @@ Since 1.44121.1 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/network-proxy.md) -[Self-hosted install](#self-hosted-column): MDM profile. Names the proxy for the person's computer, and a host's network belongs to its operator. - [Admin Console](#the-works-with-column): Not available. > **More detail** > -> Pins the app (sign-in, the connection test, model discovery, MCP servers, plugins), the Claude Code engine behind Chat, Cowork, and Code, and on macOS and Windows the Cowork workspace VM (the agent's shell, package-install, `git`, and plugin commands) to one HTTP proxy. Use it when your gateway or the internet is reachable only through a corporate proxy and you cannot rely on the system proxy. It is a reachability setting, not an egress control. +> This sets a route. It is not a network access control. If the proxy is unreachable, requests fail instead of connecting directly. +> +> **Not sent through this proxy:** Cowork's workspace VM on Linux, credential and header helper scripts, update downloads, the OS identity broker and the system browser. > -> The value is an `http://` or `https://` URL, usually with a port. SOCKS proxies and embedded credentials (`user:pass@`) are rejected. Give a local forwarding proxy on the device as `http://127.0.0.1:port`; an `https://` loopback address cannot be verified from inside the Cowork workspace VM. Requests to `localhost`, `127.0.0.1`, `[::1]`, and `*.local` names bypass the proxy so local MCP servers keep working; everything else goes through it, and if the proxy is unreachable requests fail rather than connect directly. The engine receives it as `HTTPS_PROXY` and `HTTP_PROXY` with a matching `NO_PROXY`; if Claude Code managed settings on the device set those variables, they win for the engine on the host. Traffic that never uses this proxy: the Cowork workspace VM on Linux, credential and header helper scripts, the update download, the Windows sign-in broker, and pages opened in the system browser. +> SOCKS proxies and embedded credentials (`user:pass@`) are rejected. > -> Read once at launch from device management (MDM) or the local configuration file only; a configuration server cannot deliver it, because the app may need the proxy to reach that server. A profile that sets only this key (or only the other app-behavior keys, such as `disableAutoUpdates`) does not take over a connection users set up in the app, but those keys are read from one source as a group, so put the proxy in the same profile as your update settings. Changes apply at the next app start. When `egressProxyPacUrl` is also set, the PAC file wins and this key is ignored. +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -389,15 +354,17 @@ Since 1.44121.1 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/network-proxy.md) -[Self-hosted install](#self-hosted-column): MDM profile. Describes the network of the person's computer, which Desktop applies to its own traffic. - [Admin Console](#the-works-with-column): Not available. > **More detail** > -> At launch the app downloads the PAC script and asks it which proxy to use for each request, as a browser would, instead of following the operating system's proxy settings. Same value rules, coverage, exclusions, and delivery as `egressProxyUrl`, except that bypassing is the script's decision: `localhost`, `127.0.0.1`, and `[::1]` still never use a proxy, but `*.local` names and everything else follow whatever it returns. If the PAC file cannot be downloaded, the app connects directly rather than failing. +> If the PAC file cannot be downloaded, the app connects directly. On macOS and Windows, the Cowork workspace VM gets its own copy at each start. If that download fails, the VM connects directly until it next starts, with no warning. Block direct connections on your network if that is unacceptable. > -> On macOS and Windows the Cowork workspace VM is handed a copy of the script when it starts and evaluates it for each request itself; there `myIpAddress()` returns the VM's internal address rather than the device's, so a script that chooses by client subnet gives the VM its off-network answer. The app downloads that copy each time the VM starts and does not try again while the VM runs. If the download fails, or brings back something other than a PAC script (a sign-in page, for example), the VM connects directly until it next starts, even once the script can be reached again; quitting and reopening the app restarts the VM. The app shows no warning, only log lines, so block direct connections at the network layer if they are not acceptable. The Claude Code engine behind Chat, Cowork, and Code cannot evaluate a PAC file, so the app hands it one proxy (whichever the script returns for your inference endpoint) plus a bypass for loopback and `*.local` names. If the script answers `DIRECT` or only `SOCKS` for that endpoint, the engine uses no proxy at all, so have it return an HTTP `PROXY host:port` entry there; if the engine needs different rules, set `HTTPS_PROXY` and `NO_PROXY` in Claude Code managed settings, which win for the engine on the host. +> Claude Code, which runs Chat, Cowork and Code sessions, uses one proxy: the one the script returns for your inference endpoint. Return an HTTP `PROXY host:port` entry there. With `DIRECT` or only `SOCKS`, it uses no proxy. +> +> What `egressProxyUrl` lists as not sent through its proxy skips the PAC file too. +> +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -405,17 +372,13 @@ Since 1.44121.1 booleanSince 1.52386.0 -**Enable IPv6 in the workspace VM.** Give the Cowork workspace VM an IPv6 address and route so the agent’s tools can reach IPv6-only hosts through the device. macOS and Windows; off by default. - -[Self-hosted install](#self-hosted-column): Not supported. Configures Cowork's local virtual machine, which a host session does not have. +**Enable IPv6 in the workspace VM.** Give the Cowork workspace VM an IPv6 address so Claude’s tools can reach IPv6-only hosts through the device. macOS and Windows only. > **More detail** > -> When set to `true`, the Cowork workspace VM on macOS and Windows gets a static IPv6 address (a unique local `fd…` address) and an IPv6 default route on its virtual network next to its IPv4 address, and the VM's gateway forwards that traffic over the device's own IPv6 connectivity, as it already does for IPv4. Use it when the tools the agent runs in the VM (shell commands, package installs, `git`, and plugin commands) must reach IPv6-only destinations. The VM's resolver then also returns IPv6 (AAAA) answers. A connection the VM makes over IPv6 succeeds only where the device's own IPv6 does; on a device without working IPv6, destinations that have both keep working over IPv4 and IPv6-only destinations stay unreachable. Because the VM's address is unique-local, most tools in it keep preferring IPv4 for destinations that have both, so IPv6 mostly carries traffic to IPv6-only destinations. -> -> This is a reachability setting, not an egress control: `coworkEgressAllowedHosts` keeps deciding which hostnames the agent's tools may reach, by name, over either protocol, and IPv6 literals are still not accepted there. Hosts your policies allow must also be reachable, and filtered the way you intend, over IPv6 on your network. +> IPv6 works in the VM only where the device's own IPv6 works. > -> Unset (default): the VM is IPv4-only and its resolver returns no IPv6 answers. A change takes effect the next time the workspace VM starts, typically at the next app launch. Does not apply to the Cowork workspace VM on Linux or to Code sessions, which use the device's own network stack. +> This is not a network access control. `coworkEgressAllowedHosts` still decides which hosts tools can reach, by name, over either protocol. It does not accept IPv6 addresses. Make sure your network filters the allowed hosts over IPv6 the way you intend. *** @@ -433,8 +396,6 @@ Since 1.2581.0 **Gateway base URL.** Full URL of the inference gateway endpoint. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - *** #### `inferenceGatewayApiKey` @@ -443,8 +404,6 @@ stringSince 1.2581.0 **Gateway API key.** API key for the configured inference gateway. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - [Admin Console](#the-works-with-column): Not available. *** @@ -463,8 +422,6 @@ One of: `bearer` (default), `x-api-key` > > * `inferenceGatewayAuthScheme: "sso"`; use inferenceCredentialKind: "interactive". The original spelling will keep working; no end date has been set. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - *** #### `inferenceGatewayOidcAuthFlow` @@ -481,14 +438,12 @@ One of: `browser`, `broker` > > * Use inferenceIdpAuthFlow together with inferenceIdpOidc once every desktop in the fleet is on a release that reads them. The original spelling will keep working; no end date has been set. -[Self-hosted install](#self-hosted-column): Not supported. Deprecated name for the choice of sign-in window on the person's computer. - > **More detail** > -> * **`browser`** (default) — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. See the **IdP setup** notes on `inferenceGatewayOidc` for redirect-URI registration. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS). Requires the IdP to be **Microsoft Entra ID** — the `issuer` on `inferenceGatewayOidc` must be `https://login.microsoftonline.com/{tenant-id}/v2.0`. The broker satisfies Conditional Access policies that require a compliant/managed device or token protection, and needs no loopback redirect. The Entra app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. +> * **`browser`:** register the redirect URI `http://127.0.0.1:/callback` with your identity provider (for Entra, `http://127.0.0.1/callback`). +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. > -> Broker mode mints a token in the customer's own Entra tenant with the customer-configured `scopes`, and forwards it to the customer's own gateway; both endpoints of that trust relationship are inside the customer's control. A desktop that has the `external-idp` kind reads this key, together with `inferenceGatewayOidc`, as that kind's sign-in flow; it stays readable. +> `broker` needs Microsoft Entra ID, with the `issuer` in `inferenceGatewayOidc` set to `https://login.microsoftonline.com/{tenant-id}/v2.0`. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** @@ -510,17 +465,13 @@ Since 1.6889.0 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/gateway.md#single-sign-on-with-your-identity-provider) -[Self-hosted install](#self-hosted-column): Not supported. Deprecated name for a sign-in that runs on the person's computer. - > **More detail** > -> **External IdP mode.** The app discovers `/.well-known/openid-configuration`, runs an OIDC authorization-code-with-PKCE sign-in in the system browser with `clientId`, and sends the resulting token as `Authorization: Bearer` on every inference request. Leave this unset for a gateway that hosts its own RFC 8414 metadata at `/.well-known/oauth-authorization-server`. A desktop that has the `external-idp` kind reads this block as that kind's identity-provider key; it stays readable, so a fleet keeps this spelling until every desktop is on such a release. +> Used with `inferenceCredentialKind` set to `interactive`. Leave it unset for a gateway that runs its own sign-in and serves `/.well-known/oauth-authorization-server`. > -> **Bearer token type.** `id_token` (the default) sends the OIDC ID token; the gateway validates signature, `iss`, and `aud` (the `clientId` configured here). `access_token` sends the OAuth access token, for gateways that validate as a resource server (Portkey, Kong, Envoy JWT filter, AWS API Gateway authorizers); `scopes` must then name the gateway's registered API scope. Either way the gateway must check `aud`, not just signature and issuer, or it accepts any token from your tenant. +> Your gateway must check the token's audience (`aud`). Otherwise it accepts any token from your tenant. > -> **IdP setup.** The callback is `http://127.0.0.1:/callback` by default (`http://localhost:/callback` with `redirectHost: "localhost"`); register exactly the one you use and include `/callback`. **Entra:** a public-client app with a *Mobile and desktop applications* redirect URI of `http://127.0.0.1/callback` (any port; omitting the path fails with `AADSTS50011`); in `access_token` mode also grant the gateway API's delegated permission, or sign-in fails with `AADSTS65001`. **Okta:** a *Native* app with the exact URI `http://127.0.0.1:/callback` and that port in `redirectPort`. -> -> **Refresh.** With `offline_access` the app renews the token silently and prompts a browser sign-in only when refresh fails. Google never returns an `id_token` on refresh, so a Google Workspace-backed gateway in `id_token` mode re-prompts about hourly; `access_token` mode is unaffected. +> Register the redirect URI given under `inferenceGatewayOidcAuthFlow`. > **Child attributes (11)** > @@ -548,29 +499,35 @@ Since 1.6889.0 > > > **More detail** > > -> > In **access-token** mode the token's audience must be your gateway or proxy. On IdPs where the requested scopes decide the audience (**Entra ID**), include its API resource scope in `scopes` — `api:///.default`, or a named delegated scope you exposed via *Expose an API*. With only the standard OIDC scopes (`openid profile email offline_access`) Entra returns a v1.0 Microsoft Graph token whose issuer (`https://sts.windows.net//`) doesn't match the v2.0 issuer configured here, so a gateway that validates `iss` rejects it. On IdPs that set the access-token audience out-of-band (Keycloak audience mapper, Auth0 default audience, Okta custom authorization server), a resource scope in `scopes` isn't required — the audience comes from the IdP-side configuration. +> > An ID token's audience (`aud`) is `clientId`. An access token's audience must be your gateway or proxy. +> > +> > With Entra ID the scopes decide the audience, so add the gateway's API scope to `scopes`, such as `api:///.default`. > > **scopes** `string` > -> Space-separated scopes. Required in access-token mode: set the gateway or proxy API scope. offline\_access is appended automatically unless disabled below. +> Space-separated scopes. Access-token mode needs the gateway or proxy API scope, and adds offline\_access unless Append offline\_access is off. +> +> > **More detail** +> > +> > In ID-token mode, `offline_access` is not added to scopes that you set. Include it yourself, or users sign in again each time the token expires. > > **appendOfflineAccess** `boolean` (default: true) > -> Automatically append offline\_access to scopes so the IdP returns a refresh token for silent refresh. +> In access-token mode, add offline\_access to scopes so the identity provider returns a refresh token for silent refresh. > > > **More detail** > > -> > Turn off only if your authorization server rejects `offline_access` as an unknown scope; include the server’s own refresh-token scope in **Scopes** instead. +> > Turn off only if your authorization server rejects `offline_access` as an unknown scope. Then add the server’s own refresh-token scope to `scopes`. > > **resource** `string` > -> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier, sent as the RFC 8707 resource. Leave unset for Entra ID. +> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier. Leave unset for Entra ID. > > > **More detail** > > -> > Set this only for an IdP that implements RFC 8707 resource indicators. The app then sends `resource=` on the authorization, token and refresh requests, so the access token the IdP issues is audience-restricted to the gateway or proxy rather than to the IdP's own APIs. Use it with `bearerTokenType: access_token`; in `id_token` mode the ID token's audience is always `clientId`. Ignored with the OS-broker sign-in flow (the sign-in flow key set to `broker`), which is Entra-only. +> > Use it only with `bearerTokenType` set to `access_token`, and only if your identity provider supports RFC 8707. Changing it signs users in again. > > -> > **Microsoft Entra ID:** leave unset — the v2.0 endpoint rejects `resource`; request the API scope in `scopes` instead (`api:///.default`). **AD FS:** enter one of the relying-party trust's identifiers, spelled as it is registered there. A value with no scheme (a host name with or without a port or path, a single name, or a GUID; `name:digits` also reads as a host name with a port) is sent as `https://`; an identifier with a scheme of its own (`urn:…`, or an organization-defined one such as `VENDOR:URI:…`) is sent exactly as written. A trust whose only identifier is a bare name or GUID will not match, because those are sent as `https://`: add an `https://…` or `urn:…` identifier to the trust and enter that one here. With any other identity provider, use an absolute URI without a fragment (RFC 8707 — the IdP rejects one as `invalid_target`). Changing it signs users in again. +> > For AD FS, enter one of the relying-party trust's identifiers. A value with no scheme is sent as `https://`, so a plain name or GUID does not match. Add an `https://…` or `urn:…` identifier to the trust and enter that. > > **redirectPort** `integer` > @@ -584,11 +541,11 @@ Since 1.6889.0 > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -600,14 +557,12 @@ enumSince 2.7032.0 One of: `browser`, `broker` -[Self-hosted install](#self-hosted-column): MDM profile. Chooses a sign-in window on the person's computer, also used for the device's sign-in to the host. - > **More detail** > -> * **`browser`** (default) — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. See the **IdP setup** notes on `inferenceIdpOidc` for redirect-URI registration. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS). Requires the IdP to be **Microsoft Entra ID** — the `issuer` on `inferenceIdpOidc` must be `https://login.microsoftonline.com/{tenant-id}/v2.0`. The broker satisfies Conditional Access policies that require a compliant/managed device or token protection, and needs no loopback redirect. The Entra app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. +> * **`browser`:** register the redirect URI `http://127.0.0.1:/callback` with your identity provider (for Entra, `http://127.0.0.1/callback`). +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. > -> Broker mode mints a token in the customer's own Entra tenant with the customer-configured `scopes` and forwards it to the customer's own gateway or proxy; both endpoints of that trust relationship are inside the customer's control. +> `broker` needs Microsoft Entra ID, with the `issuer` in `inferenceIdpOidc` set to `https://login.microsoftonline.com/{tenant-id}/v2.0`. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** @@ -621,19 +576,13 @@ Since 2.7032.0 **Identity provider (OIDC).** Your organization’s OpenID Connect identity provider. The user’s token is sent as the Bearer credential to the gateway or the Bedrock proxy. -[Self-hosted install](#self-hosted-column): MDM profile. Configures an interactive sign-in on the person's computer, reused to sign the device in to the host. - > **More detail** > -> Used with `inferenceCredentialKind: "external-idp"`. The app discovers `/.well-known/openid-configuration`, runs an OIDC authorization-code (PKCE) sign-in in the browser with `clientId` (or through the OS broker, see `inferenceIdpAuthFlow`) and sends the token as `Authorization: Bearer` on every inference request: to `inferenceGatewayBaseUrl` on the gateway provider, or on Bedrock to `inferenceBedrockBaseUrl`, which is then required: only a proxy that validates the token accepts it, never Amazon Bedrock itself (to sign in straight to Bedrock use `interactive`, AWS IAM Identity Center). On Bedrock this kind has no model discovery: list the models in `inferenceModels`. -> -> **Bearer token type.** `id_token` (the default) sends the OIDC ID token; the receiver validates signature, `iss` and `aud` (the `clientId` here). `access_token` sends the OAuth access token, for gateways and proxies that validate as an OAuth resource server; `scopes` must then name the registered API scope. Either way the receiver must check `aud`, or it accepts any token from your tenant. -> -> **IdP setup.** The callback is `http://127.0.0.1:/callback` (`localhost` with `redirectHost: "localhost"`); register exactly that. **Entra:** a public-client app with a *Mobile and desktop applications* redirect URI `http://127.0.0.1/callback` (omitting the path fails with `AADSTS50011`); in `access_token` mode also grant the API's delegated permission, or sign-in fails with `AADSTS65001`. **Okta:** a *Native* app with `http://127.0.0.1:/callback` and that port in `redirectPort`. +> Used when `inferenceCredentialKind` is `external-idp`. Register the redirect URI given under `inferenceIdpAuthFlow` with your identity provider. > -> **Refresh.** With `offline_access` the app renews the token silently and asks for a browser sign-in only when refresh fails (Google returns no `id_token` on refresh, so `id_token` mode there re-prompts about hourly). +> Your gateway or proxy must check the token's audience (`aud`). Otherwise it accepts any token from your tenant. > -> **Older names.** Gateway configurations written before this key use `inferenceGatewayOidc` / `inferenceGatewayOidcAuthFlow` with the `interactive` kind; they stay readable and mean the same sign-in. +> On Bedrock, set `inferenceBedrockBaseUrl` to a proxy that checks the token, because Amazon Bedrock itself does not accept it. Also list your models in `inferenceModels`. > **Child attributes (11)** > @@ -661,29 +610,35 @@ Since 2.7032.0 > > > **More detail** > > -> > In **access-token** mode the token's audience must be your gateway or proxy. On IdPs where the requested scopes decide the audience (**Entra ID**), include its API resource scope in `scopes` — `api:///.default`, or a named delegated scope you exposed via *Expose an API*. With only the standard OIDC scopes (`openid profile email offline_access`) Entra returns a v1.0 Microsoft Graph token whose issuer (`https://sts.windows.net//`) doesn't match the v2.0 issuer configured here, so a gateway that validates `iss` rejects it. On IdPs that set the access-token audience out-of-band (Keycloak audience mapper, Auth0 default audience, Okta custom authorization server), a resource scope in `scopes` isn't required — the audience comes from the IdP-side configuration. +> > An ID token's audience (`aud`) is `clientId`. An access token's audience must be your gateway or proxy. +> > +> > With Entra ID the scopes decide the audience, so add the gateway's API scope to `scopes`, such as `api:///.default`. > > **scopes** `string` > -> Space-separated scopes. Required in access-token mode: set the gateway or proxy API scope. offline\_access is appended automatically unless disabled below. +> Space-separated scopes. Access-token mode needs the gateway or proxy API scope, and adds offline\_access unless Append offline\_access is off. +> +> > **More detail** +> > +> > In ID-token mode, `offline_access` is not added to scopes that you set. Include it yourself, or users sign in again each time the token expires. > > **appendOfflineAccess** `boolean` (default: true) > -> Automatically append offline\_access to scopes so the IdP returns a refresh token for silent refresh. +> In access-token mode, add offline\_access to scopes so the identity provider returns a refresh token for silent refresh. > > > **More detail** > > -> > Turn off only if your authorization server rejects `offline_access` as an unknown scope; include the server’s own refresh-token scope in **Scopes** instead. +> > Turn off only if your authorization server rejects `offline_access` as an unknown scope. Then add the server’s own refresh-token scope to `scopes`. > > **resource** `string` > -> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier, sent as the RFC 8707 resource. Leave unset for Entra ID. +> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier. Leave unset for Entra ID. > > > **More detail** > > -> > Set this only for an IdP that implements RFC 8707 resource indicators. The app then sends `resource=` on the authorization, token and refresh requests, so the access token the IdP issues is audience-restricted to the gateway or proxy rather than to the IdP's own APIs. Use it with `bearerTokenType: access_token`; in `id_token` mode the ID token's audience is always `clientId`. Ignored with the OS-broker sign-in flow (the sign-in flow key set to `broker`), which is Entra-only. +> > Use it only with `bearerTokenType` set to `access_token`, and only if your identity provider supports RFC 8707. Changing it signs users in again. > > -> > **Microsoft Entra ID:** leave unset — the v2.0 endpoint rejects `resource`; request the API scope in `scopes` instead (`api:///.default`). **AD FS:** enter one of the relying-party trust's identifiers, spelled as it is registered there. A value with no scheme (a host name with or without a port or path, a single name, or a GUID; `name:digits` also reads as a host name with a port) is sent as `https://`; an identifier with a scheme of its own (`urn:…`, or an organization-defined one such as `VENDOR:URI:…`) is sent exactly as written. A trust whose only identifier is a bare name or GUID will not match, because those are sent as `https://`: add an `https://…` or `urn:…` identifier to the trust and enter that one here. With any other identity provider, use an absolute URI without a fragment (RFC 8707 — the IdP rejects one as `invalid_target`). Changing it signs users in again. +> > For AD FS, enter one of the relying-party trust's identifiers. A value with no scheme is sent as `https://`, so a plain name or GUID does not match. Add an `https://…` or `urn:…` identifier to the trust and enter that. > > **redirectPort** `integer` > @@ -697,11 +652,11 @@ Since 2.7032.0 > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -711,13 +666,11 @@ integerRange: 300–1,800Since 1.44121.1 **Stream idle timeout.** Extra seconds to wait for model output on a streaming response that is sending only keep-alive pings. Gateway provider only. Default 300. -[Self-hosted install](#self-hosted-column): Server side. The host makes the model calls, so it sets how long a stream sending only keep-alive pings may wait for output. - > **More detail** > -> Raises how long Cowork, Chat and Code sessions wait for the next model event on an open streaming response (Claude Code's `CLAUDE_STREAM_IDLE_TIMEOUT_MS`). It only helps when the gateway writes SSE keep-alive `ping` events (or `:` comment lines) into the response while the upstream model is silent — for example a LiteLLM proxy with keep-alive pings enabled in front of Amazon Bedrock. With pings arriving, Claude Code accepts at least about five minutes of keep-alives and then waits this many seconds more for real model output before abandoning the request. Gateway provider only; the other providers keep Claude Code's defaults. +> With pings arriving (SSE `ping` events or `:` comment lines), sessions accept at least about five minutes of them, then wait this many seconds more. With no pings, a silent response still fails after about 5 minutes whatever this value, so make the gateway send them. > -> A response on which nothing at all arrives — no pings — still fails after about 5 minutes regardless of this key, because at the device a silent connection cannot be told apart from a dead one. If long generations fail behind a gateway that does not send pings, configure the gateway to send them rather than raising this value. A common case is automatic compaction, in which a session sends its whole conversation in one streaming request and waits for a long summary; when that request fails, the error reads `Prompt is too long · automatic compaction failed:` followed by the cause. While this key is set, the app's value takes precedence over `CLAUDE_STREAM_IDLE_TIMEOUT_MS` in Claude Code's own managed settings for sessions the app starts; when it is unset, that setting still applies. Values outside 300–1800 are rejected at parse time (the error is listed in the diagnostics report) and the default applies. +> While this key is set, it takes priority over `CLAUDE_STREAM_IDLE_TIMEOUT_MS` in Claude Code's managed settings for sessions the app starts. *** @@ -729,8 +682,6 @@ stringSince 1.8089.0 **Claude API key.** Leave blank to sign in with your browser, or to supply the key via a credential helper. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - [Admin Console](#the-works-with-column): Not available. *** @@ -743,8 +694,6 @@ stringSince 1.2581.0 **AWS region.** AWS region for the Bedrock runtime endpoint. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - *** #### `inferenceBedrockBaseUrl` @@ -757,9 +706,7 @@ Origin-pinned (A URL that a bootstrap server delivers must share the origin of b Since 1.2581.0 -**Bedrock base URL.** For VPC endpoints or gateway proxies. Host origin only. - -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. +**Bedrock base URL.** For VPC endpoints or gateway proxies. Enter https\:// and the host, with no path. *** @@ -771,12 +718,6 @@ enumSince 1.5186.0 One of: `flex`, `priority` -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - -> **More detail** -> -> Tier availability varies by model and region. Reserved capacity uses a provisioned-throughput ARN as the model ID instead of this setting. Older bundled Claude Code CLI versions ignore this key. - *** #### `inferenceBedrockBearerToken` @@ -785,8 +726,6 @@ stringSince 1.2581.0 **AWS bearer token.** Static bearer token for inference. For providers that support profile or helper-script credentials, prefer those. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - [Admin Console](#the-works-with-column): Not available. *** @@ -801,8 +740,6 @@ Since 1.6259.0 **AWS SSO start URL.** Enables in-app AWS sign-in (no AWS CLI needed). Set with the three SSO fields below. -[Self-hosted install](#self-hosted-column): Not supported. Drives a browser sign-in on the person's computer, and a host never calls Bedrock as the person. - *** #### `inferenceBedrockSsoRegion` @@ -815,8 +752,6 @@ Since 1.6259.0 **AWS SSO region.** IAM Identity Center home region. -[Self-hosted install](#self-hosted-column): Not supported. Configures a browser sign-in on the person's computer, and a host-run session has no browser. - *** #### `inferenceBedrockSsoAccountId` @@ -829,8 +764,6 @@ Since 1.6259.0 **AWS SSO account ID.** 12-digit AWS account ID assigned to users in IAM Identity Center. -[Self-hosted install](#self-hosted-column): Not supported. Names an AWS account for a browser sign-in on the person's computer, which a host never performs. - *** #### `inferenceBedrockSsoRoleName` @@ -843,8 +776,6 @@ Since 1.6259.0 **AWS SSO role name.** IAM Identity Center permission-set name granting bedrock:InvokeModel\* on the account above. -[Self-hosted install](#self-hosted-column): Not supported. Names an AWS role for a browser sign-in that is only possible on the person's computer. - *** #### `inferenceBedrockProfile` @@ -857,8 +788,6 @@ Since 1.2581.0 **AWS profile name.** AWS named profile to use for Bedrock inference credentials. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - *** #### `inferenceBedrockAwsDir` @@ -871,8 +800,6 @@ Since 1.2581.0 **AWS config directory.** Folder with AWS config/credentials. Defaults to \~/.aws when no bearer token is set. -[Self-hosted install](#self-hosted-column): Not supported. Names a folder on the person's computer that a host does not have. - *** #### `inferenceBedrockAwsCliPath` @@ -885,8 +812,6 @@ Since 1.13576.0 **AWS CLI path.** Absolute path to the aws executable. Leave unset to find it on PATH. -[Self-hosted install](#self-hosted-column): Not supported. Names a program on the person's computer, and a host has no such program, browser or person. - *** ### Vertex @@ -901,8 +826,6 @@ Since 1.2581.0 **GCP project ID.** Google Cloud project ID for Vertex AI inference. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - *** #### `inferenceVertexRegion` @@ -911,8 +834,6 @@ stringSince 1.2581.0 **GCP region.** GCP region where your Vertex AI Claude models are deployed. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - *** #### `inferenceVertexBaseUrl` @@ -925,9 +846,7 @@ Origin-pinned (A URL that a bootstrap server delivers must share the origin of b Since 1.2581.0 -**Vertex AI base URL.** PSC endpoint, if using one. - -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. +**Vertex AI base URL.** Private Service Connect endpoint, if you use one. *** @@ -941,17 +860,13 @@ Since 1.2581.0 **Vertex OAuth client ID.** Desktop-app OAuth client ID. Enables Sign in with Google instead of a credentials file. -[Self-hosted install](#self-hosted-column): Not supported. Configures a Google browser sign-in on the person's computer, and a host calls Vertex as its own identity. - *** #### `inferenceVertexOAuthClientSecret` stringSince 1.2581.0 -**Vertex OAuth client secret.** Secret for the Desktop-app OAuth client above. Google classifies installed-app client secrets as non-confidential, so this may be set from hosted config. - -[Self-hosted install](#self-hosted-column): Not supported. Secret for the person's own Google sign-in, and a host calls Vertex as its own Google identity. +**Vertex OAuth client secret.** Secret for the Desktop-app OAuth client above. Google does not treat such secrets as confidential, so the Admin Console can set it. *** @@ -961,8 +876,6 @@ stringSince 1.2581.0 **Vertex OAuth scopes.** Override the Google OAuth scopes (space-separated). Leave blank for the default. -[Self-hosted install](#self-hosted-column): Not supported. Sets scopes for a browser sign-in on the person's computer, and a host calls Vertex as its own identity. - *** #### `inferenceVertexOAuthLoginHint` @@ -971,8 +884,6 @@ stringSince 1.12603.0 **Vertex OAuth login hint.** Pre-fill Google's account chooser and forward to your federated IdP. \{username} expands to the OS login name. -[Self-hosted install](#self-hosted-column): Not supported. Steers a browser sign-in on the person's computer, and a host calls Vertex as its own Google identity. - *** #### `inferenceVertexWorkforceAudience` @@ -985,8 +896,6 @@ Since 1.10628.0 **Workforce Identity audience.** Workforce-pool provider audience. When set, sign-in uses your own IdP plus a GCP STS exchange instead of a Google identity. -[Self-hosted install](#self-hosted-column): Not supported. Configures a sign-in the person completes on their computer, and a host calls Vertex as its own identity. - *** #### `inferenceVertexWorkforceUserProject` @@ -999,8 +908,6 @@ Since 1.10628.0 **Workforce Identity billing project.** GCP project for STS billing and quota. Defaults to the Vertex project ID above. -[Self-hosted install](#self-hosted-column): Not supported. Bills the exchange of the person's own sign-in token, and a host calls Vertex as its own identity. - *** #### `inferenceVertexWorkforceAuthFlow` @@ -1011,14 +918,12 @@ enumSince 1.25927.0 One of: `browser`, `broker` -[Self-hosted install](#self-hosted-column): Not supported. Chooses how the person signs in on their computer, and a host calls Vertex as its own identity. - > **More detail** > -> * **`browser`** (default) — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. See the **IdP setup** notes on `inferenceGatewayOidc` for redirect-URI registration; the same rules apply here. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS). Requires the workforce-pool IdP to be **Microsoft Entra ID** — the `issuer` on `inferenceVertexWorkforceOidc` must be `https://login.microsoftonline.com/{tenant-id}/v2.0`. The broker satisfies Conditional Access policies that require a compliant/managed device or token protection, and needs no loopback redirect. The Entra app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. +> * **`browser`:** register the redirect URI `http://127.0.0.1:/callback` with your identity provider (for Entra, `http://127.0.0.1/callback`). +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. > -> The GCP STS token-exchange step is unchanged in either flow; only how the Entra id\_token is acquired differs. +> `broker` needs Microsoft Entra ID, with the `issuer` in `inferenceVertexWorkforceOidc` set to `https://login.microsoftonline.com/{tenant-id}/v2.0`. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** @@ -1030,9 +935,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Since 1.10628.0 -**Workforce Identity IdP (OIDC).** Your organization’s OIDC IdP. The app runs an authorization-code-with-PKCE flow against this issuer and exchanges the returned ID token at GCP STS. - -[Self-hosted install](#self-hosted-column): Not supported. Sets up the person's sign-in on their own computer, and a host calls Vertex as its own Google identity. +**Workforce Identity IdP (OIDC).** Your organization’s OpenID Connect identity provider. Users sign in there, and the app exchanges their ID token at GCP STS. > **Child attributes (9)** > @@ -1068,15 +971,15 @@ Since 1.10628.0 > > **omitOfflineAccess** `boolean` > -> Only enable if your IdP rejects the offline\_access scope on this client. Without it the app prompts for sign-in each time the token expires. +> Turn on only if your identity provider rejects offline\_access on this client. Users then sign in again each time the token expires. > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -1088,9 +991,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Since 1.2581.0 -**GCP credentials file path.** Absolute path to service-account JSON. Leave blank to fall back to ADC. - -[Self-hosted install](#self-hosted-column): Not supported. Names a file on the person's computer that no host has. +**GCP credentials file path.** Full path to a service-account JSON file. Unset: Application Default Credentials. *** @@ -1106,8 +1007,6 @@ Since 1.2581.0 **Azure AI Foundry resource name.** Azure AI Foundry resource name used to construct the endpoint URL. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - *** #### `inferenceFoundryBaseUrl` @@ -1122,11 +1021,11 @@ Since 2.110.0 **Azure AI Foundry base URL.** Full base URL for a gateway or proxy in front of Foundry, path included (replaces [https://RESOURCE.services.ai.azure.com/anthropic](https://RESOURCE.services.ai.azure.com/anthropic)). -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - > **More detail** > -> Set this only when the app reaches Foundry through a gateway or proxy you run, such as Azure API Management. Requests go to `/v1/messages` instead of `https://.services.ai.azure.com/anthropic/v1/messages`, carrying the same credential and headers the app would send to Foundry: each user's Entra ID token for the Azure Cognitive Services audience as `Authorization: Bearer` with Entra sign-in, otherwise the API key or the credential helper's output. Claude Code sessions receive the value as `ANTHROPIC_FOUNDRY_BASE_URL`, so use the same value you would give Claude Code in a terminal. `inferenceFoundryResource` is still required and should name the resource behind the gateway; the app sends nothing to the resource directly while this is set. Must be https, or http to a proxy at a loopback address on the device itself (127.0.0.1, localhost or \[::1]). +> Point it only at a gateway or proxy that you run. Requests carry the credential that the app would send to Foundry: the user's Entra ID token, the API key or the helper script's output. +> +> Use the value that you would give Claude Code as `ANTHROPIC_FOUNDRY_BASE_URL`. `inferenceFoundryResource` is still required and should name the resource behind the gateway. *** @@ -1136,8 +1035,6 @@ stringSince 1.2581.0 **Azure AI Foundry API key.** API key for Azure AI Foundry inference. -[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set. - [Admin Console](#the-works-with-column): Not available. *** @@ -1152,8 +1049,6 @@ Since 1.9255.0 **Entra ID tenant ID.** Directory (tenant) ID of the Entra ID app registration that has the Cognitive Services scope. -[Self-hosted install](#self-hosted-column): Not supported. Names the tenant for an Entra sign-in on the person's computer. - *** #### `inferenceFoundryClientId` @@ -1166,8 +1061,6 @@ Since 1.9255.0 **Entra ID client ID.** Application (client) ID of the Entra ID app registration. Device-code sign-in requires the app to allow public client flows. -[Self-hosted install](#self-hosted-column): Not supported. Configures an Entra sign-in the person completes on their computer. - *** #### `inferenceFoundryAuthFlow` @@ -1178,15 +1071,11 @@ enumSince 1.19367.0 One of: `device-code`, `browser`, `broker` -[Self-hosted install](#self-hosted-column): Not supported. Chooses how the person's Entra sign-in runs on their computer. - > **More detail** > -> * **`device-code`** (default) — shows a code to enter at microsoft.com/devicelogin. The app registration must have **Allow public client flows** enabled. -> * **`browser`** — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. The app registration must include `http://127.0.0.1/callback` under the **Mobile and desktop applications** platform (Entra ignores the loopback port, but not the path). Works with **Allow public client flows** disabled, and is unaffected by Conditional Access policies that block device-code authentication. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS), so it can satisfy Conditional Access policies that require a compliant/managed device or token protection. The app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. -> -> App versions that predate this key always use device code; versions that predate the broker option treat `broker` as unset and use device code. +> * **`device-code`:** shows a code to enter at microsoft.com/devicelogin. The app registration must have **Allow public client flows** enabled. +> * **`browser`:** register `http://127.0.0.1/callback` under **Mobile and desktop applications**. It works with **Allow public client flows** disabled. Conditional Access policies that block device-code sign-in do not affect it. +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** @@ -1198,11 +1087,12 @@ booleanSince 1.8089.0 **Model discovery.** Auto-populate the model picker from the provider at launch. -[Self-hosted install](#self-hosted-column): Not supported. A session host states the models it offers, so Desktop discovers none itself, whatever this says. - > **More detail** > -> Auto-populate the model picker from the provider's model-list endpoint at launch. For gateway and Anthropic providers, a config that doesn't set this key skips discovery automatically when the model list below already makes it unnecessary; the toggle here only sets it explicitly on or off. Turn off if the endpoint isn't reachable from your network, or to use a fixed list. When off, the model list below is required and must use full model IDs (aliases like sonnet/opus are resolved via discovery). +> Turn this off if your network cannot reach your inference provider's model-list endpoint. +> +> * **Off:** `inferenceModels` is required and must use full model IDs. Tier aliases such as `sonnet` need discovery. +> * **Unset:** on. With a gateway or the Anthropic provider, the app skips discovery when `inferenceModels` is set and holds no tier alias. *** @@ -1210,13 +1100,11 @@ booleanSince 1.8089.0 booleanSince 1.28929.0 -**Use 1M wherever it’s available.** Every model that offers 1M, in your list or from your gateway, shows one option and requests 1M. - -[Self-hosted install](#self-hosted-column): Server side. When on, the host gives a session that names no model the 1M-token context, and tells Desktop. +**Use 1M wherever it’s available.** Every model that offers 1M context shows only its 1M option in the model picker. > **More detail** > -> Every model that offers a 1M-token context window shows one option in the model picker, and sessions on it request 1M from your provider. A model offers 1M when its `inferenceModels` entry sets `supports1m` or, under discovery, when your gateway's model list marks it. Equivalent to setting `prefer1m` on each of those entries, but also applies under dynamic discovery. To leave one listed model out, remove its `supports1m`. Beside a model list in which no entry sets `supports1m`, this setting does nothing. Older Claude Desktop versions show both options and only start the default model on its 1M option. +> A listed model offers 1M when its `inferenceModels` entry sets `supports1m`. Without a list, a model offers 1M when your gateway's model list marks it. *** @@ -1226,35 +1114,26 @@ object\[]Since 1.2581.0 **Model list.** Override the auto-discovered model list. First entry is the default. -[Self-hosted install](#self-hosted-column): Server side. The host runs a session only on a model from this list, and tells Desktop what to show. - > **More detail** > -> Use the **provider's exact model ID**: Vertex publisher IDs (`claude-sonnet-5`), Bedrock inference-profile IDs (`us.anthropic.claude-sonnet-5`), or Foundry deployment names. Entries may be plain ID strings or objects. -> -> **Gateway:** the `name` must be the exact ID your gateway's `/v1/models` endpoint returns. If you set `supports1m` on an alias (`sonnet`) but discovery returns the full ID, the variant won't appear. -> -> **Extended context** (`supports1m`) is a capability assertion you make about your deployment; only set it for models you've confirmed support the 1M-token window: -> -> ```json theme={null} -> [{"name": "claude-sonnet-5", "supports1m": true}, "claude-opus-4-8"] -> ``` -> -> `"claude-sonnet-5[1m]"` is shorthand for the same entry. When an ID is listed both bare and with `[1m]` (as a gateway lists it), the picker shows one model with a 1M variant; put `labelOverride` on the bare entry (a label on the `[1m]` spelling is ignored there); tier-tagged entries are not folded. `prefer1m: true` (no effect without `supports1m`) shows only the 1M variant of the model. Under dynamic discovery (no explicit list), set `modelPrefer1mContext` instead. -> -> **Display label** (`labelOverride`) is for IDs the picker can't derive a friendly name from (Bedrock ARNs, gateway routing aliases). Display-only; `name` is still what the app sends: +> Each entry is a model ID string or an object: > > ```json theme={null} -> [{"name": "arn:aws:bedrock:us-east-1:123:application-inference-profile/abc", "labelOverride": "Claude Opus (Prod)"}] +> [ +> {"name": "claude-sonnet-5", +> "supports1m": true}, +> "claude-opus-4-8" +> ] > ``` > -> **Tier mapping** (`anthropicFamilyTier`) tells the app which Claude tier (`haiku`/`sonnet`/`opus`/`fable`/`mythos`) an entry stands in for, so bare tier aliases (e.g. in Code sessions) resolve to your model. `isFamilyDefault: true` picks the winner when several entries share a tier: +> Use your inference provider's exact model ID: > -> ```json theme={null} -> [{"name": "us.anthropic.claude-opus-4-8", "anthropicFamilyTier": "opus"}] -> ``` +> * **Vertex:** the publisher ID (`claude-sonnet-5`). +> * **Bedrock:** the inference-profile ID (`us.anthropic.claude-sonnet-5`). +> * **Foundry:** the deployment name. +> * **Gateway:** the exact ID that its `/v1/models` endpoint returns. > -> **Auto mode on a gateway:** its safety classifier calls `claude-sonnet-5` by default, so include that exact ID in the list (see `autoModeEnabled`). +> For Auto mode on a gateway, also list `claude-sonnet-5`. Its safety classifier calls that ID by default (see `autoModeEnabled`). > **Child attributes (8)** > @@ -1276,7 +1155,7 @@ object\[]Since 1.2581.0 > > **anthropicFamilyTier** `enum` > -> Which Claude tier this model stands in for. Pins the bare alias (e.g. ‘opus’) and, for opus/fable, the refusal fallback. +> The Claude tier this model stands in for. A tier alias such as ‘opus’ then uses this model. > > One of: `sonnet`, `opus`, `haiku`, `fable`, `mythos` > @@ -1286,23 +1165,17 @@ object\[]Since 1.2581.0 > > **behavesAs** `string` > -> The Claude model this ID routes to, for IDs Claude Desktop cannot identify, such as a gateway alias. The ID then gets that model’s effort levels and limits. +> The Claude model behind an ID that the app cannot identify, such as a gateway alias. The ID gets that model’s effort levels and limits. > > > **More detail** > > -> > Set this when Claude Desktop cannot tell which Claude model a Model ID stands for, such as a gateway alias (`acme-claude-sonnet`), an opaque Bedrock ARN or a Foundry deployment name. Enter the ID of the Claude model it routes to. Region prefixes, dates and upper case are fine. A family name without `claude-` (`sonnet`, `sonnet-5`) is not a model ID. Claude Desktop ignores it and lists it in the diagnostic report. +> > Enter a Claude model ID such as `claude-sonnet-5`. Region prefixes, dates and upper case are fine. A family name without `claude-`, such as `sonnet-5`, is ignored. The model picker also ignores a model that Claude Desktop does not know. > > -> > ```json theme={null} -> > [{"name": "acme-claude-sonnet", "behavesAs": "claude-sonnet-5"}] -> > ``` -> > -> > The model picker then offers that model's effort levels for this entry in Chat, Cowork and Code, and its Thinking control in Chat and Cowork. Where nobody has picked a level, new sessions start at that model's default effort level unless `defaultModelEffort` or `maxEffort` says otherwise. Claude Code also uses that model's output limit, context window (1M where the model has it natively, even if this entry does not offer 1M) and list price. If that model cannot run in Auto mode, sessions on this entry do not start in it. -> > -> > The model picker ignores this value in two cases: when Claude Desktop already has effort or Thinking options for the Model ID, or when the value names a model that Claude Desktop does not know. If the Model ID contains a Claude model ID (`acme-claude-sonnet-4-6`) or a Claude model family with its major version (`claude-sonnet-4`, as in `acme-claude-sonnet-4`), Claude Code uses the model that the ID names and ignores this value. In this case, set this value to that same model. If the route serves a different model, give the route an ID that contains no version. For any other ID, update this value when the route changes to a different model. After any selectable entry sets this value, sessions that Claude Desktop starts no longer read a person's own `modelPicker` setting from Claude Code's settings. +> > If `name` contains a Claude model name with its version, as in `acme-claude-sonnet-4`, Claude Code uses that model and ignores this value. Enter that same model here. If that ID serves a different model, rename it so that it contains no version. > > **maxEffort** `enum` > -> Highest effort level offered for this model; higher levels are hidden and never requested by Claude Desktop. An unrecognized value caps the model at low. +> Highest effort level offered for this model. Claude Desktop hides higher levels and never requests them. An unrecognized value means low. > > One of: `low`, `medium`, `high`, `xhigh`, `max` @@ -1312,15 +1185,17 @@ object\[]Since 1.2581.0 enumSince 2.110.0 -**Default model effort.** Effort level the default model (the first listed model) starts at, instead of Anthropic’s recommended level: low, medium, high, xhigh or max. +**Default model effort.** Effort level the default model (the first listed model) starts at, instead of Anthropic’s recommended level. One of: `low`, `medium`, `high`, `xhigh`, `max` -[Self-hosted install](#self-hosted-column): Server side. The host sets the effort of a session that names none, and tells Desktop what to preselect. - > **More detail** > -> The effort level the default model (the first `inferenceModels` entry, or the first model your endpoint returns under discovery) starts at in Chat, Cowork and Code, in place of Anthropic's recommended level for that model: one of `low`, `medium`, `high`, `xhigh`, `max`. It is a starting point, not a lock: a person's own effort choice for that model still applies unless `alwaysStartWithDefaultModel` is on, and other models keep their recommended level. A level the model doesn't offer falls to the nearest level it offers below it (its lowest level when none is lower), and it never exceeds that model's `maxEffort`. In Code sessions a `CLAUDE_CODE_EFFORT_LEVEL` environment variable or an `effortLevel` in Claude Code's own settings still takes precedence, as it does over any picker default. +> * A user's own effort choice for that model still applies, unless `alwaysStartWithDefaultModel` is on. +> * A level that the model does not offer becomes the nearest lower level, or its lowest if none is lower. +> * In Code, the `CLAUDE_CODE_EFFORT_LEVEL` environment variable or `effortLevel` in Claude Code's settings takes priority. +> +> Without `inferenceModels`, the default model is the first one your endpoint returns. *** @@ -1328,13 +1203,7 @@ One of: `low`, `medium`, `high`, `xhigh`, `max` booleanSince 2.110.0 -**Always start with the default model.** New conversations and tasks start on the default model and effort level, not each person’s last-used ones. People can still change both for the current one. - -[Self-hosted install](#self-hosted-column): Server side. Desktop's model picker acts on it, starting each new session on the default model. - -> **More detail** -> -> When `true`, each new conversation or task in Chat, Cowork and Code starts on the default model (the first `inferenceModels` entry), and the model and effort choices a person makes are no longer saved as their defaults. When unset or `false`, a person's last model and effort choice is remembered per tab, as before. Choices saved before the setting was turned on are kept and apply again if it is turned off. +**Always start with the default model.** Each new conversation or task starts on the default model and effort, not the user’s last choice. Users can still change both for that one. *** @@ -1342,13 +1211,15 @@ booleanSince 2.110.0 booleanSince 1.37937.0 -**Show estimated cost.** Show an estimated cost on the Usage page at Anthropic list price; turn on to set a multiplier or per-model rates. - -[Self-hosted install](#self-hosted-column): Server side. When on, the host gives its sessions the admin's rates and multiplier; Desktop shows cost once they report it per turn. +**Show estimated cost.** Show an estimated cost on the Usage page, at Anthropic list price unless you set a multiplier or per-model rates. > **More detail** > -> Off unless set: the Usage page shows token counts only, since the app cannot know your negotiated provider rates. `true` turns on a USD estimate priced at Anthropic's published list price and is the only switch that does: `inferenceModelPricingMultiplier` and `inferenceModelPricing` refine the estimate while this is on and are ignored otherwise; turning this off hides them in the config editors without clearing them. Claude Code performs the calculation, so the same figures appear in its own cost reporting for Code sessions. Model IDs Claude Code cannot map to a Claude model (an opaque gateway alias, an inference-profile ARN it cannot resolve) are left out of the estimate until `inferenceModelPricing` gives them a rate. A machine-level Claude Code managed `modelPricing` (MDM / managed-settings.json / server-managed) takes precedence over all three keys. +> The estimate is in USD. `inferenceModelPricingMultiplier` and `inferenceModelPricing` adjust it, and are ignored while this is off. +> +> Model IDs that cannot be matched to a Claude model, such as an opaque gateway alias, are left out until `inferenceModelPricing` gives them a rate. +> +> A `modelPricing` in Claude Code's managed settings takes priority over all three keys. *** @@ -1358,12 +1229,6 @@ numberRange: 0–1Since 1.37937.0 **Price multiplier.** Scales every estimated cost (0.85 = 85% of the price); between 0 and 1. -[Self-hosted install](#self-hosted-column): Server side. While Show estimated cost is on, the host hands Claude Code this multiplier for the cost its sessions report. - -> **More detail** -> -> Mirrors Claude Code's managed `modelPricing.multiplier`: a number in (0, 1] applied to every computed cost, whether the model was priced at Anthropic list price or by an `inferenceModelPricing` row; use it for a flat contracted discount. Applies only while `inferenceModelPricingEnabled` is `true`; on its own it does not turn the estimate on. Ignored when a machine-level Claude Code managed `modelPricing` is present. - *** #### `inferenceModelPricing` @@ -1372,23 +1237,11 @@ object\[]Since 1.37937.0 **Model pricing.** Per-model rates replacing Anthropic list price in the Usage page’s estimate. -[Self-hosted install](#self-hosted-column): Server side. While Show estimated cost is on, the host hands Claude Code these rates for the cost its sessions report. - -> **More detail** -> -> Each row replaces Anthropic list price for one model in the Usage page's estimate, in USD per million tokens (`inputPerMtok`, `outputPerMtok`, `cacheReadPerMtok`, `cacheWritePerMtok`, all four required; `cacheWritePerMtok` prices both 5-minute and 1-hour cache writes); rows apply only while `inferenceModelPricingEnabled` is `true` and do not turn the estimate on by themselves. Mirrors Claude Code's managed `modelPricing.overrides`, and `name` is matched the same way: a built-in Claude model ID (e.g. `claude-sonnet-4-6`, or its Bedrock, Vertex, or Foundry ID) covers every dated and provider spelling of that model; any other value (a gateway alias, an inference-profile ARN) matches that exact ID only (case-insensitive) and wins over a built-in row. An ID Claude Code cannot map to a Claude model at all gets no estimate until a row here prices it. `inferenceModelPricingMultiplier` still applies on top of a row. -> -> ```json theme={null} -> {"inferenceModelPricingEnabled": true, "inferenceModelPricingMultiplier": 0.9, "inferenceModelPricing": [{"name": "claude-sonnet-4-6", "inputPerMtok": 2.4, "outputPerMtok": 12, "cacheReadPerMtok": 0.24, "cacheWritePerMtok": 3}]} -> ``` -> -> These are estimates for visibility, not an invoice; your provider bills at its own rates. A machine-level Claude Code managed `modelPricing` (MDM / managed-settings.json / server-managed) takes precedence over this table. - > **Child attributes (5)** > > **name** `string` *required* > -> A model ID from the list above, or any other ID or alias your provider serves. A built-in Claude ID also covers its dated and provider forms. +> A model ID from the list above, or another ID or alias your provider serves. A built-in Claude ID also covers its dated and provider forms. > > **inputPerMtok** `number` *required* > @@ -1412,15 +1265,15 @@ object\[]Since 1.37937.0 booleanSince 2.110.0 -**Model catalog metadata.** Fetch the published Claude Code model catalog to get model picker names, descriptions, and effort options. When off, the app uses only its bundled copy. - -[Self-hosted install](#self-hosted-column): Server side. The host serves the model catalog's rows to Desktop, and to nobody for whom this is off. +**Model catalog metadata.** Fetch Anthropic’s model catalog for model picker names, descriptions and effort options. When off, the app uses only its bundled copy. [Admin Console](#the-works-with-column): Not available. > **More detail** > -> When on (the default), the app reads the model catalog Anthropic publishes for Claude Code (a signed document fetched from `downloads.claude.ai`, or from `modelCatalogUrl` when that is set, and verified against a key built into the app; a copy bundled with the app is used until one has been fetched, or when the host is unreachable) and uses it to fill in each picker entry's display name, description, and thinking/effort options in the Chat, Cowork, and Code tabs. It never changes which models are offered, their order, or the default model (the first `inferenceModels` entry): those, 1M-context variants, and `labelOverride` still come from `inferenceModels` / discovery, and a model the catalog does not list keeps the built-in label. With `modelCatalogEnabled: false`, the app makes no catalog request and ignores any copy it fetched earlier. Picker names, descriptions, effort options, and recommended effort levels then come from the copy bundled with the installed app version, so they change only with app updates; `labelOverride`, `defaultModelEffort`, and `maxEffort` still apply. A model that copy does not list, typically one released after that version, may show no effort options until the app is updated. Applies to deployments configured on the device or by a bootstrap server; an install managed from the Claude admin console takes its model names and options from the console's settings and never fetches the catalog. +> On unless set to `false`. The app fetches Anthropic's signed catalog from `downloads.claude.ai`, or from `modelCatalogUrl` if that is set. The catalog never changes which models are offered, their order or the default model. +> +> When off, the app makes no catalog request. A model released after the installed version may then show no effort options until the app is updated. *** @@ -1428,15 +1281,17 @@ booleanSince 2.110.0 stringSince 2.110.0 -**Model catalog URL.** Fetch the model catalog and its signature file from this URL (a mirror inside your network serving Anthropic’s published files) instead of downloads.claude.ai. - -[Self-hosted install](#self-hosted-column): Server side. Only Desktop versions too old to take the model catalog's rows from their session host fetch from here. +**Model catalog URL.** Get the model catalog from a mirror inside your network instead of downloads.claude.ai. [Admin Console](#the-works-with-column): Not available. > **More detail** > -> When set, the app fetches the catalog document and its signature file (the same URL with `.raw-sig.json` appended to the path) from this URL instead of `https://downloads.claude.ai/model-catalog/v1/catalog.json`, for a gateway or mirror inside your network serving Anthropic's two published files byte-for-byte. The document is still verified against the key built into the app, so an edited or re-signed copy is refused and the app keeps its last verified copy (or the bundled one); there is no key to configure. `https://` is required (`http://` only to a loopback address, and only when set on the device itself; a bootstrap server may not deliver a loopback or non-`https://` value); the server must answer the GET directly (redirects are not followed) and may honor `If-None-Match` with `304`, and must serve a document at least as new as the one the install last accepted (or the bundled seed) — an older one is refused and re-fetched on the retry interval until the mirror catches up. Ignored when `modelCatalogEnabled` is `false`, and on an install managed from the Claude admin console (which never fetches the catalog). A value that is not a valid URL, names a link-local or cloud-metadata host (e.g. `169.254.169.254`, `metadata.google.internal`), or is a loopback / non-`https://` value a bootstrap server delivers, turns the catalog fetch off (no fallback to `downloads.claude.ai`); the last fetched or bundled copy keeps labelling the pickers. On an install configured for a bootstrap server, the default location is not fetched until the server's configuration applies after sign-in, so a device does not poll `downloads.claude.ai` while the server may yet name a mirror; a mirror URL set on the device, cached earlier, or served in a pre-sign-in subset still fetches. Diagnostics report the location only as `hosted`, `custom`, `invalid` or `pending`; the value itself is treated like `bootstrapUrl`: host name only in telemetry, printed in full in the diagnostics bundle. +> Mirror two Anthropic files unchanged: `https://downloads.claude.ai/model-catalog/v1/catalog.json` and its signature file. The app looks for the signature at this URL with `.raw-sig.json` added to the path. +> +> * The app refuses an edited or re-signed copy and keeps its last good one. +> * Use `https://`. The app does not follow redirects. +> * An invalid value turns the catalog fetch off. The app does not fall back to `downloads.claude.ai`. *** @@ -1450,8 +1305,6 @@ booleanDefault: trueSince 1.9659.0 **Allow Cowork.** Enable Cowork. Claude works on longer tasks like research, analysis, and documents. -[Self-hosted install](#self-hosted-column): Not supported. On a session host desktopHome alone decides Cowork: to turn Cowork off, set desktopHome to off in its policy document. - *** ### Code surface @@ -1462,8 +1315,6 @@ booleanDefault: trueSince 1.2581.0 **Allow Code.** Enable Code. Claude writes and runs code. -[Self-hosted install](#self-hosted-column): Server side. The host refuses Code sessions and routines where the tab is off, and tells Desktop to hide it. - *** #### `sshHostAllowlist` @@ -1474,21 +1325,18 @@ Beta (The feature that the key configures is in beta.) Since 1.40609.0 -**SSH host allowlist.** SSH hosts for Code sessions. Unset: off unless the device’s Claude Code managed settings list hosts. An admin’s empty list: off even then. \* allows any host. +**SSH host allowlist.** SSH hosts for Code sessions. Unset: off, unless the device’s Claude Code managed settings list hosts. \* allows any host. [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md) -[Self-hosted install](#self-hosted-column): Not supported. Governs SSH sessions started from the person's computer, which self-hosted installs never offer. - > **More detail** > -> When off, the SSH option is hidden and any connection attempt is refused. +> The app forwards the session's inference credential to the SSH host, plus your collector endpoint and auth headers when `otlpEndpoint` is set. List only hosts you trust with those. > -> Entries are exact hostnames (`build01.corp.example.com`) or `*.` wildcards (`*.corp.example.com` matches the apex and subdomains at any depth); matching is case-insensitive and ignores a `user@` prefix. The list is compared with the `HostName` that the user's SSH configuration (`~/.ssh/config`) gives for the host they entered, or with the entered host itself when the configuration has no entry for it or cannot be evaluated. So an alias is allowed when the host it points to is listed, whatever the alias is called, and refused when it is not. A session's jump hosts (`ProxyJump`, or `ProxyCommand ssh -W %h:%p host`) must be listed too, by `HostName`. One the app fails to read, and any other `ProxyCommand` (`ssh -i`…), is permitted when the resolved host matches (this key governs which hosts the app offers, not network egress). The built-in SSH library refuses every `ProxyJump`. +> * **Entries:** a hostname (`build01.corp.example.com`) or a wildcard (`*.corp.example.com`, which also matches `corp.example.com`). +> * **Aliases:** list the `HostName` that the user's `~/.ssh/config` gives for a host, not its alias. List jump hosts too. > -> This is opt-in because a remote session runs Claude Code on the SSH host and the app forwards the session's inference credential to it, plus your OTLP collector endpoint and auth headers when `otlpEndpoint` is set. List only hosts you trust with those. Token-based credentials are forwarded. File-based credentials (Bedrock IAM Identity Center sign-in or AWS profile, Vertex Google sign-in or a credentials file) are never forwarded, and a session that needs one from the device is refused. -> -> If this key is unset, an `sshHostAllowlist` in Claude Code's own managed-settings file on the device still applies; when both are set, this key wins where the app's configuration is admin-managed (MDM, the admin console, or a device-managed bootstrap URL) and otherwise applies only while that file sets none. `allowedWorkspaceFolders` still applies on the remote host. Claude Code's managed settings on a host replace the sandbox, network, permission, and MCP rules this app sends unless they set `parentSettingsBehavior` to `"merge"`. +> This key governs which hosts the app offers, not network access. A host's own Claude Code managed settings replace the rules the app sends, unless they set `parentSettingsBehavior` to `"merge"`. *** @@ -1506,11 +1354,13 @@ Since 1.46388.1 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md) -[Self-hosted install](#self-hosted-column): Not supported. Names the ssh program on the person's computer, and self-hosted installs offer no SSH sessions. - > **More detail** > -> Pins which OpenSSH client the app runs wherever it starts `ssh`: evaluating the user's SSH configuration (`ssh -G`), making the SSH connection and its channels, and the Code tab's terminal. `ssh-keygen` and `ssh-add` are taken from the same directory when they exist there, otherwise from PATH. The program must be OpenSSH 7.6 or newer. To carry the connection on Windows it must be Win32-OpenSSH 9.4 or newer, or another OpenSSH 8.5 or newer under Program Files, such as Git for Windows' `usr\bin\ssh.exe`, only where device policy, or the configuration server it names, sets this key and sets the SSH connection engine setting to `system-openssh`; the app points such a client at the `.ssh` folder of the user's Windows profile, and asks for a password, code or key passphrase only on a direct connection (no jump host, `ProxyCommand`, `Match exec`, `KnownHostsCommand`, `PKCS11Provider` or `SecurityKeyProvider`); otherwise only a key that needs nothing typed signs in. Set such a client only on desktops with one user. On macOS and Linux a wrapper script that ends in one is accepted, on Windows it must be an `.exe` (no .cmd, .bat or .ps1). When the program is missing, cannot be run, or is too old, SSH sessions fail with an error telling the user to ask their IT administrator — the app never falls back to another ssh. This program carries the connection on the system-OpenSSH engine; where the built-in SSH library does, this key still governs `ssh -G`, host-key lookups (`ssh-keygen`) and the terminal. A configuration server's settings, once loaded, replace device policy's even if they omit this key: serve it too, to one platform's devices only, with the SSH connection engine setting. On a device that a Claude.ai sign-in has moved to an admin-console organization (see `disableDeploymentModeChooser`), the device profile's value is ignored: set the key in admin settings (which cannot name such a client). There, until the organization's configuration has loaded, no client is pinned. +> The app never runs another `ssh` in its place. If the program is missing, too old or cannot run, SSH sessions fail. So deliver this key only to devices that have the program. +> +> It must be OpenSSH 7.6 or newer. On Windows it must be an `.exe`, and the SSH remote sessions page lists stricter rules for its version and folder. With `sshTransport` set to `system-openssh`, a Windows path may start with `%LOCALAPPDATA%\` for a copy in each user's profile. Device management must set it as a plain string: a server may only repeat it. +> +> Choose a path that users cannot write to. Anyone who can replace the program can see SSH passwords and get around this key and `sshHostAllowlist`. *** @@ -1522,23 +1372,18 @@ Beta (The feature that the key configures is in beta.) Since 1.52386.0 -**SSH connection engine.** Which SSH engine carries Code sessions: the OpenSSH ssh program on the device, or the app’s built-in SSH library. Unset or auto: the build’s default. +**SSH connection engine.** How Code connects over SSH: with the OpenSSH ssh program on the device, or with the app’s built-in SSH library. Unset: the app’s default. One of: `auto`, `system-openssh`, `builtin` [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md) -[Self-hosted install](#self-hosted-column): Not supported. Chooses the SSH engine on the person's computer, and self-hosted installs offer no SSH sessions. - > **More detail** > -> `system-openssh`: the app makes every SSH connection by running an OpenSSH `ssh` program — the one `sshClientPath` names, otherwise the first `ssh` on the user's PATH (on Windows, a Win32-OpenSSH `ssh.exe`: the PATH one, else the in-box or Microsoft-installed client) — so the organization's own OpenSSH build, with its Kerberos/GSSAPI, certificate and `ssh_config` support, is what authenticates. The program must be OpenSSH 7.6 or newer (Windows: Win32-OpenSSH 9.4 or newer, or another OpenSSH that `sshClientPath` names: see that key). When `sshClientPath` is set and that program cannot be used, sessions fail with an error telling the user to ask their IT administrator rather than falling back; when it is unset and Windows has no usable client, the built-in library is used. -> -> `builtin`: the app's built-in SSH library makes the connection, whatever the build's default. +> With `system-openssh`, your OpenSSH client's own Kerberos, certificate and `ssh_config` support applies. See `sshClientPath` for which program runs. > -> `auto` or unset: the build's default engine. -> -> An explicit value overrides the default at each host's next connect or reconnect. An open app takes a device profile's change at its next configuration check. From a configuration server it takes only `builtin`, once two checks in a row return it (about 12 minutes by default); other values wait until it is reopened or the user signs in again. A value that cannot be read, such as a misspelling, counts as `builtin` and waits likewise. Once a server's configuration has loaded it decides, even if it omits the key; until then the device profile's value applies. On a device that a Claude.ai sign-in has moved to an admin-console organization (see `disableDeploymentModeChooser`), the device profile's value is ignored: set the key in the admin console. There, until the organization's configuration has loaded, the build's default engine is used. +> * The program must be OpenSSH 7.6 or newer, and on Windows normally Win32-OpenSSH 9.4 or newer. +> * If `sshClientPath` is unset and Windows has no usable client, the app uses its built-in library instead. *** @@ -1550,8 +1395,6 @@ booleanSince 1.13576.0 **Allow Chat.** Enable Chat. Quick questions and drafting. -[Self-hosted install](#self-hosted-column): Not supported. No Chat session can start on a session host, so the switch has nothing to turn on or off there. - *** #### `desktopHome` @@ -1562,11 +1405,13 @@ enumSince 1.52386.0 One of: `standard`, `off` -[Self-hosted install](#self-hosted-column): Server side. Alone decides Cowork, which is on only while this is unset or standard; else the host refuses it and Desktop hides it. - > **More detail** > -> `standard` turns on Unified Claude, which combines Chat and Cowork into one experience. `off` turns Chat and Cowork off entirely. `isClaudeCodeForDesktopEnabled` still decides Code. While the key is unset, `chatTabEnabled`, `chatAdvancedFileAnalysisEnabled`, and `coworkTabEnabled` decide until November 10, 2026 (12:00 PM PT). Current versions of Claude Desktop launched after that open Unified Claude for an unset key. With Cowork on, they read it as `standard`, whatever `chatTabEnabled` and `chatAdvancedFileAnalysisEnabled` say. Two cases keep those three keys deciding, as before that date. One: Cowork is on, `chatSessionRetentionDays` is set, and `coworkSessionRetentionDays` is not set to the same number of days. Two: Chat, Cowork, and `isClaudeCodeForDesktopEnabled` are all off, where the app turns one of them back on. Values are case-sensitive, so `Standard` is not recognized. A value that the app does not recognize is read as `off`, so update the app on devices before you deploy a value added in a later version. +> `standard` turns on Unified Claude. `off` turns Chat and Cowork off, which leaves only Code, or nothing where Code is off. `isClaudeCodeForDesktopEnabled` still decides Code. +> +> **Unset:** the three settings that this key replaces decide until November 10, 2026 (12:00 PM PT). Current versions of the app started after that read an unset key as `standard`, whatever those three say. Cowork is then on even where `coworkTabEnabled` is `false`. One exception: where `chatSessionRetentionDays` is set and `coworkSessionRetentionDays` is not set to the same number of days, the three settings go on deciding. +> +> A non-empty value that the app does not recognize, such as `Standard`, is read as `off`. *** @@ -1576,17 +1421,13 @@ booleanSince 1.14271.0 **Advanced file analysis.** Allow Claude to run code in a local sandbox to analyze attached files it can’t read natively — like Excel and PowerPoint. -[Self-hosted install](#self-hosted-column): Not supported. Configures a Chat session's local sandbox, and no Chat session can start on a self-hosted install. - > **More detail** > -> Also enables inline data analysis. Of the user's own files, the sandbox can read only those attached to the conversation, plus folders added to the chat's project through the app (read-only). -> -> Commands in the sandbox can reach the hosts in `coworkEgressAllowedHosts`, and no others. If that list is unset or empty, they have no network access. With `*` in the list they can reach any host, as in Cowork. Plugin CLIs are the exception: they can always reach the hosts their plugin declares, plus the listed hosts (with `*`, only the declared hosts). Older app versions give the sandbox no network access by default. +> Of the user's files, the sandbox can read only those attached to the conversation and folders added to the chat's project through the app (read-only). > -> As in Cowork, commands run without an approval prompt. So they can upload anything the sandbox can read to a listed host, and run what they download from one. To have Claude ask before each command, set `Bash` to `ask` in `builtinToolPolicy`, which also applies to Cowork and Code. To let commands install packages, list the hosts of the package manager's default index (for pip, `pypi.org` and `files.pythonhosted.org`). For a private mirror, list its host instead. Nothing points package managers at a mirror, so each command must name it (for pip, `--index-url`). +> Commands reach the hosts in `coworkEgressAllowedHosts`, and none if that list is unset or empty. Plugin CLIs can always reach the hosts that their plugin declares. > -> Project folders are not available in the sandbox of a chat started while a rule on `Read`, `Grep` or `Glob` is set: in `disabledBuiltinTools`, in `builtinToolPolicy` with a value other than `allow`, or as a deny or ask rule in Claude Code's own managed settings on the device, whether or not the rule covers the folder. They are not available either where those managed settings cannot be read, or where Claude Code takes its managed settings from a gateway. Claude's file tools still read what the rules allow. +> Commands run without an approval prompt. So they can upload anything the sandbox can read to a listed host, and run what they download from one. To have Claude ask before each command, set `Bash` to `ask` in `builtinToolPolicy`, which also applies to Cowork and Code. *** @@ -1596,21 +1437,19 @@ booleanSince 1.14271.0 string\[]Since 1.2581.0 -**Allowed egress hosts.** Hosts agent tools may reach in Cowork and Chat (Code: in part). An empty list acts as unset for tools, but stops Claude opening sites in the built-in browser. +**Allowed egress hosts.** Hosts that Claude’s tools can reach from Chat and Cowork, and partly from Code. Unset or empty: no web fetch in Chat and Cowork. [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/web-tools.md#web-fetch) -[Self-hosted install](#self-hosted-column): Server side. Tools in the host's sessions make the network calls, so the host limits which addresses they may reach. - > **More detail** > -> Applies only to **tool calls**, in Cowork, Code and Chat. In Cowork it covers the sandbox's web fetch, shell commands and package installs. In Chat it covers web fetch and commands in the file-analysis sandbox. In Code it's [translated into Claude Code's network sandbox allowlist](https://claude.com/docs/third-party/claude-desktop/code.md#applied-as-managed-policy), and by default a separately deployed Claude Code managed-settings file takes precedence. It does **not** cover Web Search (which runs at your inference provider), inference, or MCP traffic. A list other than `*` also bounds where Claude may browse in the built-in browser. When unset, Cowork and Chat refuse web fetch. -> -> Entries are exact hostnames (`api.github.com`), wildcards (`*.corp.com` matches subdomains at any depth, not `corp.com` itself), or `*` to allow all. IP addresses match only when listed exactly. In Cowork and Chat, web fetch always blocks `localhost` and private addresses, and shells reach only listed hosts (not your inference provider's, unless listed), or none when unset. Code's shell obeys that limit only where its sandbox runs (macOS; Linux and WSL2 need bubblewrap and socat); elsewhere, Windows included, it reaches any host. Code's web fetch isn't limited. +> Does not cover web search, model requests or MCP servers. > -> Any entry except bare `*` may carry a `:port` suffix (`*.corp.com:8443`) restricting it to that port. IPv6 literals are not supported. Invalid entries are dropped with a log warning and the rest still work. An unreadable value counts as an empty list. Ports are enforced for the Cowork sandbox's web fetch, shell, and package-install egress; plugin CLIs also reach hosts their plugin declares and ignore port-scoped entries for now, and the Code translation treats them as the bare host. Only deploy port-scoped entries once your whole fleet supports them (`disableAutoUpdates` pins builds). On an older build, a single one invalidates the session's whole shell and package-install allowlist. -> -> Open listed hosts on your network firewall too. +> * **Entries:** a hostname (`api.github.com`), a wildcard (`*.corp.com`, subdomains only) or `*` for all hosts. +> * **Ports:** an entry other than `*` can end in `:port`. In Cowork, web fetch and shell commands enforce the port. Code allows any port. Update all devices first: on an older version one such entry blocks every host for Cowork's shell commands. +> * **Plugins:** a plugin's command-line tools also reach the hosts that the plugin declares. +> * **Built-in browser:** a list other than `*`, even an empty one, also limits where Claude can browse. +> * **Code:** only shell commands are limited, and only where Claude Code's sandbox runs (see `allowedWorkspaceFolders`). Claude Code's own managed settings, where a session has any, take priority by default. *** @@ -1618,19 +1457,16 @@ string\[]Since 1.2581.0 object\[]Since 1.2581.0 -**Allowed workspace folders.** Folders where Claude may work, in Cowork, Code (shell commands only in part) and the project folders a chat reads. Leave unset for unrestricted access. - -[Self-hosted install](#self-hosted-column): Server side. The host refuses file access outside folders listed as full paths, and Desktop checks those listed with \~ or a variable. +**Allowed workspace folders.** Folders that Claude can use in chat projects, Cowork and Code. Code’s shell commands are only partly limited. Unset: all folders. > **More detail** > -> Paths can reference `~` and these environment variables, expanded per user: `%OneDrive%`, `%OneDriveCommercial%`, `%OneDriveConsumer%`, `%APPDATA%`, `%LOCALAPPDATA%`, `%USERNAME%`, `%XDG_DOCUMENTS_DIR%`. An entry that references any other `%VAR%`, or one that is unset on the device, allows none. +> Claude can read and write in every listed folder unless its `mode` is `ro`. An empty list allows none. > -> Each folder is interpreted on the machine the session runs on. For a Code session on an SSH host, `~` means the remote user's home, an entry that references a `%VAR%` allows none there, and the session's working directory must be inside one of the folders as they exist on that host. One list serves every machine: in `["~/work", "/srv/work"]`, `~/work` is each user's own and `/srv/work` counts only where it exists. On an SSH host, an entry counts only if it is an absolute path as that host spells one (`~/work`, not `work`; on Windows `C:\work`, not `\work`), with no `..`. On Linux or Mac a `\` counts as `/`, except a leading `\\`. One inside another listed folder does not count on its own (its read-only mode still applies); if it is a link, list the folder it points to. An empty list allows none; unset allows all. +> * **Paths:** `~` and these variables expand per user: `%OneDrive%`, `%OneDriveCommercial%`, `%OneDriveConsumer%`, `%APPDATA%`, `%LOCALAPPDATA%`, `%USERNAME%`, `%XDG_DOCUMENTS_DIR%`. An entry with any other variable, or an unset one, adds no folder. +> * **Code shell commands:** this key turns on Claude Code's sandbox on macOS, and on Linux and WSL2 with bubblewrap and socat. There, most writes outside the list are refused, and most reads are not. Elsewhere, Windows included, only Claude's file tools follow the list. Claude Code's own managed settings, where a session has any, take priority by default. > -> Claude may write as well as read a listed folder, unless the entry's `mode` (Access mode in Setup) makes it read-only; that field's description says how far read-only reaches. A Code session reaches every listed folder, not only the one it was opened in. Setting this key also turns on Claude Code's sandbox where it runs (macOS; Linux and WSL2 need bubblewrap and socat): there a shell command normally writes in the listed folders with no approval prompt, and most of its other writes, such as to a package cache, are refused (its reads are not). Elsewhere, Windows included, the list binds Claude's file tools, not Code's shell commands; the permission mode and `builtinToolPolicy` still apply to those. A home directory holds shell start-up files and SSH keys, so list work folders instead. -> -> The list also limits which folders of a project a chat reads. +> Do not list a home folder: it holds SSH keys and shell start-up files. > **Child attributes (3)** > @@ -1644,21 +1480,16 @@ object\[]Since 1.2581.0 > > **mode** `enum` > -> Read-only folders can be viewed and searched but not modified in Cowork. In Code, applies to file tools only. Over SSH, also to Bash in its sandbox. +> With `ro`, Cowork can view the folder but not change it. In Code this mostly limits file tools, not shell commands. > > One of: `rw`, `ro` > > > **More detail** > > -> > Read-only folders can be viewed and searched but not modified in Cowork (by Claude or via the UI). Bash runs in Cowork's isolated workspace where the folder is mounted read-only at the OS level; file-tool writes (Edit, Write) are blocked in-process by Claude Desktop. -> > -> > In local Code sessions, read-only applies to Claude's file tools only; Bash does **not** yet enforce it. -> > -> > In SSH sessions (earlier versions ignore the mode on the host), read-only is enforced by Claude Code's own permission rules: its file tools cannot modify the folder. A writable folder inside a read-only one is read-only too. Shell commands are stopped only where Claude Code's sandbox runs (Linux needs bubblewrap and socat), and only as far as that sandbox goes: keep read-only folders outside writable ones, and use the operating system's permissions where a folder must not change. The sandbox does not cover a path with `* ? [ ] ( ) { } | +` or a double quote. List each folder by its real path: shell commands may not be stopped in a folder listed through a link. Not enforced on Windows hosts, nor on a host with Claude Code managed settings of its own unless they set `parentSettingsBehavior` to `merge`. Not covered: MCP servers, hooks, the terminal, commands in `sandbox.excludedCommands`, and git worktrees, which Claude Desktop and Claude Code still create inside the folder. +> > * **Code on the device:** Claude's file tools cannot change the folder. Shell commands still can. +> > * **Code over SSH:** the same, but shell commands are partly limited where Claude Code's sandbox runs on the host. Nothing is enforced on Windows hosts. > > -> > If a read-only entry's `%VAR%` cannot be filled in (unset, unsupported, or any `%VAR%` over SSH), the folder above the variable is read-only instead, or every listed folder if the entry names none above it. A variable that only another operating system sets (`%APPDATA%` on macOS) leaves the entry without effect while it is unset there. -> > -> > A read-only folder that contains Claude's own data directory (for example the home folder; over SSH, `~/.claude` on the host) is enforced in Cowork only. Configure narrower folders for Code coverage. Over SSH, keep a Claude Code config folder moved by `CLAUDE_CONFIG_DIR` outside read-only folders. +> > In Code, a device or SSH host with Claude Code managed settings enforces nothing, unless they set `parentSettingsBehavior` to `merge`. Where a folder must not change, use the operating system's permissions. A read-only folder that holds Claude's own data, such as the home folder, is enforced in Cowork only. *** @@ -1666,17 +1497,17 @@ object\[]Since 1.2581.0 booleanSince 1.46388.1 -**Block reads outside working directories.** Keep Claude from reading files outside a Code session’s working directories. File tools refuse such reads; sandboxed shell commands lose the home directory. - -[Self-hosted install](#self-hosted-column): Server side. The host starts Code sessions, so it hands Claude Code the block on reads outside their folders. +**Block reads outside working directories.** Keep Claude’s file tools from reading outside a Code session’s working directories. Shell commands are only partly limited. > **More detail** > -> When set to `true`, Code sessions refuse reads outside their working directories (the session folder plus any `allowedWorkspaceFolders`). The file tools (Read, Grep, Glob) refuse them in every permission mode; where Claude Code's sandbox runs (macOS; Linux and WSL2 need bubblewrap and socat) once `allowedWorkspaceFolders` is set or an egress allowlist applies (in third-party deployments one applies unless `coworkEgressAllowedHosts` contains `*`; in first-party deployments none does), shell commands cannot see the home directory and other user folders (`/Users`, `/home`, mounted volumes) and a read there is refused with no prompt; elsewhere (Windows, Linux where the sandbox does not start, or neither folders nor an egress allowlist in effect) such shell reads prompt for approval. The app keeps the user's git configuration files (which may themselves embed credentials such as URL tokens; a symlinked one stays hidden), its own Claude Code installation, and the session's plugin and attachment folders readable (not on a Windows SSH host, where plugin files and attachments stay out of the file tools' reach under the block). An allowed folder that is or contains the home directory leaves it readable. +> * **File tools** refuse most reads outside the session folder and any `allowedWorkspaceFolders`, in every permission mode. +> * **Shell commands:** where Claude Code's sandbox runs (see `allowedWorkspaceFolders`), most reads in the home folder and other user folders are refused. Elsewhere such reads ask for approval. +> * **Users** can re-open folders, even their whole home folder, in their own Claude Code settings. > -> Users can re-open folders (even their whole home) in their own Claude Code settings with `sandbox.filesystem.allowRead` or `permissions.additionalDirectories`; settings files tracked in a git repository cannot. The key travels on Claude Code's managed-settings channel: another Claude Code managed-settings source replaces it unless that source sets `parentSettingsBehavior` to `"merge"`, and one that sets `sandbox.filesystem.allowManagedReadPathsOnly` reduces it to approval prompts. This is `permissions.blockReadsOutsideWorkingDirectories` in Claude Code's [managed settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings). +> The user's git configuration files stay readable, and they can hold credentials. > -> Unset (default): nothing changes. +> Claude Code's own managed settings, where a session has any, take priority by default. *** @@ -1684,19 +1515,13 @@ booleanSince 1.46388.1 booleanSince 1.10628.0 -**Allow Auto mode.** Offer Auto mode in Code (on unless set to false); set to true to also offer it in Cowork as “Automatically approve”. Claude decides which actions need approval. - -[Self-hosted install](#self-hosted-column): Server side. The host allows or refuses Auto mode for the sessions it runs, and tells Desktop what to offer. +**Allow Auto mode.** Offer Auto mode, where Claude decides which actions need approval. Unset: in Code only. True adds Cowork. > **More detail** > -> Left unset, users can select **Auto mode** in Code and new Code sessions start in it; a mode the user already chose, or a Claude Code settings file's `permissions.defaultMode`, takes precedence, and Cowork does not offer it. Set to `true` to also offer **Automatically approve** in Cowork (Cowork sessions still start by asking before each action until the user picks it). Set to `false` to remove the option from both tabs. In Auto mode Claude runs a safety classifier on each action and only prompts for approval on actions it judges risky, instead of following the static per-tool policy. -> -> Requires a session model that supports the safety classifier — which models qualify depends on the deployment's provider and the app version. With a model that lacks support the option is greyed out and Code sessions do not start in it. `builtinToolPolicy` and this key may both be set; Auto mode is a user-selectable option alongside the default policy, not a replacement for it. +> Unless it is `false`, new Code sessions normally start in Auto mode. > -> By default on a gateway, the safety classifier sends its own requests through your gateway to Claude Sonnet 5, whatever model the session uses. Make sure your gateway accepts the exact ID `claude-sonnet-5` and the `context-1m-2025-08-07` value in the `anthropic-beta` request header. If you set `inferenceModels`, list that ID there and in any group's model list (no `supports1m` needed). Sonnet 5 then also shows in the model picker. If the gateway rejects those requests or the list omits the ID, Auto mode stays available but can block actions it would otherwise allow. In Code, users see those actions marked **Blocked**. -> -> In Code sessions, a separately deployed Claude Code [managed-settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings) file that sets `disableAutoMode` to `"disable"` also keeps Auto mode hidden and off, whatever this key says. +> By default on a gateway, Auto mode sends its own requests to Claude Sonnet 5. Your gateway must accept the ID `claude-sonnet-5` and the `anthropic-beta` value `context-1m-2025-08-07`. If you set `inferenceModels`, list that ID there and in any group's model list. If not, Auto mode can block actions it would normally allow. *** @@ -1706,14 +1531,6 @@ booleanSince 1.46388.1 **Disable bypass permissions mode.** Remove the bypass permissions mode from Code sessions and Cowork tasks, so Claude always follows the permission policy. Off by default. -[Self-hosted install](#self-hosted-column): Not supported. A session host never offers bypass mode, so every session it runs already has it off. - -> **More detail** -> -> When set to `true`, sessions cannot run in bypass permissions mode: the app stops offering the mode in Code and Cowork, and a session that requests it anyway is downgraded. This is the `disableBypassPermissionsMode` setting from the `permissions` section of Claude Code's [managed settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings); a separately deployed Claude Code managed-settings file that sets it to `"disable"` also removes the mode, whichever source sets it. -> -> Unset (default): users the deployment otherwise allows can choose bypass permissions mode. - *** #### `disableBundledSkills` @@ -1722,23 +1539,45 @@ booleanSince 1.15962.0 **Disable bundled skills and workflows.** Disables Claude Code’s bundled skills and workflows (deep-research and similar). Use where WebFetch/WebSearch aren’t available. -[Self-hosted install](#self-hosted-column): Server side. The host starts Claude Code, so it is the one that turns the bundled skills off. - *** #### `skillCreationEnabled` booleanSince 1.25927.0 -**Allow user-created skills.** Allow users to create and upload their own skills. When off, the creation and upload surfaces are hidden and the agent’s skill-creation tools are disabled. +**Allow user-created skills.** Let users create and upload their own skills, and let Claude save skills. Skill files added outside the app are not blocked. -[Self-hosted install](#self-hosted-column): Server side. The host stores people's skills, so when this is off it refuses new ones and tells Desktop to hide creation. +> **More detail** +> +> Skills already on the device stay usable. Plugins from your organization and bundled skills are not affected. To turn off bundled skills, use `disableBundledSkills`. + +*** + +#### `skillScanningEnabled` + +boolean + +Beta (The feature that the key configures is in beta.) + +Since 3.1623.0 + +**Scan user-created skills.** Run a security scan on each skill a user creates or uploads before it can be used. Skills that fail the security scan are blocked. + +[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/skill-scanning.md) > **More detail** > -> When on (default), users can create new skills and upload skill files in the app. Set to `false` to block user skill creation: the skill-creation and upload surfaces are hidden (the `skill_creation` feature is served as blocked by the organization), and the agent's skill-creation tools (saving skills from a conversation, skill proposals) are not offered in sessions — the same effect as turning off the **User-created skills** organization setting available to claude.ai enterprise admins. +> How well the scan catches unsafe skills depends on your model. A skill judged possibly unsafe becomes usable, with a caution. Scan tokens count toward the user's usage and token limit. +> +> The app does not scan: +> +> * plugins +> * skills saved before you turn this on +> * skill files added or changed any other way, such as by a Code session +> * skills a session loads from `.claude/skills` folders +> * files in a skill named as PDFs or as some image, font, audio or video types, whatever they hold, and dependency lock files > -> This is a feature-availability control enforced in the app's UI, not a data boundary: skills are files on the user's machine, and files already present there (or placed there outside the app) are not removed or blocked by this key. Skills themselves remain usable; organization-distributed plugins and bundled skills are unaffected (to disable bundled skills, use `disableBundledSkills`). +> With `otlpEndpoint` set and `otlpDesktopLogLevel` not `off`, the app sends your OpenTelemetry collector one record for each finished scan, with no retry. It holds the skill's name, a scan id, the verdict and the model's short summary of why, which may quote the skill. *** @@ -1746,17 +1585,16 @@ booleanSince 1.25927.0 booleanSince 1.37937.0 -**Allow user-added plugin marketplaces.** Allow users to add plugin marketplaces. When off, marketplaces your organization did not provision are hidden and the app’s sessions do not load their plugins. - -[Self-hosted install](#self-hosted-column): Server side. Desktop hides and refuses adding a marketplace when off; no session host loads a person's own marketplaces yet. +**Allow user-added plugin marketplaces.** Let users add plugin marketplaces. When off, the app hides the ones your organization did not add and normally does not load their plugins. > **More detail** > -> When on (default), users can add plugin marketplaces from the plugin browser. Set to `false` to restrict plugins to your organization's marketplaces: the add-marketplace surfaces are hidden, and the app refuses adds that still reach it (deep links, stale UI). Any other marketplace present on the device is then hidden in every tab, whether a user added it in the app earlier or something outside the app registered it (for example Claude Code in a terminal, under `~/.claude`): its plugins are not listed, and installs and updates from it are refused. The sessions the app starts load plugins only from your organization's marketplaces, the organization plugins directory, the app's own uploads and the user's own skills folder, enforced through Claude Code's marketplace allowlist (`strictKnownMarketplaces`, passed as the app's managed settings). Nothing is deleted: removing the key or setting it back to `true` restores them. Marketplaces provisioned by your organization (`allowedPluginMarketplaces`) and the organization plugins directory are unaffected, and plugins users uploaded are governed by `userPluginUploadsEnabled`, not this key. +> Nothing is deleted: turning it back on restores the hidden marketplaces. > -> This is a feature-availability control, not a data boundary. Claude Code in a terminal reads the same `~/.claude` folder and is governed only by its own managed settings, not by this key. Claude Code may ignore this allowlist on a device that deploys its own Claude Code managed settings; restrict marketplaces in those settings as well. +> * It does not limit Claude Code in a terminal. +> * Claude Code's own managed settings, where a session has any, take priority by default. Restrict marketplaces in those settings as well. > -> This key applies only while the app runs in third-party mode. If users could otherwise sign in to Claude.ai on the device, also set `disableDeploymentModeChooser` so the app stays in third-party mode. +> Applies only while the app runs in third-party mode. If users could otherwise sign in to Claude.ai on the device, also set `disableDeploymentModeChooser` so the app stays in third-party mode. *** @@ -1764,17 +1602,13 @@ booleanSince 1.37937.0 booleanSince 1.37937.0 -**Allow user-added plugins.** Allow users to add their own plugins. When off, every in-app option for adding one is hidden and uploads that still reach the app are refused. - -[Self-hosted install](#self-hosted-column): Server side. The host keeps the plugins people upload and loads them in their sessions, and refuses new ones when this is off. +**Allow user-added plugins.** Allow users to add their own plugins. When off, the app hides every option for adding one and refuses uploads. > **More detail** > -> When on (default), users can upload plugin files and create plugins with Claude. Set to `false` to stop users adding plugins of their own: every in-app option for doing so is hidden, and the app refuses uploads that still reach it. -> -> This is a feature-availability control enforced in the app, not a data boundary: plugins already installed (or placed on disk outside the app) are not removed or blocked by this key. Plugins from organization-provisioned marketplaces and the organization plugins directory are unaffected. +> Plugins that are already installed, or placed on disk outside the app, are not removed or blocked. > -> This key applies only while the app runs in third-party mode. If users could otherwise sign in to Claude.ai on the device, also set `disableDeploymentModeChooser` so the app stays in third-party mode. +> Applies only while the app runs in third-party mode. If users could otherwise sign in to Claude.ai on the device, also set `disableDeploymentModeChooser` so the app stays in third-party mode. *** @@ -1782,35 +1616,33 @@ booleanSince 1.37937.0 booleanSince 2.110.0 -**Allow scheduled tasks.** Allow scheduled tasks in Cowork and Code. When off, the Scheduled page is hidden, existing tasks stop running, and Claude cannot create new ones. - -[Self-hosted install](#self-hosted-column): Server side. The host runs scheduled tasks, so when this is off it refuses to create or run them. +**Allow scheduled tasks.** Allow scheduled tasks in Cowork and Code. When off, scheduling is hidden, existing tasks stop running and Claude cannot create new ones. > **More detail** > -> When on (default), users can schedule Cowork tasks and Code sessions to run later or on a recurring schedule, and Claude can create such schedules when asked. -> -> Set to `false` to turn scheduled tasks off for every user. The Scheduled section in Cowork and the routines list in the Code tab are hidden, together with every other place a schedule can be created. Tasks that already exist on a device no longer run; they are kept, not deleted, and run again once the key is removed or set to `true`. Claude is not offered the tools that create, change or run these tasks, and sessions start without Claude Code's own in-session scheduling tools (the `/loop` command, its cron tools and its wake-up timer). -> -> It does not remove task files already on the user's machine. A change takes effect at the next app launch. +> Existing tasks are kept, not deleted, and run again when this is turned back on. While off, sessions also start without Claude Code's own scheduling tools, such as the `/loop` command. *** -#### `keepAwakeEnabled` +#### `projectsEnabled` -booleanSince 2.7032.0 - -**Allow keep awake.** Let Claude keep the computer awake. When off, Claude never prevents sleep and hides the keep-awake switches in Settings, the Scheduled page and the Code tab. +booleanSince 4.4212.0 -[Self-hosted install](#self-hosted-column): Server side. Desktop itself asks the person's computer to stay awake, and shows the keep-awake switches. +**Allow projects.** Let users group chats and Cowork tasks into projects. When off, projects are hidden, not deleted. > **More detail** > -> When on (default), users can turn on **Keep computer awake** (Settings → This computer → System, also shown as **Keep awake** on the Scheduled page in Cowork and the Routines page in Code) so the computer does not idle-sleep while Claude is open and scheduled tasks keep running on an idle machine. The Code tab can also keep the computer awake while a session is working (**Keep computer awake while Claude works** in Settings → Claude Code, and a session's **Keep computer awake** menu item). -> -> Set to `false` to make sure Claude never prevents the computer from sleeping: those switches are hidden and no part of the app keeps the computer awake. Users' saved choices are kept but ignored, and apply again once the key is removed or set to `true`. Scheduled tasks are unaffected and still run only while the computer is awake and the app is open. +> Turning this off only hides projects. Their tasks and chats stay in the list, ungrouped. Their data stays on the user's device, and they come back when you turn it on again. > -> A change takes effect on a running app. +> A task that is still open in a project keeps working with what it was started with. A scheduled task set up in a project keeps running in it. To stop it, turn off `scheduledTasksEnabled`, which stops all scheduled tasks. + +*** + +#### `keepAwakeEnabled` + +booleanSince 2.7032.0 + +**Allow keep awake.** Let Claude keep the device awake. When off, Claude never prevents sleep and hides its keep-awake switches. *** @@ -1820,17 +1652,9 @@ booleanSince 2.37337.1 **Allow Developer Mode.** Let users turn on Developer Mode. When off, the app’s developer tools and the option to install an unpacked extension are unavailable. -[Self-hosted install](#self-hosted-column): Server side. Desktop offers its own Developer menu, developer tools and debugger on the person's computer. - > **More detail** > -> When on (default), a user can turn on **Developer Mode** (Help → Troubleshooting → Enable Developer Mode), which adds the **Developer** menu and lets them open the developer tools (Chrome DevTools, Inspect Element) and a debugger for the app's main process. -> -> Set to `false` to keep Developer Mode off on every device that receives this setting: the **Developer** menu and the Help → Troubleshooting → Enable Developer Mode item are removed, the developer tools and the debugger cannot be opened (any already open are closed), a user's own `developer_settings.json` opt-in is ignored, and the app refuses to install an extension from a folder. Packaged (`.mcpb`) extensions are governed by `isDesktopExtensionEnabled`, not this key. -> -> This is a feature control, not a sandbox: extensions already installed from a folder stay installed and keep working, and an extension folder copied into the app's extensions folder by hand is not blocked. -> -> A change takes effect on a running app, except that the **Install unpacked extension** button in Settings keeps its launch-time state until the app restarts (clicking it while the key is off shows an error). +> Unpacked extensions that are already installed keep working. An extension folder copied by hand into the app's extensions folder is not blocked. Packaged (`.mcpb`) extensions follow `isDesktopExtensionEnabled`, not this key. *** @@ -1840,25 +1664,15 @@ stringSince 3.1623.0 **Default Quick Entry shortcut.** Set the shortcut that opens Quick Entry, such as Ctrl+Alt+K, for users who haven’t set their own in Settings. Use “off” for no shortcut. -[Self-hosted install](#self-hosted-column): Server side. Desktop registers its Quick Entry shortcut with the operating system of the person's computer. - > **More detail** > -> Sets the default shortcut for Quick Entry, the small prompt window that opens over other apps. It replaces Claude's built-in shortcut (double-tap Option on macOS, Ctrl+Alt+Space on Windows and Linux) for users who haven't chosen their own. -> -> This is a default, not a lock. A shortcut that a user saves in Settings → This computer → System (**Quick access shortcut** on macOS, **Quick Entry keyboard shortcut** on Windows and Linux) takes precedence, including one saved before this key was set. +> Unset keeps the built-in shortcut: double-tap Option on macOS, `Ctrl+Alt+Space` elsewhere. > -> Accepted values: +> * **Combination:** pair `Ctrl`, `Cmd` or `Super` with `Alt` or `Shift`, plus one key other than `Insert`, `Capslock` or `F5`. Names are case-sensitive. +> * `off`: the string, not `false`. +> * `double-tap-option`: macOS only. > -> * Modifiers and one key joined by `+`, such as `Ctrl+Alt+K` or `Alt+Space`. Modifiers include `Ctrl`, `Alt`, `Shift`, `Cmd` and `Super`. `CommandOrControl` means Cmd on macOS and Ctrl elsewhere, so one value works on every platform. A combination must pair `Ctrl`, `Cmd` or `Super` with `Alt` or `Shift`, except for `Alt+Space`. Write modifier and key names exactly as shown: `ctrl` is not read as `Ctrl`. -> * `off` (the string, not `false`): no shortcut. Users can still open Quick Entry from Claude's tray or menu bar icon and set a shortcut in Settings. -> * `double-tap-option`: macOS only. Windows and Linux keep the built-in shortcut. -> -> While Claude is running, other apps don't receive this shortcut. So Claude rejects other combinations, such as `F11`, `Ctrl+C`, `Shift+K` or `Alt+Shift+K`, which typing and other apps rely on. It also rejects any combination that includes `Insert`, `Capslock` or `F5`, which screen readers use. Choose a combination that users don't need elsewhere. -> -> If Claude can't use the value as a shortcut, it ignores the value and keeps the built-in one. If another app already uses the shortcut, Claude on macOS uses the built-in shortcut. On Windows and Linux, Quick Entry keeps its previous shortcut, or none at start-up. Users can choose another in Settings. -> -> A change takes effect on a running app. +> Claude ignores a value that it does not accept, as if unset. Other apps do not receive the shortcut while Claude runs, so choose one that users do not need elsewhere. *** @@ -1866,28 +1680,13 @@ stringSince 3.1623.0 booleanSince 3.6556.1 -**Allow screenshots of the screen and other apps.** Let users take screenshots of their screen or other apps’ windows in Quick Entry on macOS. When off, it offers none and never asks for Screen Recording access. - -[Self-hosted install](#self-hosted-column): Server side. Desktop takes the picture on the person's computer and offers it in its own Quick Entry window. +**Allow screenshots of the screen and other apps.** Let users screenshot their screen or other apps’ windows in Quick Entry on macOS. When off, it never asks for Screen Recording access. > **More detail** > -> When on (default), Quick Entry on macOS lets a user click another app's window, or drag over part of the screen, to attach a picture of it to their prompt. Until the user grants the macOS Screen Recording permission, Quick Entry shows a **Turn on screenshots** button that asks for it. -> -> Set to `false` to turn this off on every device that receives this setting. Quick Entry still opens, but offers no screenshot and no such button, and Claude does not ask for that permission. Outside Quick Entry, another app's window that a user mentions with @ in a chat comes without its picture. Users cannot turn it back on. -> -> With `quickEntryFileSharingEnabled` off as well, Quick Entry shows no permission banner at all. +> When off, another app's window that a user mentions with @ in a chat also comes without its picture. > -> On Windows and Linux, Quick Entry takes text only, so this key changes nothing there. -> -> This key does not cover: -> -> * A screenshot that a user takes with the operating system's own tools and then pastes or attaches. That is a file upload. -> * Pictures that Claude takes of its own content, such as an artifact, a file preview, a page in the built-in browser (`builtinBrowserEnabled`) or the feedback form. -> * A local MCP server or desktop extension that captures the screen (`isLocalDevMcpEnabled`, `isDesktopExtensionEnabled`). -> * Other apps, or the operating system, capturing Claude's windows. -> -> A change takes effect on a running app. +> Not covered: screenshots that users take with the operating system's own tools and paste in, and pictures that Claude takes of its own content. A local MCP server or desktop extension can still capture the screen (`isLocalDevMcpEnabled`, `isDesktopExtensionEnabled`). *** @@ -1895,26 +1694,11 @@ booleanSince 3.6556.1 booleanSince 3.6556.1 -**Allow sharing files open in other apps.** Let users attach the file open in another app’s window in Quick Entry on macOS. When off, it offers none and never asks for Accessibility access. - -[Self-hosted install](#self-hosted-column): Server side. Desktop finds the file on the person's computer and offers it in its own Quick Entry window. +**Allow sharing files open in other apps.** Let users attach the file open in another app’s window in Quick Entry on macOS. When off, it never asks for Accessibility access. > **More detail** > -> When on (default), Quick Entry on macOS offers, on another app's window, to attach the file that is open in it to the user's prompt. Claude learns which file that is through the macOS Accessibility permission. Until the user grants it, Quick Entry shows a **Turn on file sharing** button that asks for it. -> -> Set to `false` to turn this off on every device that receives this setting, including devices where the permission is already granted. Quick Entry still opens, but offers no file from another app's window and no such button, and it does not ask for that permission. Outside Quick Entry, another app's window that a user mentions with @ in a chat comes without its file. Users cannot turn it back on. -> -> With `quickEntryScreenshotsEnabled` off as well, Quick Entry shows no permission banner at all. -> -> On Windows and Linux, Quick Entry takes text only, so this key changes nothing there. -> -> This key does not cover: -> -> * A file that a user attaches, pastes or drags into Claude themselves. That is a file upload. -> * Claude's other uses of the Accessibility permission where a user has granted it, such as telling a double tap of Option from a keyboard shortcut. -> -> A change takes effect on a running app. +> Off applies even where the Accessibility permission is already granted. Another app's window that a user mentions with @ in a chat then also comes without its file. Not covered: Claude's other uses of that permission, and files that users attach themselves. *** @@ -1924,13 +1708,12 @@ booleanSince 1.37937.0 **Skip WebFetch domain check.** Skip Claude Code’s WebFetch domain lookup against api.anthropic.com in Code sessions. Off by default; turn on when that host is blocked. -[Self-hosted install](#self-hosted-column): Not supported. A session host always skips the web fetch preflight check, whatever is written. - > **More detail** > -> Before fetching a page, Claude Code's WebFetch tool asks `api.anthropic.com` whether the domain is on Anthropic's content blocklist, and refuses the fetch if that lookup cannot complete. Third-party deployments route inference elsewhere and often block `api.anthropic.com` at the firewall; with the lookup on, every WebFetch in Code sessions then fails with "Unable to verify if domain … is safe to fetch", and where the host is reachable, every fetched hostname is sent to Anthropic. (Cowork sessions fetch through the app's own allowlisted fetch and never run this lookup.) +> Before fetching a page, Claude Code's WebFetch tool asks `api.anthropic.com` whether the domain is on Anthropic's content blocklist. > -> Off (default): the lookup runs as it does today, so `api.anthropic.com` must be reachable from users' machines for Code-session WebFetch to work (listed under Egress Requirements). Set to `true` when users' machines cannot reach `api.anthropic.com` (corporate firewall, government network) or you do not want fetched hostnames sent there: Code sessions then fetch without the lookup and never contact that host for it. This is the same `skipWebFetchPreflight` setting Claude Code reads from its own [managed-settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings) file; the app passes it to every session it starts. This key does not restrict which domains Claude may fetch. Neither does `coworkEgressAllowedHosts` in Code sessions, where it only pre-approves its hosts; `builtinToolPolicy` can require approval for every fetch. +> * **Off:** where the host is reachable, every fetched hostname is sent to Anthropic. Where it is blocked, every WebFetch in Code sessions fails. +> * **On:** Code sessions fetch without the lookup and never contact that host for it. *** @@ -1938,15 +1721,17 @@ booleanSince 1.37937.0 object: name → valueSince 1.8089.0 -**Built-in tool policy.** Approval per tool or rule such as Bash(curl \*). “ask” prompts the user before each matching call. “allow” is the default. To block, use Disabled built-in tools. - -[Self-hosted install](#self-hosted-column): Server side. The host hands each session the admin's allow or ask rule for each built-in tool. +**Built-in tool policy.** Approval per tool or rule such as Bash(curl \*). “ask” prompts the user before each matching call. To block, use Disabled built-in tools. > **More detail** > -> Keys use the same tool names and argument-scoped rule syntax as **Disabled built-in tools** (`disabledBuiltinTools`), and scopes apply in the same sessions. As there, command patterns match command text, not the program, and [aren't a security boundary](https://code.claude.com/docs/en/permissions#bash-rule-limits). A bare `Bash` key also governs Claude Code's `PowerShell` tool (its shell on Windows PCs without Git for Windows) and its `Monitor` tool (background commands and WebSocket watches); argument-scoped `Bash(…)` keys cover `Monitor`'s commands but not `PowerShell`'s. Scoped **ask** rules reach sessions only through Claude Code's managed-settings channel, so another Claude Code managed-settings source replaces them unless it sets `parentSettingsBehavior` to `"merge"` (bare names hold either way). They need the same fleet-wide build support, and an older build drops a scoped **ask** entry as a configuration error (which also blocks WSL sessions on Windows until that client updates), so the tool runs unprompted. +> Entries use the same tool names and rules as `disabledBuiltinTools`, with the same limits. Command rules are not a security boundary, and `Bash(…)` rules do not cover `PowerShell`. +> +> `ask` also turns off the user's saved “always allow” choices for that tool. A scheduled task in Cowork waits at the prompt. > -> An **ask** entry, bare or scoped, also turns off the app's remembered “always allow” choices for that tool, so each prompted call is confirmed individually. **ask** on a file tool (`Read`, `Write`, `Edit`, `Glob`, `Grep`) prompts in Cowork, Chat and Code sessions. Calls that Cowork and Chat always refuse are still refused without a prompt: paths outside the session's connected folders (in Chat, outside its scratch directory and its project's folders) and protected or sensitive files inside them. A scheduled task in Cowork waits at the prompt, which appears in the task's session and, when that session is not in view, as a desktop notification. Code side chats cannot prompt, so they block matching calls. An unusable entry is dropped and recorded as a configuration error; a value other than `allow` or `ask` is treated as `ask` and reported. To remove a tool or deny a rule outright, use **Disabled built-in tools** instead. +> **Rules such as `Bash(curl *)`:** Claude Code's own managed settings, where a session has any, take priority by default. A tool name such as `Bash` still applies. Update all devices first: an older version drops these rules, so the tool runs without a prompt. +> +> An unusable entry is dropped and recorded as a configuration error. *** @@ -1954,17 +1739,15 @@ object: name → valueSince 1.8089.0 string\[]Since 1.2581.0 -**Disabled built-in tools.** Built-in tools, or argument-scoped permission rules such as Read(//\*\*/.env), denied in Cowork and Code. - -[Self-hosted install](#self-hosted-column): Server side. The host starts each session with the built-in tools and tool uses the admin denies turned off. +**Disabled built-in tools.** Built-in tools, or rules such as Read(//etc/\*\*), blocked in Cowork and Code. Shell commands do not fully follow file-path rules. > **More detail** > -> Each entry is a Claude Code [tool name](https://code.claude.com/docs/en/tools-reference) such as `Bash`, `Edit`, `WebFetch` or `WebSearch`, or an argument-scoped [permission rule](https://code.claude.com/docs/en/permissions#permission-rule-syntax) such as `Bash(curl *)` or `Edit(//**/*.env)`. A bare name covers every call (bare `Bash` also covers `PowerShell` and `Monitor`, WebSocket watches included); a scoped rule covers matching calls in every permission mode. Scopes are matched for `Bash(…)` and `PowerShell(…)` (a command pattern) and for file paths written as `Read(…)` (covers `Read`, `Grep`, `Glob`) or `Edit(…)` (covers `Edit`, `Write`, `NotebookEdit`); many other tools take `Tool(:)`. `WebSearch` and `WebFetch` are bare-name only: to allow specific hosts, use `coworkEgressAllowedHosts`. +> An entry is a [tool name](https://code.claude.com/docs/en/tools-reference) such as `Bash`, or a [permission rule](https://code.claude.com/docs/en/permissions#permission-rule-syntax) such as `Edit(//etc/**)`. > -> Scoped `Bash(…)` rules apply in Code sessions only; Cowork's shell follows only a bare `Bash` entry. Command patterns match command text, not the program, and [aren't a security boundary](https://code.claude.com/docs/en/permissions#bash-rule-limits). Start absolute file paths with `//`, not `/`: a relative pattern such as `Read(**/.env)` covers only a Code session's project folder and none of Cowork's connected folders. Scoped rules need fleet-wide build support: an older build passes a scoped entry to Claude Code unchecked. An entry whose pattern contains `)` followed by a space or comma is enforced only through Claude Code's managed-settings channel, so another Claude Code [managed-settings source](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings) replaces it unless that source sets `parentSettingsBehavior` to `"merge"`; every other entry is enforced either way. +> Start a full path with `//`, not `/`. A relative rule such as `Read(**/.env)` covers only a Code session's project folder. `Bash(…)` rules apply in Code only. Command rules match command text and are not a security boundary. > -> An unusable entry (a tool name in the wrong letter case, an unbalanced parenthesis, a scoped `WebSearch(…)` or `WebFetch(…)`) is kept, because the deny list is served exactly as written, and raises a configuration warning. +> Only Code's sandbox (see `allowedWorkspaceFolders`) hides a denied folder from its shell: list the full path (`Read(//srv/keys/**)`). Don't rely on it alone: keep secrets the user's account can't read. *** @@ -1972,19 +1755,15 @@ string\[]Since 1.2581.0 booleanDefault: falseSince 1.21459.0 -**Enable tool search.** Load MCP tool schemas on demand (tool search) instead of inlining every schema into context. +**Enable tool search.** Load MCP tool definitions only when Claude needs them (tool search), instead of keeping all of them in context. [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/gateway.md#mcp-tool-search) -[Self-hosted install](#self-hosted-column): Server side. The host starts Claude Code, so it turns tool search on or off for its sessions. - > **More detail** > -> When enabled, Cowork, Code, and Chat sessions place only tool names in context up front, and Claude fetches a tool's full schema the first time it needs it. Use this when many MCP tools are configured and their inlined schemas crowd out the context window. If your endpoint does not accept the request shape it then receives, requests fail with HTTP 400. +> Your gateway or provider must accept what tool search adds, such as `tool-search-tool-2025-10-19` in the `anthropic-beta` header. Otherwise requests fail with HTTP 400. On Foundry or a custom base URL, requests also carry Claude Code's other experimental betas. > -> * **Claude API, Vertex AI, Bedrock, or Bedrock Mantle with no custom base URL**: not needed. The app leaves Claude Code's experimental betas on there, as terminal Claude Code does, so tool search is on by default (on Vertex AI, for Claude 4.5 and newer models). To turn it off in Code, Cowork, and Chat, set `ENABLE_TOOL_SEARCH` to `false` in the `env` block of OS-level Claude Code managed settings (with `parentSettingsBehavior: "merge"`). Earlier app versions treat these like the last case. -> * **Gateway provider, app versions bundling Claude Code 2.1.247 or later**: requests add only the tool-search shape (the `tool-search-tool-2025-10-19` `anthropic-beta` value, deferred tool loading, `tool_reference` content blocks); every other experimental Claude Code beta stays suppressed. OS-level Claude Code managed settings that keep that suppression or turn `ENABLE_TOOL_SEARCH` off still win; set `ENABLE_TOOL_SEARCH` to `force` there instead (with `parentSettingsBehavior: "merge"`). Sessions the app runs in Claude Code's gateway mode (an opt-in for users on the gateway's own sign-in) get its gateway-safe tool-search shape instead. -> * **Foundry, a custom base URL, and earlier app versions**: the app suppresses Claude Code's experimental betas for the session and the key lifts that, so requests carry the tool-search shape together with Claude Code's other experimental betas for that provider. On Vertex with app versions bundling Claude Code older than 2.1.221, leave this unset while any model older than Claude 4.5 is in use; those engines send the header regardless of model and Vertex's pre-4.5 stacks reject it. +> On Claude API, Vertex AI, Bedrock and Bedrock Mantle with no custom base URL, tool search is normally on and this key has no effect. *** @@ -1994,15 +1773,11 @@ stringSince 1.37937.0 **Organization instructions.** Appended to Claude’s system prompt in Chat, Cowork, and Code. Guidance the model follows, not an enforced control. Up to 3,000 characters. -[Self-hosted install](#self-hosted-column): Server side. The host adds the admin's instructions to every session it starts. - > **More detail** > -> Free-text instructions from your organization that Claude Desktop appends, in a clearly delimited block, after its own system prompt in **Chat**, **Cowork**, and **Code** (every chat, task, and Code session, including the sub-agents they spawn): for example house style, data-handling rules, or topics to decline. The model is told these instructions come from the organization's administrator and take priority over a user's personal preferences. +> Claude is told that they take priority over a user's personal preferences. > -> This is guidance the model follows, not an enforced control: like any system-prompt text it steers the model's behavior and is usually honored, but it does not guarantee an outcome and is not a substitute for the restriction keys (tool policy, egress allowlist, folder allowlist). The app's own system prompt is never replaced or shortened by this key; in Code sessions it is added after Claude Code's own prompt and any `CLAUDE.md` instructions still apply. -> -> Read from the app's loaded configuration when a session starts; a changed value generally takes effect for sessions started after the next app launch. Leading and trailing whitespace is trimmed; an empty string is treated as unset. Maximum 3,000 characters; a longer value is rejected (the key is ignored with a configuration error) rather than truncated. Line breaks are preserved when the value is delivered as JSON, a bootstrap response, a `.mobileconfig` profile, or a `.reg` file; the Group Policy (ADMX) and Intune text box for this setting is single-line. +> A value over 3,000 characters is ignored with a configuration error, not shortened. The Group Policy (ADMX) and Intune text box holds a single line. JSON, `.mobileconfig` and `.reg` files keep line breaks. *** @@ -2016,8 +1791,6 @@ Since 1.2581.0 **Require full VM sandbox.** Runs tools inside an isolated VM instead of the host. Stronger isolation; slower file access and no host-process tools. -[Self-hosted install](#self-hosted-column): Not supported. Chooses how Cowork runs on the person's own computer, and third-party installs no longer read it. - [Admin Console](#the-works-with-column): Not available. *** @@ -2030,13 +1803,15 @@ booleanDefault: falseSince 1.3834.0 **Disable Claude.ai sign-in.** Users see only this provider at the login screen. The option to sign in to Claude.ai is hidden. -[Self-hosted install](#self-hosted-column): MDM profile. Shapes Desktop's sign-in screen and configuration source, settled before Desktop reaches the host. - [Admin Console](#the-works-with-column): Not available. > **More detail** > -> Set in a device-management profile, this key also keeps that profile in charge. Without it, a user who signs in to Claude.ai with an organization whose Claude Desktop deployment is configured in the admin console moves the device to that organization's configuration, at later launches too. The profile then still supplies what no configuration server can deliver, such as the network proxy, and a few device safeguards, such as `sessionRetentionHold`; every other key, update keys included, comes from the organization's configuration. A profile that sets only app-behavior keys (`disableAutoUpdates`, …) and no other key, not even `forceLoginOrgUUID`, is not affected: it keeps those keys over the organization's configuration without this key, and adding this key there would make the profile the device's whole configuration. The account menu offers the way back to a profile that sets a provider or a server. `forceLoginOrgUUID` in the profile limits the move to the organizations it lists. A value served only by the profile's own `bootstrapUrl` server does not keep the device. +> In an MDM profile, this key also keeps that profile in charge. Without it, a user can sign in to Claude.ai with an organization that configures Claude Desktop in the Admin Console. The device then mostly follows that organization's configuration, at later launches too. +> +> * A value sent only by the bootstrap server does not do this. +> * `forceLoginOrgUUID` in the profile limits the move to the organizations it lists. +> * Added to a profile that sets only app-behavior keys such as `disableAutoUpdates`, it makes that profile the device's whole configuration. *** @@ -2046,8 +1821,6 @@ booleanDefault: falseSince 1.6889.0 **Disable claude:// deep-link handling.** Stop external apps and websites from opening Claude Desktop via claude:// links. -[Self-hosted install](#self-hosted-column): MDM profile. Desktop registers claude:// links on the person's computer at launch, before it has signed in to the host. - *** ### Built-in browser @@ -2056,21 +1829,17 @@ booleanDefault: falseSince 1.6889.0 booleanDefault: falseSince 2.2553.0 -**Allow the built-in browser.** Offer the built-in browser in Cowork and Code sessions so users and Claude can open and work with web pages. Site sign-ins stay on the device until cleared. - -[Self-hosted install](#self-hosted-column): Not supported. The browser pane lives in Desktop on the person's computer, and host sessions get no browser tools. +**Allow the built-in browser.** A browser in Cowork and Code where users and Claude can open and work with web pages. Site sign-ins stay on the device until cleared. [Admin Console](#the-works-with-column): Set automatically. > **More detail** > -> When enabled, Cowork and Code sessions get a built-in browser pane. Users can open any site in it; Claude can open, read, and act on pages with its browser tools once the user approves each site (private-network hosts ask again per action unless the user always allows the host). Pages load directly from the user's machine, so your network controls apply; the pane's sign-ins and cookies stay in the app's browser profile on the device until cleared. -> -> Off (default): no browser pane; Code sessions keep the localhost-only dev-server preview. With `bootstrapUrl` set, put this key in the served configuration: a device-profile value alone leaves the browser off. On an install managed from the Claude admin console this follows the console's Built-in browser switch. +> The app checks the addresses of public sites that open or are framed in the browser (query removed) against Anthropic's site safety list on `releases.claude.com`. > -> When a public site opens or is framed in the pane, and before Claude works with it, the app checks its address (query removed) against Anthropic's site safety list on `releases.claude.com`, signed out, with no account, organization, or device identifier (admin console installs: signed in, on the host that serves their configuration). A site it blocks stays blocked to Claude under every key below. Private addresses, names resolving to them, and internal-suffix or single-label names are never sent (a name under a public domain is checked even if only your VPN resolves it). Allow `releases.claude.com` through your firewall: if a check fails, users can browse but Claude's page tools stay off for that site. -> -> `builtinBrowserDefaultDomainPolicy` and its two site lists restrict where Claude may browse. A separately deployed Claude Code [managed-settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings) file still applies: `disableBrowserExternalNavigation: true` keeps the browser off even with this key on, and `browserExternalPageTools: "disabled"` keeps the pane but turns Claude's page tools off for external sites. Takes effect after the app restarts. +> * The check is signed out, with no account, organization, or device identifier. In an Admin Console organization it is signed in, on the host that serves the configuration. +> * Private addresses, names resolving to them, and internal-suffix or single-label names are never sent. A name under a public domain is checked even if only your VPN resolves it. +> * Allow `releases.claude.com` through your firewall. If a check fails, users can browse but Claude's page tools stay off for that site. *** @@ -2078,21 +1847,17 @@ booleanDefault: falseSince 2.2553.0 enumDefault: allowSince 2.2553.0 -**Default site policy in the built-in browser.** Whether Claude may open sites in the built-in browser by default; the allowed or blocked list is the exception. Mirrors the Claude in Chrome site policy. +**Default site policy in the built-in browser.** Whether Claude may open sites in the built-in browser by default. Users can still view any site. Unset: allow. One of: `allow` (default), `block` -[Self-hosted install](#self-hosted-column): Not supported. Sets the default for Desktop's browser tools, and host sessions get no browser tools to allow or block. - [Admin Console](#the-works-with-column): Set automatically. > **More detail** > -> Applies when `builtinBrowserEnabled` is on, in both Cowork and Code sessions, and decides which sites Claude may open, read, or act on with its browser tools; users can still view any site themselves. `allow` (default): every site except entries in `builtinBrowserBlockedDomains`. `block`: no site except entries in `builtinBrowserAllowedDomains`. Under either policy `coworkEgressAllowedHosts`, when set to anything but `*`, is an outer bound: sites outside it are refused to Claude in the browser too. A site Anthropic's site safety list blocks stays blocked to Claude under either policy (see `builtinBrowserEnabled`); for a site the list only flags for confirmation, Claude asks the user before each of its actions under `allow`, and skips that confirmation only when the site matches a `builtinBrowserAllowedDomains` entry under `block`. A value that cannot be read is treated as `block` until it is fixed. -> -> The policy also limits what pages load: a page in the pane, including one a user opened, cannot load frames, scripts, images, or other content from a site the policy does not admit (a blocked page a user opens still loads content from its own site). Under `block`, or with a `coworkEgressAllowedHosts` list, include the CDN and API hosts your allowed sites depend on. +> A `coworkEgressAllowedHosts` list other than `*` applies on top of either value: Claude cannot open sites outside it. > -> This key and the two site lists work the same way as the Claude in Chrome site policy in the admin console. They are set separately here, except on an install managed from the Claude admin console, where they follow your organization's browser site permissions there. +> Pages, even ones that a user opened, cannot load frames, scripts or images from other sites that the policy does not allow. Under `block`, or with a `coworkEgressAllowedHosts` list, include the CDN and API hosts that your allowed sites depend on. *** @@ -2102,17 +1867,16 @@ string\[]Since 2.2553.0 **Allowed sites in the built-in browser.** Sites Claude may open, read, and act on in the built-in browser when the default site policy is block. Users can still view other sites. -[Self-hosted install](#self-hosted-column): Not supported. Lists sites allowed for Desktop's browser tools, and host sessions get no browser tools. - [Admin Console](#the-works-with-column): Set automatically. > **More detail** > -> Used when `builtinBrowserDefaultDomainPolicy` is `block`; ignored under `allow`. A site matching an entry is one Claude may open and work with using its browser tools; every other external site is treated as blocked by your organization: Claude cannot open it, cannot read or act on it, and frames, popups, and redirects into it from a page Claude is working on are refused. A user can still type its address and view it themselves. Listing a site here never unblocks a site Anthropic's site safety list blocks (see `builtinBrowserEnabled`); for a site that list only flags for confirmation, an entry here is your organization vouching for it, so Claude works with it without asking before each action. +> Entries use the same format as `coworkEgressAllowedHosts`, except: > -> Entries use the same grammar as `coworkEgressAllowedHosts`, except that bare `*` is dropped: as in Claude in Chrome, no allowed-sites entry opens every site. Set the policy to `allow` for that. A wildcard whose base is a public suffix (`*.co.uk`, `*.github.io`) is likewise ignored so an entry can never open a whole shared registry. Any other entry outside that grammar is kept but matches nothing (the app log and the editor name it); a value that cannot be read at all allows nothing until it is fixed. A plain hostname entry (`example.com`) also covers its `www.` form, and a `www.` entry covers the bare name, but no other subdomain. `localhost` dev servers are always reachable, so listing them changes nothing. +> * `example.com` also covers `www.example.com`, but no other subdomain. +> * `*` is ignored, and so is a wildcard on a public suffix, such as `*.co.uk`. > -> Empty or unset (default): under `block`, Claude may open no external site. On an install managed from the Claude admin console this follows your organization's browser site permissions there. +> A site that Anthropic's site safety list blocks stays blocked to Claude. Where that list only asks for confirmation, Claude works with a listed site without asking before each action. *** @@ -2122,17 +1886,13 @@ string\[]Since 2.2553.0 **Blocked sites in the built-in browser.** Sites Claude may not open, read, or act on in the built-in browser when the default site policy is allow. Users can still view them. -[Self-hosted install](#self-hosted-column): Not supported. Lists sites blocked for Desktop's browser tools, and host sessions get no browser tools. - [Admin Console](#the-works-with-column): Set automatically. > **More detail** > -> Used when `builtinBrowserDefaultDomainPolicy` is `allow` (the default); ignored under `block`. A site matching an entry is treated as blocked by your organization: Claude cannot open it, cannot read or act on it with its browser tools, and frames, popups, and redirects into it from a page Claude is working on are refused. A user can still type its address and view it themselves: the pane shows a "blocked by your organization's policy" banner and Claude's tools stay off there. To take the external browser away from users as well, deploy Claude Code's `disableBrowserExternalNavigation` managed setting instead. A blocked site is refused before the site safety check, so its address is never sent to Anthropic. +> Entries use the same format as `coworkEgressAllowedHosts`. `*` blocks every external site. `example.com` also covers `www.example.com`, but no other subdomain. An entry outside that format matches nothing. > -> Entries use the same grammar as `coworkEgressAllowedHosts`; `*` blocks every external site. An entry outside that grammar is kept but matches nothing (the app log and the editor name it); a value that cannot be read at all blocks every external site until it is fixed. As in Claude in Chrome, a plain hostname entry (`example.com`) also covers its `www.` form, and a `www.` entry covers the bare name, but no other subdomain. `localhost` dev servers are never affected. -> -> Use this key for exceptions inside an allowed egress wildcard or when egress is open. Empty or unset (default): no sites beyond the egress list are blocked. On an install managed from the Claude admin console this follows your organization's browser site permissions there. +> A blocked site is refused before the site safety check, so its address is never sent to Anthropic. *** @@ -2142,15 +1902,13 @@ string\[]Since 2.2553.0 objectSince 1.10628.0 -**Claude.ai data import.** Lets users import Claude.ai chats and projects, plus earlier Claude sessions on this computer, when `enabled` is true. `automatic3pImport` is a separate switch. - -[Self-hosted install](#self-hosted-column): Server side. Desktop can still export sessions stored on the person's computer, and imports none, since no session runs there. +**Claude.ai data import.** Lets users import Claude.ai chats and projects, and earlier Claude sessions on this device. > **Child attributes (5)** > > **enabled** `boolean` (default: false) > -> Lets users import a Claude.ai data export and earlier Claude sessions on this computer from Settings → Import. Doesn’t affect a provisioned sign-in import. +> Lets users import a Claude.ai data export and earlier Claude sessions on this device from Settings → Import. > > **allowedOrganizationUuids** `string[]` > @@ -2158,7 +1916,9 @@ objectSince 1.10628.0 > > > **More detail** > > -> > A list of Claude.ai organization IDs (UUIDs). When set, users can import only by signing in to Claude.ai, and only from an organization on the list: a sign-in to any other organization, or to a personal account, is refused before anything is downloaded. Importing from a file and from earlier sessions on this computer is turned off. The list narrows `enabled` and turns nothing on by itself; `automatic3pImport` is not affected. An entry that is not a UUID allows nothing and is reported. An empty list, or one that cannot be read, allows no organization, so no import is offered; a null or blank value is read as not set. A provisioned sign-in import names no organization, so it is not offered while the list is set. Each import is reported to your OpenTelemetry collector as the event `desktop_claude_ai_import`, with the ID of the organization it came from. It is an info-level event: set `otlpDesktopLogLevel` to `info` to receive it. +> > * The list narrows `enabled`. It turns nothing on by itself and does not affect `automatic3pImport`. +> > * An empty list, or one that cannot be read, allows no organization, so no import is offered. A null or empty string counts as unset. +> > * Each import is reported to your OpenTelemetry collector with the ID of its organization. Set `otlpDesktopLogLevel` to `info` to receive it. > > **automatic3pImport** `boolean` > @@ -2166,19 +1926,26 @@ objectSince 1.10628.0 > > > **More detail** > > -> > Under device-delivered configuration (device management, a configuration file or a bootstrap URL) this runs only when set to `true`; for organizations managed from the Claude admin console (the hosted configuration) it is on unless an admin turns it off there. When the app launches under this organization, it copies this computer's earlier third-party sessions into its store, with Settings → Import's importer (originals are kept). It lists the earlier configuration's Cowork artifacts in this organization. If still offered, optional plugins the user switched on return. Organization plugins directory: switched on. `allowedPluginMarketplaces` entry with an unchanged source or on the new gateway or bootstrap origin: reinstalled without asking. Plugins the user uploaded (unless `userPluginUploadsEnabled` is off; they can run programs on this computer) and skills they saved (unless `skillCreationEnabled` is off) are installed again without asking, on or off as they were; a skill that declares tools, hooks, metadata or unknown settings arrives off. Not copied: plugins from user-added marketplaces or with code in another repository. Earlier Cowork projects are added, their instructions held until the user accepts them. The user's Cowork memory, global instructions and Instructions for Claude are copied and used at once, unreviewed (no memory if it was paused). Earlier scheduled tasks are added, each on or off as it was: one that was on runs at its next scheduled time. Runs at most once per device under device-delivered configuration and once more after it joins the hosted configuration. Under the hosted configuration it takes sessions from any earlier device configuration (including ones a console sign-in created) but never those stored under another organization's hosted configuration; under device-delivered configuration, only those stored while no organization ID was configured, and only once one is. Turn on `enabled` too so users can import skipped sessions by hand. +> > Unset is off, except in Admin Console organizations, where it is on unless an admin turns it off. Without the Admin Console, also set `deploymentOrganizationUuid`. Only sessions stored before you set it are copied. +> > +> > It brings back more than sessions, without asking the user. That includes: +> > +> > * The user's Cowork memory, global instructions and Instructions for Claude, which are used at once, unreviewed. +> > * Scheduled tasks. A task that was on runs at its next scheduled time. +> > * Uploaded plugins, unless `userPluginUploadsEnabled` is off. They can run programs on the device. +> > * Saved skills, unless `skillCreationEnabled` is off. > > **exportEnabled** `boolean` (default: false) > -> Lets users export this computer’s chats, Cowork tasks, and Code sessions as a zip another install can import. No effect unless `enabled` is true. +> Lets users export this device’s chats, Cowork tasks and Code sessions as a zip to import elsewhere. No effect unless Enable import is on. > > > **More detail** > > -> > Allows users to write this computer's chats, Cowork tasks, and Code sessions to a portable zip that another install can import from Settings > Import. Transcripts contain conversation content including tool outputs; only session-record metadata is projected to a fixed field allowlist. Treat exported zips as sensitive data. +> > Transcripts contain conversation content including tool outputs. Treat exported zips as sensitive data. > > **bannerBehavior** `enum` > -> Prompt to import on a new chat or task. Off if unset. `show`: always; needs `enabled` or a sign-in import. `detect`: if `enabled` finds earlier Claude sessions. +> Prompt to import on a new chat or task, if Enable import is on. `show`: always. `detect`: if earlier Claude sessions are found. Unset: off. > > One of: `off`, `detect`, `show` @@ -2192,25 +1959,34 @@ objectSince 1.10628.0 object\[]Since 1.2581.0 -**Managed MCP servers.** Org-pushed MCP servers: remote (HTTP/SSE) or local (stdio command). May embed bearer tokens. - -[Self-hosted install](#self-hosted-column): Server side. The host connects the admin's MCP servers and applies each tool's rule, and tells Desktop which local ones to start. +**Managed MCP servers.** Org-pushed MCP servers: remote (HTTP/SSE) or local (stdio command). > **More detail** > -> For OAuth-authenticated entries, the app builds the redirect URI as `http://:/callback`; register that exact value with the OAuth provider. Tokens refresh automatically during a session. +> Values of an entry's `toolPolicy`, per tool name: > -> `toolPolicy` locks the per-tool approval state, keyed by tool name: `"blocked"` removes the tool from the session and labels it admin-blocked, `"ask"` requires approval on every call (Allow once / Deny only; no persistent always-allow; a scheduled Cowork task waits at that prompt), `"allow"` pre-approves. Tools **not listed** follow the user's choice: the prompt offers a persistent Always allow, except for tools that can modify data, which show a session-scoped **Allow for this task** alongside **Allow for all tasks** with a malicious-instruction warning. In Code sessions, `blocked` and `ask` are forwarded as Claude Code permission rules; `allow` is not. +> * `allow`: pre-approves the tool, except in Code and for built-in connector tools that send or cannot be undone. +> * `ask`: every call needs approval, with no option to always allow. A scheduled Cowork task waits at the prompt. +> * `blocked`: the tool is removed from the session. > -> Keys may contain `*` wildcards (`"read_*"` matches every tool whose name starts with `read_`; anchored, and `*` is the only wildcard). When several wildcard keys match, the strictest applies (blocked > ask > allow). An exact-name key wins over matching wildcards, with two exceptions in the stricter direction: in Code sessions a wildcard `ask`, or a wildcard `blocked` other than the bare `"*"`, beats a less strict exact key (so `"*": "blocked"` plus exact `"allow"` entries still works as deny-by-default there); and in chat approval prompts and always-allow persistence a wildcard `ask` keeps every matching tool behind a per-call prompt even when a more permissive exact key matches, while direct tool invocations such as artifact or widget calls follow the exact key. -> -> For the bundled Microsoft 365 connector, the send tools (`outlook_send_mail`, `outlook_send_draft`, `outlook_forward_mail`, `outlook_create_event`, `outlook_update_event`, `teams_send_chat_message`, `teams_send_channel_message`, `teams_reply_channel_message`) cannot be loosened below `ask`; an `allow` setting resolves to `ask`. +> A name can contain `*`, as in `read_*`. When several wildcards match, the strictest applies. An exact name normally takes priority over a wildcard. To block by default, use `"*": "blocked"` plus exact `allow` entries. > **Child attributes** > > **name** `string` *required* > -> Unique name for this server. Shown to users and used to key tool policy and sign-in state. +> Must be unique. A rename resets each user’s on/off choice, tool permissions and device sign-in, and can break a plugin server’s match. +> +> > **More detail** +> > +> > After a rename: +> > +> > * Users' own choices start over: a server they had turned off can be on again, and a tool they had blocked is no longer blocked. +> > * If a plugin's server matched this entry by name, the entry's `toolPolicy` may stop applying to it. +> > * In the Admin Console, enter a permission policy's rules for the server again. They do not carry over. +> > * Giving the entry its old name back restores users' choices and tool permissions. +> > +> > Do not reuse an old name for a different server. It can inherit choices that users made for the old one. > > **toolPolicy** `object: name → value` > @@ -2218,11 +1994,11 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Also governs the same server when an installed plugin provides it. A plugin's MCP server matches an entry by URL, else by name (case-insensitive; a plugin server that runs locally matches by name only), and then follows that entry's `toolPolicy` alone: `orgPluginSettings` is not consulted for it, even when the entry sets no `toolPolicy`. A built-in entry (one with `server`) is the exception: it applies to a plugin's server of the same name only when a `toolPolicy` is written on it, and then carries that `toolPolicy` and the built-in's rule that its send and other irreversible tools cannot be loosened below `ask`, but not the built-in's other default prompts. An `http`, `sse` or `stdio` entry is also a server the app itself connects to or launches. To set permissions for a server that only a plugin runs, without the app connecting to or launching anything, use an entry with `transport: "policy-only"`. +> > Also applies to an installed plugin's server that matches this entry by URL, or else by name (letter case is ignored). > > -> > Any value other than `allow`, `ask` or `blocked` is read as `blocked` for that tool, and a `toolPolicy` that is not a map of tool names blocks every tool of the server; both are reported as configuration errors. -> > -> > For a plugin server that Claude Code launches or connects to itself (a marketplace plugin's), the permissions travel on Claude Code's managed-settings channel: another Claude Code [managed-settings source](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings) replaces them unless that source sets `parentSettingsBehavior` to `"merge"`. `blocked` on a server the app connects to itself holds either way. +> > * That server follows this entry instead of `orgPluginSettings`, even if the entry sets no `toolPolicy`. A built-in entry (one with `server`) applies only if it sets one. +> > * For a server that only a plugin runs, use an entry with `transport: "policy-only"`. +> > * Claude Code runs or connects to some plugin servers itself. For those: Claude Code's own managed settings, where a session has any, take priority by default. > > **microsoft365** > @@ -2244,19 +2020,21 @@ object\[]Since 1.2581.0 > > **azureCloud** `enum` > -> Microsoft cloud for sign-in and Graph. Leave as global for commercial Microsoft 365; US Government clouds require your own app registration (Client ID). +> Microsoft cloud for sign-in and Graph. Use global for commercial Microsoft 365. US Government clouds need your own app registration. > > One of: `global`, `us-gov-high`, `us-gov-dod` > > **continuousAccessEvaluation** `enum` (default: enabled) > -> Request CAE-capable Microsoft Graph tokens: long-lived (up to about 28 hours) but revocable within minutes. Set “disabled” to keep standard one-hour tokens. +> Requests Microsoft Graph tokens that last up to about 28 hours but can be revoked within minutes. “disabled” keeps one-hour tokens. > > One of: `enabled` (default), `disabled` > > > **More detail** > > -> > With Continuous Access Evaluation the server declares the `cp1` client capability, so Microsoft Entra issues access tokens that live up to about 28 hours and are cut off within minutes by a claims challenge when an administrator revokes sessions, disables the account, or the user’s risk changes — and, where the tenant enforces an IP named-location or Global Secure Access compliant-network Conditional Access policy, when the token is presented from outside that network. Tenants without such a policy get the longer lifetime and the fast revocation but no network-based replay protection; set `disabled` to keep standard one-hour, non-CAE tokens on every sign-in path. A change takes effect when Claude Desktop restarts, and users then sign in again; an older Claude Desktop keeps serving an already-cached long-lived token until it expires (Disconnect → Connect signs in afresh). +> > With a Conditional Access policy on IP named locations or Global Secure Access compliant networks, a token presented from outside that network is cut off. Tenants without such a policy get no network-based replay protection. +> > +> > After a change, users sign in again. > > **scope** `string` > @@ -2268,11 +2046,7 @@ object\[]Since 1.2581.0 > > **headers** `object: name → value` > -> Static headers sent on every request — routing and tenant headers only. No credentials here; use the headers helper script for tokens and rotating values. -> -> > **More detail** -> > -> > On a `websearch` entry, every provider but `custom` needs `headers` or `headersHelper`: the app drops an entry that sets neither. +> Static headers sent on every request: routing and tenant headers only. No credentials here: use the headers helper script for those. > > **headersHelper** `string` > @@ -2282,9 +2056,7 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Absolute path to an executable that prints a single JSON object of request headers to stdout, e.g. `{"X-Subscription-Token": "…"}`. The app runs it before each request and caches the result for the TTL below. Use this to pull the key from a secrets manager instead of storing it inline in `headers`. -> > -> > The helper runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry’s `name`, so one executable can serve several servers. For a name that holds a double quote, a percent sign or a control character the variable is not set. Claude Code also sets `CLAUDE_CODE_MCP_SERVER_URL` for its own `headersHelper`; this app does not. A name can contain characters such as `&`: put it in double quotes, compare it with the names you expect, and do not pass it on to another command. +> > The helper script normally runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry's `name`, so one script can serve several servers. Put the variable in double quotes, compare it with the names you expect, and do not pass it to another command. > > **headersHelperArgs** `string[]` > @@ -2294,11 +2066,9 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Each entry reaches the executable as one argument, exactly as written: `["--environment", "production"]` runs `helper --environment production`. Use it to keep one installed script and let each server’s entry say what it does (which environment, tenant or endpoint to use), instead of packaging a script per server. -> > -> > Entries may not be empty and may not contain a double quote (`"`), a percent sign (`%`) or control characters, on any platform: a Windows `.cmd`/`.bat` helper receives its arguments through `cmd.exe`, where those characters would change the command. A `.cmd`/`.bat` script sees each argument quoted (`%1` is `"production"`, `%~1` strips the quotes); `.ps1`, `.exe` and POSIX helpers receive them bare. Arguments are visible in the app log and to other processes on the machine, so do not put secrets in them; the helper exists to fetch the secret. A server whose list breaks these rules is dropped, and reported, rather than run with other arguments. -> > -> > An app version that does not know this setting ignores it and runs the helper with no arguments: have the script fail when an argument it needs is missing. +> > * On every platform, an argument cannot be empty or contain a double quote, a percent sign or a control character. +> > * Do not put secrets in arguments. They are visible in the app log and to other processes on the device. +> > * Have the script fail when a needed argument is missing. An app version that does not know this setting passes none. > > **headersHelperTtlSec** `integer` > @@ -2316,58 +2086,51 @@ object\[]Since 1.2581.0 > > **provider** `enum` *required* > -> Runs search from the desktop, for inference providers without native web search. Supply the provider’s API key through the headers helper script below. +> Runs web search from the user’s device, for inference providers without built-in search. Supply the API key with the headers helper script. > > One of: `brave`, `tavily`, `exa`, `custom` > > > **More detail** > > -> > For inference providers without native web search (Bedrock, custom gateways). On Anthropic API and Vertex, the model’s built-in web search is available without this. -> > -> > The provider’s API key is a credential — have the **headers helper script** print its auth header rather than storing it in `headers`: +> > Not needed on the Anthropic API or Vertex, where the model's built-in web search is available. > > -> > * **Brave** — `X-Subscription-Token` -> > * **Exa** — `x-api-key` -> > * **Tavily** — `Authorization` (Bearer …) +> > Every search provider except `custom` needs an auth header. The API key is a credential, so have `headersHelper` print the header rather than storing it in `headers`: > > -> > To turn web search off entirely, or to require approval for each search, list the bare `WebSearch` name in `disabledBuiltinTools` or `builtinToolPolicy`; it takes no per-host scope. +> > * **Brave:** `X-Subscription-Token` +> > * **Exa:** `x-api-key` +> > * **Tavily:** `Authorization` (Bearer …) > > **platformOverrides** `object` > -> Each setting here replaces the server’s own on that operating system. A setting left out keeps the server’s own. +> On that operating system, each setting here replaces the entry’s own. A setting left out keeps the entry’s. > > > **More detail** > > -> > Lets one configuration serve devices on different operating systems. Under `win32` (Windows), `darwin` (macOS) or `linux` (Linux), repeat only the settings that differ on that operating system. Each setting written there replaces the entry’s own value whole: lists and maps are not merged. A setting left out keeps the entry’s value, so giving only `command` for an operating system still runs it with the entry’s `args`. -> > -> > A local (`stdio`) entry can repeat `command`, `args`, `env`, `envHelper` and `envHelperArgs`. A remote (`http` or `sse`) or web search entry can repeat `headersHelper` and `headersHelperArgs`; an entry that gives `headersHelper` here needs one of its own as well. Nothing else can differ by operating system, and other kinds of entry do not take this setting. An empty list or map here gives that operating system no arguments or variables. An empty path is an error, so a command or helper cannot be left out for one operating system only, and an entry cannot be limited to some operating systems. -> > -> > A full path under `win32` starts with a drive letter; a path under `darwin` or `linux` has no drive letter and no backslash. Every device checks the values of every operating system, so a mistake in any of them drops the server, with a configuration error, on every operating system. +> > A value written here replaces the entry's value whole: lists and maps are not merged. > > -> > A local entry still needs its own `command`, even when every operating system has one here. Desktop releases that predate this setting ignore it, with a notice in their log, and run the entry’s own values on every operating system. While such releases are in use, put the Windows values in the entry itself and the macOS and Linux values here. +> > * A local (`stdio`) entry can repeat `command`, `args`, `env`, `envHelper` and `envHelperArgs`. It always needs its own `command` too. +> > * A remote or web search entry can repeat `headersHelper` and `headersHelperArgs`. If it gives `headersHelper` here, it needs its own too. +> > * A mistake under any operating system drops the server on all of them. +> > * An older version ignores this setting and runs the entry's own values. Until all devices are updated, put the Windows values in the entry itself. > > > **Child attributes (3)** > > > > **platformOverrides.win32** `object: name → value` > > -> > On Windows, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On Windows, these replace the entry’s own settings. A setting left out keeps the entry’s. > > > > **platformOverrides.darwin** `object: name → value` > > -> > On macOS, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On macOS, these replace the entry’s own settings. A setting left out keeps the entry’s. > > > > **platformOverrides.linux** `object: name → value` > > -> > On Linux, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On Linux, these replace the entry’s own settings. A setting left out keeps the entry’s. > > **customUrl** `string` > > POST endpoint accepting \{q} JSON and returning a results\[] array. Only used when provider is Custom. > -> > **More detail** -> > -> > Required when `provider` is `custom`: the app drops such an entry without it. -> > **github** > > Applies when `server` is `github`. The in-app configuration window calls it **GitHub**. @@ -2388,7 +2151,7 @@ object\[]Since 1.2581.0 > > **scope** `string` > -> Space-separated GitHub OAuth scopes. If blank, Desktop’s default read set is used. Ignored for GitHub Apps (permissions come from the app registration). +> Space-separated GitHub OAuth scopes. Unset: Desktop’s default scopes. Ignored for GitHub Apps: their registration sets the permissions. > > **toolsets** `string` > @@ -2396,7 +2159,9 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Every tool that can change something asks before each call unless `toolPolicy` says otherwise. These cannot be loosened below `ask` (an `allow` setting resolves to `ask`, and where no prompt can be shown the call is refused): `merge_pull_request`, `push_files`, `create_or_update_file`, `delete_file`, `actions_run_trigger`, `pull_request_review_write`, `delete_repository`. +> > Every tool that can change something asks before each call unless `toolPolicy` says otherwise. +> > +> > These tools cannot be set looser than `ask`, and `allow` is treated as `ask`: `merge_pull_request`, `push_files`, `create_or_update_file`, `delete_file`, `actions_run_trigger`, `pull_request_review_write`, `delete_repository`. Where no prompt can be shown, their calls are refused. > > **readOnly** `boolean` > @@ -2408,7 +2173,7 @@ object\[]Since 1.2581.0 > > **transport** `enum` *required* > -> How the app connects: Streamable HTTP, legacy SSE, or a local command (stdio). policy-only connects to nothing; it only sets a plugin server’s tool policy. +> How the app connects: HTTP, legacy SSE or a local command (stdio). policy-only connects to nothing: it sets a plugin server’s tool policy. > > One of: `http`, `sse` > @@ -2418,13 +2183,13 @@ object\[]Since 1.2581.0 > > **oauth** `object` > -> OAuth for a remote server: true to auto-register a client, a pre-registered client ID with tenant and scope, or mode “hosted” for an Anthropic-signed identity. +> OAuth sign-in for a remote server: register a client automatically, use your own client ID, or use an Anthropic-hosted client identity. > > [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/mcp-sign-in.md) > > > **More detail** > > -> > **Auto-register**: Claude registers itself as a client with the MCP server’s authorization server the first time a user connects. **Bring your own client**: for a server whose provider requires an OAuth client that you register. Enter its **Client ID**, and add a **Client secret** and **Authorization server** only when the provider also requires the secret. Leave **None** for a server that needs no sign-in or authenticates with headers. +> > Choose **Bring your own client** when the provider requires an OAuth client that you register, and set `clientId`. Add `clientSecret` and `authorizationServer` only when the provider also requires the secret. > > > **Child attributes** > > @@ -2442,23 +2207,25 @@ object\[]Since 1.2581.0 > > > > **oauth.clientId** `string` > > -> > OAuth client ID from your IdP app registration. Leave unset to auto-register (dynamic client registration) and only narrow scopes. +> > OAuth client ID from your identity provider’s app registration. Unset: auto-register (dynamic client registration). > > > > **oauth.clientSecret** `string` > > -> > Only for IdPs that require one (e.g. Box). Hosted config can store only a Google Desktop-app secret (GOCSPX-…); for other IdPs use the client secret helper. +> > Only if the provider requires one. The Admin Console stores only a Google Desktop-app secret (GOCSPX-…). For others use the helper script. > > > > **oauth.clientSecretHelper** `string` > > > > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.) > > -> > Executable that prints the client secret on stdout as a JSON object with a single clientSecret key; any other output is rejected. Overrides the inline value. +> > Script that prints the client secret as a JSON object with a single clientSecret key. Takes priority over Client secret. > > > > > **More detail** > > > -> > > Claude runs the executable with no arguments whenever that server connects and whenever its sign-in is refreshed in the background (the result is not cached), and reads **stdout**, which must be exactly one JSON object of the form `{"clientSecret": "…"}`: no other keys, and no banner or log lines before or after it (write those to stderr, which is only logged; keep stdout and stderr together under 64 KB). The helper must exit with code `0` within 30 seconds. Any other output stops that server from connecting, with an error that names its `clientSecretHelper`, instead of sending a wrong value to the identity provider. Use this to pull the secret from Keychain, 1Password CLI, or an internal secret broker instead of writing it into the configuration, and prefer a helper that does not prompt the user, since it also runs during background refreshes. +> > > * Its standard output must be exactly `{"clientSecret": "…"}`, with no other keys or lines. Any other output stops the server from connecting. +> > > * It must exit with code `0` within 30 seconds. +> > > * It runs with no arguments each time the server connects and each time its sign-in is renewed in the background. Choose a script that does not prompt the user. > > > -> > > The helper runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry’s `name`, so one executable can serve several servers. For a name that holds a double quote, a percent sign or a control character the variable is not set. Claude Code also sets `CLAUDE_CODE_MCP_SERVER_URL` for its own `headersHelper`; this app does not. A name can contain characters such as `&`: put it in double quotes, compare it with the names you expect, and do not pass it on to another command. +> > > The helper script normally runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry's `name`, so one script can serve several servers. Put the variable in double quotes, compare it with the names you expect, and do not pass it to another command. > > > > **oauth.authorizationServer** `string[]` > > @@ -2476,6 +2243,10 @@ object\[]Since 1.2581.0 > > > > Required for single-tenant Entra apps. Leave blank for multi-tenant or non-Microsoft IdPs. > > +> > > **More detail** +> > > +> > > For a GCC High or DoD tenant, leave this unset and set `authorizationServer` to `https://login.microsoftonline.us//v2.0`. +> > > > **oauth.authFlow** `enum` > > > > How Entra sign-in runs for this server: the system browser (default) or the OS identity broker. @@ -2484,14 +2255,15 @@ object\[]Since 1.2581.0 > > > > > **More detail** > > > -> > > * **`browser`** (default) — opens the system browser for an authorization-code (PKCE) sign-in on the loopback redirect URI. -> > > * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, the Company Portal SSO extension on macOS), so it can satisfy Conditional Access policies that require a compliant or managed device or token protection. Requires **Tenant ID**, **Client ID**, and **Scope**. The app registration must list the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform, and the device must be Entra-registered (macOS also needs the Company Portal SSO extension). Not supported on Linux. When the broker is not available on a device, sign-in falls back to the system browser. +> > > `broker` signs in through the OS identity broker: Web Account Manager on Windows, the Company Portal SSO extension on macOS. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. > > > -> > > App versions that predate this key always use the system browser. +> > > * It requires `tenantId`, `clientId` and `scope`, and an Entra-registered device. +> > > * The app registration must list the [broker redirect URIs](https://claude.com/docs/third-party/claude-desktop/entra-broker.md). +> > > * `broker` is not supported on Linux. Where the broker is not available, sign-in falls back to the system browser. > > > > **oauth.scope** `string` > > -> > Space-separated scopes to request. Leave unset to use the scopes the server advertises. Required when Tenant ID is set or the resource parameter is omitted. +> > Space-separated scopes to request. Unset: the scopes the server advertises. Required if Tenant ID is set or the resource parameter omitted. > > > > **oauth.appendOfflineAccess** `boolean` > > @@ -2499,25 +2271,21 @@ object\[]Since 1.2581.0 > > > > > **More detail** > > > -> > > Leave off if Scope already includes `offline_access` or the server rejects it. +> > > Leave off if `scope` already includes `offline_access` or the server rejects it. > > > -> > > With explicit endpoints (Authorization URL / Token URL, no discovery) this toggle can’t take effect on its own — the app can’t confirm the AS advertises `offline_access`, so include `offline_access` in **Scope** instead for silent refresh. +> > > If you set `authorizationUrl` and `tokenUrl`, this switch does not work on its own. Add `offline_access` to `scope` instead. > > > > **oauth.omitResource** `boolean` > > -> > Sends no OAuth resource parameter. Use only if your IdP rejects it (Entra ID: AADSTS9010010). Requires Client ID, Scope and one sign-in server set here. +> > Sends no OAuth resource parameter. Use only if your identity provider rejects it. Requires Client ID, Scope and one sign-in server. > > > > > **More detail** > > > -> > > By default, sign-in and each token renewal send the URL this server publishes as the OAuth `resource` parameter (RFC 8707). This ties the token to this server. -> > > -> > > Turn this on when the identity provider rejects that value. Microsoft Entra ID rejects it with error `AADSTS9010010` when the URL is not registered in your tenant as an Application ID URI. That is usually not possible for a server on a vendor’s domain. With this on, Entra ID’s v2.0 endpoint takes the token’s audience from the prefix of the API scope in **Scope**, as in `api:///`. It reads a scope without that prefix as a Microsoft Graph scope, so write the scope in full. -> > > -> > > Requires **Client ID**, a **Scope** with at least one scope beyond `openid`, `profile`, `email`, `address`, `phone` and `offline_access`, and exactly one sign-in server named on this entry: **Tenant ID**, a single **Authorization server**, or **Authorization URL** and **Token URL**. An entry that breaks one of these rules is not loaded, so the server is missing for everyone. For a GCC High or DoD tenant, leave **Tenant ID** empty and set **Authorization server** to `https://login.microsoftonline.us//v2.0`. -> > > -> > > Why the sign-in server: where the entry names none, or several, this server’s own metadata has a say in where sign-in goes. The `resource` parameter is then what lets your identity provider refuse a sign-in that someone in control of this server’s replies has pointed elsewhere. +> > > By default, sign-in sends the URL that this server publishes as the OAuth `resource` parameter, which ties the token to this server. Microsoft Entra ID rejects it with `AADSTS9010010` when the URL is not an Application ID URI in your tenant. > > > -> > > Leave it off unless the identity provider rejects the value. Without the parameter, **Scope** alone tells the identity provider which API the token is for. Check that it names this server’s app. With this on, a scope for another app is accepted, and this server then receives a token meant for that app. Some identity providers also issue a token that their other APIs accept, so this server could use it to call them. +> > > * **Requires:** `clientId`, a `scope` with an API scope, and exactly one of `tenantId`, a single `authorizationServer`, or `authorizationUrl` with `tokenUrl`. Otherwise the entry is not loaded. +> > > * **Risk:** `scope` alone now says which API the token is for, so check that it names this server's app. A scope for another app is accepted, and this server then receives a token meant for that app. +> > > * **Entra ID:** write the scope in full, as in `api:///`. > > > > **oauth.callbackHost** `enum` > > @@ -2531,11 +2299,11 @@ object\[]Since 1.2581.0 > > > > **oauth.additionalRedirectReferrerHosts** `string` > > -> > Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> > Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > > > **More detail** > > > -> > > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. > > > > **hosted** > > @@ -2545,19 +2313,19 @@ object\[]Since 1.2581.0 > > > > **oauth.clientId** `string` > > -> > Set by the Claude.ai control plane when it serves this configuration (the URL of Anthropic’s hosted client-metadata document); not authored. +> > Filled in by Claude.ai: the URL of Anthropic’s hosted client-metadata document. Do not set it. > > > > **oauth.authorizationServer** `string[]` *required* > > -> > The exact issuer string(s) the server’s OAuth authorization server advertises in its metadata, as a JSON array — matched exactly, including path and any trailing slash. Required: Anthropic signs the client identity only for an authorization server listed here. +> > The exact issuer string(s) that the server’s authorization server advertises, as a JSON array. Anthropic signs the identity only for these. > > > > **oauth.scope** `string` > > -> > Space-separated scopes to request. Leave unset to use the scopes the server advertises. Required when Tenant ID is set or the resource parameter is omitted. +> > Space-separated scopes to request. Unset: the scopes the server advertises. Required if Tenant ID is set or the resource parameter omitted. > > **headers** `object: name → value` > -> Static headers sent on every request — routing and tenant headers only. No credentials here; use the headers helper script for tokens and rotating values. +> Static headers sent on every request: routing and tenant headers only. No credentials here: use the headers helper script for those. > > **headersHelper** `string` > @@ -2567,9 +2335,7 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Absolute path to an executable that prints a single JSON object of request headers to stdout, e.g. `{"X-Subscription-Token": "…"}`. The app runs it before each request and caches the result for the TTL below. Use this to pull the key from a secrets manager instead of storing it inline in `headers`. -> > -> > The helper runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry’s `name`, so one executable can serve several servers. For a name that holds a double quote, a percent sign or a control character the variable is not set. Claude Code also sets `CLAUDE_CODE_MCP_SERVER_URL` for its own `headersHelper`; this app does not. A name can contain characters such as `&`: put it in double quotes, compare it with the names you expect, and do not pass it on to another command. +> > The helper script normally runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry's `name`, so one script can serve several servers. Put the variable in double quotes, compare it with the names you expect, and do not pass it to another command. > > **headersHelperArgs** `string[]` > @@ -2579,11 +2345,9 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Each entry reaches the executable as one argument, exactly as written: `["--environment", "production"]` runs `helper --environment production`. Use it to keep one installed script and let each server’s entry say what it does (which environment, tenant or endpoint to use), instead of packaging a script per server. -> > -> > Entries may not be empty and may not contain a double quote (`"`), a percent sign (`%`) or control characters, on any platform: a Windows `.cmd`/`.bat` helper receives its arguments through `cmd.exe`, where those characters would change the command. A `.cmd`/`.bat` script sees each argument quoted (`%1` is `"production"`, `%~1` strips the quotes); `.ps1`, `.exe` and POSIX helpers receive them bare. Arguments are visible in the app log and to other processes on the machine, so do not put secrets in them; the helper exists to fetch the secret. A server whose list breaks these rules is dropped, and reported, rather than run with other arguments. -> > -> > An app version that does not know this setting ignores it and runs the helper with no arguments: have the script fail when an argument it needs is missing. +> > * On every platform, an argument cannot be empty or contain a double quote, a percent sign or a control character. +> > * Do not put secrets in arguments. They are visible in the app log and to other processes on the device. +> > * Have the script fail when a needed argument is missing. An app version that does not know this setting passes none. > > **headersHelperTtlSec** `integer` > @@ -2595,31 +2359,30 @@ object\[]Since 1.2581.0 > > **platformOverrides** `object` > -> Each setting here replaces the server’s own on that operating system. A setting left out keeps the server’s own. +> On that operating system, each setting here replaces the entry’s own. A setting left out keeps the entry’s. > > > **More detail** > > -> > Lets one configuration serve devices on different operating systems. Under `win32` (Windows), `darwin` (macOS) or `linux` (Linux), repeat only the settings that differ on that operating system. Each setting written there replaces the entry’s own value whole: lists and maps are not merged. A setting left out keeps the entry’s value, so giving only `command` for an operating system still runs it with the entry’s `args`. +> > A value written here replaces the entry's value whole: lists and maps are not merged. > > -> > A local (`stdio`) entry can repeat `command`, `args`, `env`, `envHelper` and `envHelperArgs`. A remote (`http` or `sse`) or web search entry can repeat `headersHelper` and `headersHelperArgs`; an entry that gives `headersHelper` here needs one of its own as well. Nothing else can differ by operating system, and other kinds of entry do not take this setting. An empty list or map here gives that operating system no arguments or variables. An empty path is an error, so a command or helper cannot be left out for one operating system only, and an entry cannot be limited to some operating systems. -> > -> > A full path under `win32` starts with a drive letter; a path under `darwin` or `linux` has no drive letter and no backslash. Every device checks the values of every operating system, so a mistake in any of them drops the server, with a configuration error, on every operating system. -> > -> > A local entry still needs its own `command`, even when every operating system has one here. Desktop releases that predate this setting ignore it, with a notice in their log, and run the entry’s own values on every operating system. While such releases are in use, put the Windows values in the entry itself and the macOS and Linux values here. +> > * A local (`stdio`) entry can repeat `command`, `args`, `env`, `envHelper` and `envHelperArgs`. It always needs its own `command` too. +> > * A remote or web search entry can repeat `headersHelper` and `headersHelperArgs`. If it gives `headersHelper` here, it needs its own too. +> > * A mistake under any operating system drops the server on all of them. +> > * An older version ignores this setting and runs the entry's own values. Until all devices are updated, put the Windows values in the entry itself. > > > **Child attributes (3)** > > > > **platformOverrides.win32** `object: name → value` > > -> > On Windows, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On Windows, these replace the entry’s own settings. A setting left out keeps the entry’s. > > > > **platformOverrides.darwin** `object: name → value` > > -> > On macOS, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On macOS, these replace the entry’s own settings. A setting left out keeps the entry’s. > > > > **platformOverrides.linux** `object: name → value` > > -> > On Linux, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On Linux, these replace the entry’s own settings. A setting left out keeps the entry’s. > > **toolTimeoutSec** `integer` > @@ -2627,11 +2390,10 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > This value sets how long Claude waits for one tool call to this server. After that time, the call fails with a timeout error that Claude can see. For this server, the value takes the place of `mcpToolTimeoutSec` and of the default, and it can be higher or lower than either. It applies in Cowork, Chat and Code, and in scheduled tasks. For example, set 600 on a database server whose queries take minutes, and leave the other servers unchanged. -> > -> > The limit is fixed for each call. Progress messages from the server do not extend it. Time that a person spends on a sign-in or consent step during the call counts toward the limit. On a server that asks for sign-in, set a generous value. A value that is not a whole number from 5 to 3600 is ignored: a device reports a configuration warning, and the admin console will not save the value. +> > For Claude's calls to this server it takes the place of `mcpToolTimeoutSec`. Use a whole number from 5 to 3600: any other value is ignored. > > -> > Cowork's built-in shell tool and servers that plugins provide follow `mcpToolTimeoutSec` instead. For calls that a widget or an artifact makes, this setting can make the limit longer but never shorter. On a self-hosted session host, this setting applies only if the version of the host supports it. If the host does not support it, every server on that host follows `mcpToolTimeoutSec` in the host's policy document, or 180 seconds when the policy document does not set it. +> > * Progress messages from the server do not extend the limit. +> > * Time that a user spends on a sign-in or consent step during the call counts toward the limit. On a server that asks for sign-in, set a generous value. > > **icon** `string` > @@ -2639,7 +2401,7 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Replaces the website's icon or the generic connector icon for this connector. The image is stored in the configuration itself, so the app makes no network request to show it. A PNG of 48 by 48 pixels or smaller works well. A URL, an SVG or another format, or a value over 4,096 characters (spaces and line breaks not counted) is not used: a device reports a configuration warning and shows the default icon, and the admin console will not save it. Each icon adds to the size of the configuration every device receives, and Windows Group Policy holds the whole `managedMcpServers` list in one value of at most 65,535 characters, so keep icons small. +> > A PNG of 48 by 48 pixels or smaller works well. Keep icons small: Windows Group Policy holds the whole `managedMcpServers` list in one value of at most 65,535 characters. > > **defaultState** `enum` > @@ -2649,7 +2411,11 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > `off` leaves the connector out of a person's sessions until they turn it on under Connectors in the + menu. `on`, the default, includes it until they turn it off. Once a person has switched it, it follows their switch. This sets a starting point and is not a restriction: each person can turn it on for themselves. To withhold a connector, remove it or block its tools with `toolPolicy`. Adding `off` to a connector people already use turns it off for everyone who has not switched it on themselves, scheduled tasks included. Unlike `toolPolicy`, it does not apply to a plugin's server that matches this entry. A change applies at the latest after the app restarts. A value other than `on` or `off` is read as `off` and reported. +> > Unset means `on`. +> > +> > * This is a starting point, not a restriction: each user can turn the connector on. To withhold a connector, remove it or block its tools with `toolPolicy`. +> > * Adding `off` to a connector already in use turns it off for all users who have not switched it on themselves, scheduled tasks included. +> > * This setting does not apply to a plugin's server that matches this entry. > > **stdio** > @@ -2657,7 +2423,7 @@ object\[]Since 1.2581.0 > > **transport** `string` *required* > -> How the app connects: Streamable HTTP, legacy SSE, or a local command (stdio). policy-only connects to nothing; it only sets a plugin server’s tool policy. +> How the app connects: HTTP, legacy SSE or a local command (stdio). policy-only connects to nothing: it sets a plugin server’s tool policy. > > Must be: `stdio` > @@ -2687,12 +2453,10 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Absolute path to an executable that prints a single JSON object of environment variables to stdout, e.g. `{"API_KEY": "…"}`. The app runs it before spawning the server and merges the result over `env` (the helper wins on conflict). Use this to pull secrets from a secrets manager instead of storing them inline in `env`. -> > -> > * If the helper fails, the server does not start; the failure names the helper path in the app log and the diagnostics report. -> > * A helper with nothing to set must print `{}`. Empty stdout is treated as a failure. -> > * A helper-emitted `PATH` replaces the static map’s `PATH` and supports the same `${PATH}` placeholder expansion as a static entry. -> > * The helper runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry’s `name`, so one executable can serve several servers. For a name that holds a double quote, a percent sign or a control character the variable is not set. Claude Code also sets `CLAUDE_CODE_MCP_SERVER_URL` for its own `headersHelper`; this app does not. A name can contain characters such as `&`: put it in double quotes, compare it with the names you expect, and do not pass it on to another command. +> > * Its values take priority over `env`. +> > * If the script fails, the server does not start. +> > * A script with nothing to set must print `{}`. Empty output counts as a failure. +> > * The helper script normally runs with `CLAUDE_CODE_MCP_SERVER_NAME` set to this entry's `name`, so one script can serve several servers. Put the variable in double quotes, compare it with the names you expect, and do not pass it to another command. > > **envHelperArgs** `string[]` > @@ -2702,11 +2466,9 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Each entry reaches the executable as one argument, exactly as written: `["--environment", "production"]` runs `helper --environment production`. Use it to keep one installed script and let each server’s entry say what it does (which environment, tenant or endpoint to use), instead of packaging a script per server. -> > -> > Entries may not be empty and may not contain a double quote (`"`), a percent sign (`%`) or control characters, on any platform: a Windows `.cmd`/`.bat` helper receives its arguments through `cmd.exe`, where those characters would change the command. A `.cmd`/`.bat` script sees each argument quoted (`%1` is `"production"`, `%~1` strips the quotes); `.ps1`, `.exe` and POSIX helpers receive them bare. Arguments are visible in the app log and to other processes on the machine, so do not put secrets in them; the helper exists to fetch the secret. A server whose list breaks these rules is dropped, and reported, rather than run with other arguments. -> > -> > An app version that does not know this setting ignores it and runs the helper with no arguments: have the script fail when an argument it needs is missing. +> > * On every platform, an argument cannot be empty or contain a double quote, a percent sign or a control character. +> > * Do not put secrets in arguments. They are visible in the app log and to other processes on the device. +> > * Have the script fail when a needed argument is missing. An app version that does not know this setting passes none. > > **envHelperTtlSec** `integer` (default: 300) > @@ -2714,7 +2476,7 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > How long the app may reuse the helper's output before running it again. The check happens only when the server process is (re)started. Environment variables are fixed at process creation, and a running server never sees refreshed values until its next restart. Set this at or below your token lifetime: a server that crash-loops because its token expired can be respawned with the same cached environment until the TTL lapses. Default: 300 seconds. +> > Set this at or below your token lifetime. Otherwise a server that crashes because its token expired can restart with the same cached values until this time is up. > > **startupTimeoutSec** `integer` (default: 120) > @@ -2722,31 +2484,30 @@ object\[]Since 1.2581.0 > > **platformOverrides** `object` > -> Each setting here replaces the server’s own on that operating system. A setting left out keeps the server’s own. +> On that operating system, each setting here replaces the entry’s own. A setting left out keeps the entry’s. > > > **More detail** > > -> > Lets one configuration serve devices on different operating systems. Under `win32` (Windows), `darwin` (macOS) or `linux` (Linux), repeat only the settings that differ on that operating system. Each setting written there replaces the entry’s own value whole: lists and maps are not merged. A setting left out keeps the entry’s value, so giving only `command` for an operating system still runs it with the entry’s `args`. +> > A value written here replaces the entry's value whole: lists and maps are not merged. > > -> > A local (`stdio`) entry can repeat `command`, `args`, `env`, `envHelper` and `envHelperArgs`. A remote (`http` or `sse`) or web search entry can repeat `headersHelper` and `headersHelperArgs`; an entry that gives `headersHelper` here needs one of its own as well. Nothing else can differ by operating system, and other kinds of entry do not take this setting. An empty list or map here gives that operating system no arguments or variables. An empty path is an error, so a command or helper cannot be left out for one operating system only, and an entry cannot be limited to some operating systems. -> > -> > A full path under `win32` starts with a drive letter; a path under `darwin` or `linux` has no drive letter and no backslash. Every device checks the values of every operating system, so a mistake in any of them drops the server, with a configuration error, on every operating system. -> > -> > A local entry still needs its own `command`, even when every operating system has one here. Desktop releases that predate this setting ignore it, with a notice in their log, and run the entry’s own values on every operating system. While such releases are in use, put the Windows values in the entry itself and the macOS and Linux values here. +> > * A local (`stdio`) entry can repeat `command`, `args`, `env`, `envHelper` and `envHelperArgs`. It always needs its own `command` too. +> > * A remote or web search entry can repeat `headersHelper` and `headersHelperArgs`. If it gives `headersHelper` here, it needs its own too. +> > * A mistake under any operating system drops the server on all of them. +> > * An older version ignores this setting and runs the entry's own values. Until all devices are updated, put the Windows values in the entry itself. > > > **Child attributes (3)** > > > > **platformOverrides.win32** `object: name → value` > > -> > On Windows, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On Windows, these replace the entry’s own settings. A setting left out keeps the entry’s. > > > > **platformOverrides.darwin** `object: name → value` > > -> > On macOS, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On macOS, these replace the entry’s own settings. A setting left out keeps the entry’s. > > > > **platformOverrides.linux** `object: name → value` > > -> > On Linux, these replace the server’s own settings. A setting left out keeps the server’s own. +> > On Linux, these replace the entry’s own settings. A setting left out keeps the entry’s. > > **toolTimeoutSec** `integer` > @@ -2754,11 +2515,10 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > This value sets how long Claude waits for one tool call to this server. After that time, the call fails with a timeout error that Claude can see. For this server, the value takes the place of `mcpToolTimeoutSec` and of the default, and it can be higher or lower than either. It applies in Cowork, Chat and Code, and in scheduled tasks. For example, set 600 on a database server whose queries take minutes, and leave the other servers unchanged. -> > -> > The limit is fixed for each call. Progress messages from the server do not extend it. Time that a person spends on a sign-in or consent step during the call counts toward the limit. On a server that asks for sign-in, set a generous value. A value that is not a whole number from 5 to 3600 is ignored: a device reports a configuration warning, and the admin console will not save the value. +> > For Claude's calls to this server it takes the place of `mcpToolTimeoutSec`. Use a whole number from 5 to 3600: any other value is ignored. > > -> > Cowork's built-in shell tool and servers that plugins provide follow `mcpToolTimeoutSec` instead. For calls that a widget or an artifact makes, this setting can make the limit longer but never shorter. On a self-hosted session host, this setting applies only if the version of the host supports it. If the host does not support it, every server on that host follows `mcpToolTimeoutSec` in the host's policy document, or 180 seconds when the policy document does not set it. +> > * Progress messages from the server do not extend the limit. +> > * Time that a user spends on a sign-in or consent step during the call counts toward the limit. On a server that asks for sign-in, set a generous value. > > **icon** `string` > @@ -2766,7 +2526,7 @@ object\[]Since 1.2581.0 > > > **More detail** > > -> > Replaces the website's icon or the generic connector icon for this connector. The image is stored in the configuration itself, so the app makes no network request to show it. A PNG of 48 by 48 pixels or smaller works well. A URL, an SVG or another format, or a value over 4,096 characters (spaces and line breaks not counted) is not used: a device reports a configuration warning and shows the default icon, and the admin console will not save it. Each icon adds to the size of the configuration every device receives, and Windows Group Policy holds the whole `managedMcpServers` list in one value of at most 65,535 characters, so keep icons small. +> > A PNG of 48 by 48 pixels or smaller works well. Keep icons small: Windows Group Policy holds the whole `managedMcpServers` list in one value of at most 65,535 characters. > > **policy-only** > @@ -2774,15 +2534,17 @@ object\[]Since 1.2581.0 > > **transport** `string` *required* > -> How the app connects: Streamable HTTP, legacy SSE, or a local command (stdio). policy-only connects to nothing; it only sets a plugin server’s tool policy. +> How the app connects: HTTP, legacy SSE or a local command (stdio). policy-only connects to nothing: it sets a plugin server’s tool policy. > > Must be: `policy-only` > > > **More detail** > > -> > An entry with `transport: "policy-only"` is not a server: it sets tool permissions for an MCP server that an installed plugin provides, and nothing else. Set `name` to the server's name as the plugin declares it (matched case-insensitively) and `toolPolicy` to the permissions. The plugin keeps launching or connecting to its own server; the app never connects to, launches or lists anything for the entry, so it takes no `url`, `command`, `oauth` or other connection settings (an entry that sets one is rejected). It takes precedence over `orgPluginSettings` for that server in chat, Cowork and Code sessions alike; with no `toolPolicy` the server is left unrestricted. An entry whose name matches no installed plugin server does nothing. +> > For a `policy-only` entry: > > -> > Desktop versions that predate `policy-only` do not recognise it: they drop the entry (listed under Configuration parse errors in the diagnostics report) and apply `orgPluginSettings` to that server instead. If every entry in the list is `policy-only`, those versions cannot read `managedMcpServers` at all: they report a parse error for it and, until they are updated, leave MCP servers that users added themselves, or that a project's `.mcp.json` declares, out of Code sessions. While older versions are still in use, keep the same permissions in `orgPluginSettings` too, and do not deploy a list made only of `policy-only` entries until every desktop has updated. +> > * Set `name` to the server's name as the plugin declares it (letter case is ignored), and `toolPolicy` to the permissions. A name that matches no installed plugin server does nothing. +> > * It takes priority over `orgPluginSettings` for that server. With no `toolPolicy`, the server is left unrestricted. +> > * An older version drops the entry and applies `orgPluginSettings` instead. Until all devices are updated, keep the same permissions there, and do not deploy a list made only of `policy-only` entries. *** @@ -2792,17 +2554,11 @@ booleanDefault: trueSince 1.24012.9 **Allow persistent tool approvals.** Offer the persistent “Always allow” approval options for MCP tools. Disable to keep tool approvals per-call or session-scoped only. -[Self-hosted install](#self-hosted-column): Server side. When off, the host leaves lasting MCP tool approvals out of its sessions, and tells Desktop not to offer them. - > **More detail** > -> When enabled (the default), approval prompts for tools without a `toolPolicy` entry offer a persistent grant: **Always allow**, or **Allow for all tasks** for tools that can modify data. The Tool permissions picker in Connector settings also lets users pre-approve tools. These grants persist across sessions with no expiry. -> -> When disabled, the persistent options are hidden from approval prompts and from the Connector settings picker, and previously stored persistent grants stop being honored. Scheduled-task runs also stop offering, recording, and replaying the **Allow for all scheduled runs** approval (**Always allow** in Code sessions), unless a scheduled-task approval lifetime of one day or more is set. Users can still approve each call. Outside scheduled-task runs, in chat and Cowork they can also choose **Allow for this task**, except for read-only tools on servers they added themselves. +> When off, persistent approvals that users saved earlier in Chat and Cowork stop applying. Scheduled tasks also stop offering and reusing them, unless `mcpScheduledTaskApprovalLifetimeDays` is 1 or more. > -> A per-tool `toolPolicy` entry on `managedMcpServers` always takes precedence over this key: `blocked`, `ask`, and `allow` behave exactly as documented there whether this key is enabled or not. -> -> This key governs chat and Cowork, and also Code sessions on the device (including WSL) or over SSH. In those Code sessions, with the key disabled, the prompt for an MCP tool offers **Allow for this session** instead of **Always allow**, except on scheduled-task runs. This approval is not saved to Claude Code's settings files. It lasts until the session is deleted, and sessions forked or started from it do not inherit it. Claude Code's own allow rules and hooks still apply. Allow rules in its settings files, including ones saved earlier with **Always allow**, and hooks in its settings or plugins keep allowing the tool until they are removed. Code sessions receive only the `blocked` and `ask` values of `toolPolicy` entries, so a tool set to `allow` still prompts there, and this key applies to it. +> In Code, any allow rule in a user's or a project's Claude Code settings keeps allowing a tool until it is removed. So do hooks in its settings or plugins. *** @@ -2810,19 +2566,13 @@ booleanDefault: trueSince 1.24012.9 integerRange: 0–3,650Since 2.7032.0 -**Scheduled-task tool approval lifetime.** How many days a scheduled task may reuse a lasting MCP-tool approval before it asks again. 0 removes the lasting option. Leave blank for no time limit. - -[Self-hosted install](#self-hosted-column): Server side. The host limits how many days a scheduled task may reuse a lasting MCP tool approval, and tells Desktop. +**Scheduled-task tool approval lifetime.** Days a scheduled task can reuse a persistent MCP tool approval before it asks again. 0 turns reuse off. Unset: no limit. > **More detail** > -> On a scheduled task, the approval prompt for an MCP tool can offer a lasting approval, so later runs use that tool without asking: **Allow for all scheduled runs** in Cowork, **Always allow** in the Code tab. This setting limits how long that approval lasts. With a limit, the button reads **Allow for N days**. Once an approval is older than that, the next run asks again, and approving again renews it. `0` removes the lasting option, and approvals already stored stop being reused. Leave it blank to change nothing. Choose a number comfortably longer than the gap between runs. -> -> The limit covers MCP tools only, and a `toolPolicy` entry on `managedMcpServers` still takes precedence. If a configuration server delivers the setting, then after each launch scheduled tasks ask instead of reusing stored approvals (as at `0`) until the app has fetched the configuration again. -> -> If `mcpPersistentAlwaysAllowEnabled` is off, a limit of one day or more brings the lasting option back for scheduled tasks only. -> -> Code tab: the limit covers only lasting approvals given after this setting took effect. An earlier one was usually saved as an allow rule in Claude Code's own settings: for a scheduled task, the project's `.claude/settings.local.json`, under `permissions.allow`. Any allow rule in Claude Code's settings keeps allowing the tool without asking, even at `0`, until that entry is removed. That includes a rule written by hand, and one saved by **Always allow** in an ordinary Code session in the same project, which the app offers whenever `mcpPersistentAlwaysAllowEnabled` is on. In an ordinary Code session over SSH, if this setting has a value (even `0`), **Always allow** for a tool of a server set up on the host lasts for the session only and saves no rule there. +> * If `mcpPersistentAlwaysAllowEnabled` is off, a limit of 1 or more brings the persistent option back for scheduled tasks only. +> * In Code, any allow rule in a user's or a project's Claude Code settings keeps allowing the tool, even at `0`, until it is removed. Earlier approvals were usually saved as such rules. +> * If the bootstrap server sets this key, scheduled tasks ask again after each app start until the app has fetched the configuration. *** @@ -2830,17 +2580,15 @@ integerRange: 0–3,650Since 2.7032.0 booleanDefault: trueSince 1.2581.0 -**Allow local MCP servers.** Local stdio servers added via the Developer settings. On third-party deployments, off also stops plugins’ local servers. Remote servers keep working. - -[Self-hosted install](#self-hosted-column): Server side. When off, only the local MCP servers the host names start on the person's computer, and none the person added. +**Allow local MCP servers.** Lets users run local (stdio) MCP servers added in Developer settings. On third-party deployments, off also stops plugins’ local servers. > **More detail** > -> On third-party deployments, `false` from any source also stops plugins' local (`stdio`) MCP servers in Cowork, Chat and Code sessions. That covers `.mcpb` bundles and plugins from every marketplace, your organization's included. In Code it also stops the local servers in Claude Code's own configuration files (`~/.claude.json`, a project's `.mcp.json`). It also stops a local server in Claude Code's `managed-mcp.json` whose command or arguments use `${VAR}`. Remote servers keep working. Plugins placed in the org-plugins directory on the computer (macOS and Windows only) are not affected: the desktop still runs the servers of each one that is turned on, except `.mcpb` bundles and local servers that use `${user_config.…}`, which it never runs from that directory. +> On third-party deployments, `false` covers `.mcpb` bundles and plugins from every marketplace, your organization's included. Plugins in the org-plugins directory on the device are not affected. In Code, it also stops the local servers that a user or a project configures for Claude Code. > -> Set to `false` in a device-management profile, this key also locks down the local (`stdio`) entries of `managedMcpServers`: the app starts one only when that profile itself lists an entry of the same name, and with the profile's own command, arguments and environment. Only the profile's value engages this. A `false` from a configuration server or the admin console turns user-added servers off and does not engage it. +> When `false` comes from an MDM profile, the app starts only the local `managedMcpServers` entries in that same profile, exactly as written there. A `false` from any other source does not do this. > -> Claude Code's own managed settings, on the device, on an SSH host, or served to Code sessions (for example from the Claude Console), may override this key: see [managed settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings). +> Claude Code's own managed settings, where a session has any, take priority by default. *** @@ -2848,17 +2596,15 @@ booleanDefault: trueSince 1.2581.0 object\[]Since 2.2553.0 -**Allowed plugin MCP servers.** Servers plugins may connect in sessions, beyond the managed list above and organization plugins. An empty list allows none; unset keeps today’s rules. - -[Self-hosted install](#self-hosted-column): Server side. Unset, the host admits every remote MCP server of the admin's marketplace plugins; set, only matching ones; empty, none. +**Allowed plugin MCP servers.** Remote MCP servers that user-installed and marketplace plugins can connect, as URL patterns. Empty list: none. Unset: no limit. > **More detail** > -> Unset (default): with managed servers listed, sessions take MCP servers only from plugins and the desktop; with no managed servers listed, this key restricts nothing. Either way, `isLocalDevMcpEnabled` set to `false` stops plugins' local servers and, in Code, those of Claude Code's own configuration files. +> * **Entries:** `{"serverUrl": "https://*.example.com/*"}`. No other entry form is read. +> * **Once set:** no entry allows a plugin's local (`stdio`) server, and servers that a user or a project configures for Claude Code are not connected. +> * **`policy-only`:** a `managedMcpServers` entry with that `transport` does not allow its server. List the server's own URL here too. > -> When set, Cowork, Chat and Code sessions connect the managed list above and the servers the desktop serves from the administrator's org-plugins directory, plus only servers declared by other plugins (user-installed or marketplace) that match an entry. An entry in the managed list above with `transport: "policy-only"` sets a plugin server's tool permissions but does not admit it; to admit that server, list the server's own URL here. Claude Code configuration-file servers (`~/.claude.json`, a project's `.mcp.json`, `claude mcp add`) are never connected. With the key set, the desktop starts no plugin server on the computer itself, whatever the entries say. The one exception is the MCP servers it serves to sessions from the org-plugins directory. Each entry is a URL pattern in Claude Code's form, `{"serverUrl": "https://*.example.com/*"}` (`*` wildcards; a host `*` spans `a.b`): a plugin's remote server connects when its URL matches an entry. No entry admits a plugin's local (stdio) server, and an empty list admits no plugin server. Other shapes, the `serverName` and `serverCommand` forms included, are dropped and reported; a value that is not a list, or has no readable entry, locks sessions to the managed list and the org-plugins directory's servers, and stops every other desktop-started plugin server. User-added local servers and extensions keep their own keys. -> -> Claude Code's own managed settings, on the device, on an SSH host, or served to Code sessions (for example from the Claude Console), may override this key: see [managed settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings). +> Claude Code's own managed settings, where a session has any, take priority by default. > **Child attributes (1)** > @@ -2872,17 +2618,17 @@ object\[]Since 2.2553.0 object\[]Since 2.16120.0 -**Blocked plugin MCP servers.** Remote servers plugins may not connect, even if the allowed list admits them; in Code sessions, configuration-file servers too. Unset or empty blocks none. - -[Self-hosted install](#self-hosted-column): Server side. The host refuses a plugin's remote MCP server that this list matches, even where the allowed list admits it. +**Blocked plugin MCP servers.** URL patterns of remote MCP servers that plugins cannot connect, even if the Allowed plugin MCP servers list allows them. > **More detail** > -> Unset (default) or an empty list: nothing is blocked. +> An entry matches an address, not a server. The same server under another host name or IP address, or behind a plugin's local server, is not matched. To keep a plugin's servers out whatever address they use, set `allowedPluginMcpServers`. > -> When set, Cowork, Chat and Code sessions do not connect a plugin's remote server whose URL matches an entry. The key works with or without `allowedPluginMcpServers`; a server that matches both lists stays blocked. In a Code session that reads Claude Code configuration-file servers (`~/.claude.json`, a project's `.mcp.json`, `claude mcp add`), a matching remote server from those files is refused as well. The managed list above, the servers the desktop serves from the administrator's org-plugins directory, user-added local servers and extensions are not affected: remove those at their own keys. Each entry is a URL pattern in Claude Code's form, `{"serverUrl": "https://*.example.com/*"}` (`*` wildcards; a host `*` spans `a.b`). An entry matches an address, not a server: the same server under another host name or an IP address, or behind a plugin's local (stdio) server, which has no URL, is not matched. `https://*.example.com/*` does not match `http://`, `wss://` or the bare `example.com`; a pattern such as `example.com/*`, which names no scheme, matches nothing, and a lone `*` matches every URL. To keep a plugin's servers out whatever address they use, set `allowedPluginMcpServers`, which admits only the servers it lists. The desktop reads no other shape, the `serverName` and `serverCommand` forms included: a value that is not a list, or that holds any entry the desktop cannot read, is reported and blocks every plugin's remote server (and those configuration-file remote servers), because skipping an entry of a block list would let its server connect. The servers named above as not affected still connect. +> * **Entries:** `{"serverUrl": "https://*.example.com/*"}`. This example does not match `http://`, `wss://` or `example.com` itself. A pattern with no scheme matches nothing. +> * **Not affected:** `managedMcpServers` and servers from the org-plugins directory on the device. +> * **Any other form**, such as `serverName`, is reported and blocks every plugin's remote server. > -> Claude Code's own managed settings, on the device, on an SSH host, or served to Code sessions (for example from the Claude Console), may override this key: see [managed settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings). +> Claude Code's own managed settings, where a session has any, take priority by default. > **Child attributes (1)** > @@ -2896,15 +2642,14 @@ object\[]Since 2.16120.0 integerRange: 60–3,600Since 1.37937.0 -**MCP tool call timeout.** Per-call timeout for MCP tool calls, in seconds. Default 180 (3 minutes). - -[Self-hosted install](#self-hosted-column): Server side. The host starts Claude Code, so it sets how long an MCP tool call may run. +**MCP tool call timeout.** Per-call timeout for MCP tool calls, in seconds. Unset: 180 in Chat and Cowork. > **More detail** > -> Sets the per-call timeout the agent applies to every MCP tool call; a call that runs longer fails with a timeout error the model can see. Cowork and chat sessions default to 180 seconds. Code sessions have no desktop-imposed MCP tool timeout today, so setting this key introduces one there as well. The desktop's own request deadlines toward MCP servers — the managed servers above and, where `isLocalDevMcpEnabled` permits them, user-added local servers — follow this value so they never cut a call short first; while the key is unset, calls to user-added local servers are additionally limited to 60 seconds by the desktop. Values outside 60–3600 are rejected at parse time (the error is listed in the diagnostics report) and the defaults apply. -> -> A server's own `toolTimeoutSec` on its `managedMcpServers` entry takes the place of this value for that server. Every other server follows this value, so a high value also lets a stuck call on any of them keep Claude waiting that long. Cowork's built-in shell tool runs under the same cap: a single command's `timeout_ms` (itself limited to 600 seconds) cannot exceed this value. +> * **Unset:** Chat and Cowork use 180 seconds, and the app sets no timeout in Code. Calls to user-added local servers are also limited to 60 seconds. +> * **Set:** the value applies in Code too. +> * **One server:** `toolTimeoutSec` on its `managedMcpServers` entry replaces this value for that server. +> * **Cowork's shell tool:** a single command's timeout cannot exceed this value, or 600 seconds if that is lower. *** @@ -2914,15 +2659,17 @@ integerRange: 60–3,600Since 1.37937.0 enumDefault: autoSince 1.19367.0 -**Microsoft 365 native sign-in broker.** “disabled” forces browser-based Microsoft 365 sign-in; “required” fails sign-in when the OS broker is unavailable, so the refresh token stays broker-held. +**Microsoft 365 native sign-in broker.** How Microsoft 365 signs in. “auto”: OS identity broker, else browser. “disabled”: browser only. “required”: fails without the broker. One of: `auto` (default), `disabled`, `required` -[Self-hosted install](#self-hosted-column): Not supported. Steers the sign-in of Desktop's bundled Microsoft 365 connector, started for no session on a self-hosted install. - > **More detail** > -> `auto` (default): use the OS sign-in broker where available (WAM on Windows, the Company Portal SSO extension on macOS) and fall back to a browser sign-in otherwise. `disabled`: always use the browser sign-in. `required`: fail sign-in when the broker is unavailable rather than falling back to the browser, so the refresh token stays broker-held. Linux has no broker, so `required` is not supported there. Desktop builds older than the version that introduced `required` treat it as `disabled` (browser-only sign-in) — the opposite posture — so gate rollout on client version. +> The OS identity broker is Web Account Manager on Windows and the Company Portal SSO extension on macOS. Linux has no broker, so `required` is not supported there. +> +> With `required` the refresh token stays held by the broker. +> +> Update all devices first: an older version treats `required` as `disabled`, so it signs in through the browser. *** @@ -2930,15 +2677,20 @@ One of: `auto` (default), `disabled`, `required` enumDefault: disabledSince 2.26454.0 -**Microsoft 365 sign-in with the Windows account.** “enabled”: when a user clicks Connect on Windows, Microsoft 365 signs in with the work account already signed in to Windows, without the account picker. +**Microsoft 365 sign-in with the Windows account.** “enabled”: on Windows, connecting Microsoft 365 uses the work account already signed in to Windows. “disabled”: account picker. One of: `enabled`, `disabled` (default) -[Self-hosted install](#self-hosted-column): Not supported. Picks the account for Desktop's bundled Microsoft 365 connector, started for no session on a self-hosted install. - > **More detail** > -> `disabled` (default): Connect shows the account picker when no account is connected. `enabled`: on Windows, when `microsoftAuthBroker` is not `disabled`, Connect first signs in silently with the account Windows already uses. The `tenantId` on the `microsoft365` entry in managed MCP servers must be a tenant GUID. With `common`, `organizations` or `consumers`, users always get the picker. Users also get the picker for accounts from another tenant, guest accounts and personal Microsoft accounts, when the silent sign-in fails, and when the computer cannot store credentials securely. A user who is already connected keeps that account until the saved sign-in is reset. A change to the entry's client ID, tenant, cloud or Continuous Access Evaluation setting resets it, and from then on that user gets the account picker, as after a disconnect. An older Claude Desktop does not reset the saved sign-in. After a user disconnects Microsoft 365, or a different person signs in to Claude on this computer, Connect always shows the picker for that connector on this computer, including for a disconnect that happened before this setting was turned on. Turning this setting off stops new silent sign-ins and signs nobody out. macOS and Linux are not affected. Third-party deployments only: first-party installs ignore this setting. +> It needs both of these: +> +> * `microsoftAuthBroker` is not `disabled`. +> * The `tenantId` of the `microsoft365` entry in `managedMcpServers` is a tenant GUID, not `common`, `organizations` or `consumers`. +> +> Users still get the account picker in some cases, such as a failed silent sign-in or a guest or personal account. They also get it once they have disconnected Microsoft 365 on the device. +> +> Turning this off signs nobody out. *** @@ -2948,13 +2700,11 @@ One of: `enabled`, `disabled` (default) booleanDefault: falseSince 1.2581.0 -**Allow desktop extensions.** .dxt and .mcpb installs. - -[Self-hosted install](#self-hosted-column): Not supported. Desktop keeps extensions off on a self-hosted install, whatever this setting says. +**Allow desktop extensions.** Let Claude Desktop load desktop extensions (.dxt and .mcpb files). Unset: on where users sign in with Claude.ai. > **More detail** > -> 1P builds default to enabled at runtime unless this is explicitly set. In 3P, enabling this allows loading extensions; local install additionally requires an org policy backend. +> In a third-party deployment, turning this on loads extensions that are already installed. Users cannot install new ones. *** @@ -2964,8 +2714,6 @@ booleanDefault: falseSince 1.2581.0 **Require signed extensions.** Reject desktop extensions that are not signed by a trusted publisher. -[Self-hosted install](#self-hosted-column): Not supported. Desktop installs no extension on a self-hosted install, so there is no signature for it to require. - *** ## Telemetry & updates @@ -2974,15 +2722,15 @@ booleanDefault: falseSince 1.2581.0 stringSince 1.2581.0 -**Organization UUID.** A UUID you generate. Tags telemetry so Anthropic support can locate your fleet’s events, and namespaces each user’s local data. Not used for auth. - -[Self-hosted install](#self-hosted-column): MDM profile. Tags the desktop app's telemetry and names its local data on the person's computer. +**Organization UUID.** A UUID you generate. Tags telemetry so Anthropic support can find your events, and users’ local data is stored under it. Not used for auth. [Admin Console](#the-works-with-column): Set automatically. > **More detail** > -> If unset, the app uses the organization of your Anthropic sign-in, where the connection has one. Otherwise, telemetry is tagged with a value the app derives from your connection settings. Where it cannot derive one, telemetry is tagged with a placeholder UUID shared with other unconfigured deployments. In the last two cases, local data is stored under the placeholder. **Changing this value orphans data** stored under the previous value (sessions, skills, plugins). +> If unset, the app uses the organization of your Anthropic sign-in, where the connection has one. Otherwise, local data is stored under a placeholder UUID shared with other unconfigured deployments. Telemetry is then tagged with a value the app derives from your connection settings, or with that placeholder. +> +> **Changing this value leaves data behind.** Sessions, skills and plugins stored under the previous value do not move to the new one. *** @@ -2994,15 +2742,18 @@ booleanDefault: falseSince 1.2581.0 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/telemetry.md#essential-telemetry) -[Self-hosted install](#self-hosted-column): MDM profile. Desktop starts its crash reports to Anthropic at launch, before sign-in, and a host's sessions never send any. - > **More detail** > -> "Essential" means the signals Anthropic needs to keep your deployment working: **crash stacks**, **startup failure reasons**, **version/OS metadata**, and **crash dumps** (each an unfiltered copy of part of the app's memory). Reports carry a random install ID and an organization ID. The organization ID is the one you set, one the app takes from your Anthropic sign-in or derives from your connection settings, or a placeholder shared with other unconfigured deployments. Reports can also include a summary of your settings, the host names of addresses you configured, text you set for display (such as the display name, subtitle, and banner text and link), and a one-way digest of a session ID. +> Reports include **crash stacks**, **startup failure reasons**, **version/OS metadata**, and **crash dumps** (each an unfiltered copy of part of the app's memory). They carry a random install ID and an organization ID, which the app picks if you set none (see `deploymentOrganizationUuid`). +> +> Reports can also include: > -> **What you lose when this is on:** when a Claude Desktop build hits a bug that only reproduces on your OS version or locale, Anthropic can't see it unless a user manually reports. Fixes ship slower. +> * a summary of your settings +> * the host names of addresses you configured +> * text you set for display +> * a one-way digest of a session ID > -> **Why this is discouraged, not blocked:** some air-gapped environments require zero outbound telemetry as a matter of policy. The switch exists for them. If you don't have that constraint, leave it off. +> Leave this off unless your policy requires zero outbound telemetry. *** @@ -3014,13 +2765,9 @@ booleanDefault: falseSince 1.2581.0 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/telemetry.md#non-essential-telemetry) -[Self-hosted install](#self-hosted-column): MDM profile. Desktop sends usage analytics to Anthropic from before sign-in, and a host's sessions never send any. - > **More detail** > -> "Nonessential" covers two things: **product-usage analytics** (which features get used, navigation patterns; no prompts or completions) and the **Send** action in Help → Generate Diagnostic Report. Turning this on stops both. This key applies only while the app runs in third-party mode. If users could otherwise sign in to Claude.ai on the device, also set `disableDeploymentModeChooser` so the app stays in third-party mode. -> -> Destinations are listed under Egress Requirements → Nonessential telemetry. +> Applies only while the app runs in third-party mode. If users could otherwise sign in to Claude.ai on the device, also set `disableDeploymentModeChooser` so the app stays in third-party mode. *** @@ -3028,17 +2775,17 @@ booleanDefault: falseSince 1.2581.0 booleanDefault: falseSince 1.2581.0 -**Block nonessential services.** Connector favicons, artifact-preview and MCP Apps iframes, and the Linux spellcheck dictionary. Connector widgets fall back to text; spellcheck is off on Linux. - -[Self-hosted install](#self-hosted-column): MDM profile. Desktop fetches connector icons, preview frames and a dictionary, starting before it has signed in to the host. +**Block nonessential services.** Connector icons, hosted artifact previews, MCP Apps widgets and the Linux spellcheck dictionary. Widgets fall back to text. > **More detail** > -> "Nonessential services" covers these outbound fetches the app runs without: **connector favicons** (the icon proxy), the **artifact-preview** iframe origin, the **MCP Apps widget** iframe origin (`*.claudemcpcontent.com`), and the **spellcheck dictionary** the built-in spellchecker downloads on Linux. Turning this on blocks all of them. (macOS and Windows use the system spellchecker. Windows still downloads a dictionary for a language it cannot check natively; this key does not stop that download.) +> With this on: > -> **What you lose when this is on:** connectors show without icons, the hosted artifact preview frame does not load (artifacts still render locally), connectors that return MCP Apps show the text tool result instead of the widget, Excel files in the Code tab preview only through Claude’s workspace (the local VM) instead of that frame, and spellcheck underlines are off on Linux. +> * Artifacts still render locally. +> * Excel files in the Code tab preview only through Claude’s workspace (the local VM). +> * Spellcheck underlines are off on Linux. > -> Destinations are listed under Egress Requirements → Nonessential services. +> Windows still downloads a dictionary for a language it cannot check natively. This key does not stop that download. *** @@ -3050,8 +2797,6 @@ stringSince 1.2581.0 **OTLP endpoint.** Where OpenTelemetry logs and metrics are sent. Leave blank to disable. -[Self-hosted install](#self-hosted-column): Not supported. Whoever runs the host names the collector in the host's own configuration, for its sessions and Desktop's events. - *** #### `otlpProtocol` @@ -3062,11 +2807,11 @@ enumDefault: http/protobufSince 1.2581.0 One of: `http/protobuf` (default), `http/json`, `grpc` -[Self-hosted install](#self-hosted-column): Not supported. Set beside the collector's address in the host's own configuration. - > **More detail** > -> Code sessions export over the protocol set here. Chats and Cowork tasks export over `http/protobuf` instead of `grpc` on Windows, and on other platforms whenever the Claude Code engine is given an HTTP proxy (the operating system's proxy, `egressProxyUrl` or `egressProxyPacUrl`, or `HTTPS_PROXY` / `HTTP_PROXY` in a Claude Code settings file); the application log notes the substitution. The desktop application's own events always go over `http/json` to `/v1/logs`. None of this changes the endpoint, so choose `grpc` only for a collector that also serves OTLP/HTTP at the same address; otherwise keep `http/protobuf` and point `otlpEndpoint` at the collector's OTLP/HTTP receiver (conventionally port 4318). +> With `grpc`, some exports still go over HTTP to the same endpoint, such as the app's own events. +> +> Choose `grpc` only if your collector also accepts OTLP/HTTP at that address. Otherwise keep `http/protobuf` and point `otlpEndpoint` at the collector's OTLP/HTTP receiver, usually port 4318. *** @@ -3074,9 +2819,7 @@ One of: `http/protobuf` (default), `http/json`, `grpc` object: name → valueSince 1.2581.0 -**OTLP headers.** Static collector headers — routing and tenant headers only. No credentials here; use Collector authentication or the headers helper script for tokens. - -[Self-hosted install](#self-hosted-column): Not supported. The host keeps the collector's headers in its own configuration, so no document that a device fetches holds them. +**OTLP headers.** Static headers for routing and tenants only. No credentials here: use Collector authentication or the OTLP headers helper script. *** @@ -3084,15 +2827,15 @@ object: name → valueSince 1.2581.0 enumSince 1.30096.1 -**Collector authentication.** inference-credential sends the user’s inference bearer token to the collector as Authorization: Bearer. +**Collector authentication.** inference-credential sends a user’s bearer-token inference credential to the collector. Use it only for a collector you operate. One of: `none`, `inference-credential` -[Self-hosted install](#self-hosted-column): Not supported. Would send the person's model token to the collector; a self-hosted Desktop holds none, and no host reads this. - > **More detail** > -> `inference-credential` adds `Authorization: Bearer ` to every export, using the token the app currently holds for the inference provider, with no helper script to deploy. The collector must accept that token as issued: an identity-provider sign-in (`external-idp`, gateway or Bedrock proxy) forwards the identity provider’s token, which carries the audience you registered, Microsoft Entra on Foundry issues the Foundry resource’s token, and Vertex workforce identity forwards a Google Cloud access token; static gateway and Bedrock keys are forwarded as-is. Because the token can also call inference as the user, use this only for a collector you operate; for anything else, use the headers helper script with an ingest-scoped credential. Kinds that never produce a bearer (AWS SigV4 kinds on Bedrock, Google ADC / OAuth files on Vertex, API-key kinds) export without it, and so does Sign in with Claude Console, whose token is the user’s own and is never sent to a collector. Use the helper script instead. Cowork tasks pick up the current token each time they start; a Code session keeps the token it started with for as long as it stays open; the desktop’s own event exporter uses the current token on every flush. Before sign-in, exports go out unauthenticated. An `Authorization` header printed by the headers helper script wins over this. +> The credential can also make model requests as the user. For a collector you do not operate, use `otlpHeadersHelper` with a credential that can only send telemetry. +> +> The collector must accept the credential as issued. Some credentials are never sent, such as an AWS profile, a Google credentials file or a Claude Console sign-in. Telemetry then exports without the header, so use `otlpHeadersHelper` instead. *** @@ -3104,13 +2847,15 @@ Consent required (A value that a bootstrap server or a self-hosted session host Since 1.30096.1 -**OTLP headers helper script.** Absolute path to an executable that prints a JSON object of collector headers. Merged over the static headers and Collector authentication; the helper wins. - -[Self-hosted install](#self-hosted-column): Not supported. Desktop sends its own events to the host, which holds the collector's headers, so it runs no helper. +**OTLP headers helper script.** Full path to a helper script that prints collector headers as JSON. They take priority over OTLP headers and Collector authentication. > **More detail** > -> Absolute path to an executable that prints a single JSON object of HTTP headers on stdout, e.g. `{"Authorization": "Bearer …"}`. The desktop runs it (no arguments; output cached for a few minutes, and a failure is not retried for 30 seconds) whenever it needs collector headers and merges the result over **OTLP headers** and the **Collector authentication** header (the helper wins on conflict). Cowork tasks get the current output when they start; Code and Cowork sessions are also given the script as Claude Code’s own `otelHeadersHelper`, so an open session re-runs it as tokens rotate (on Windows this applies to `.exe`, `.cmd` and `.bat` helpers; a `.ps1` helper applies at session start only); the desktop’s own event exporter re-runs it per flush. Session start waits at most two seconds for a slow helper and otherwise proceeds without its headers until it finishes. Use this when the collector needs a credential the inference sign-in cannot provide, when the collector token rotates, or when the config comes from a hosted admin console, which cannot store header values. If the helper fails, telemetry is sent without its headers — check the app log. +> The app runs it with no arguments. Sample output: `{"Authorization": "Bearer …"}`. +> +> Cowork and Code sessions that stay open run it again as tokens rotate. On Windows use an `.exe`, `.cmd` or `.bat` file for that: a `.ps1` file applies at session start only. +> +> If it fails, telemetry is sent without its headers. *** @@ -3118,13 +2863,11 @@ Since 1.30096.1 object: name → valueSince 1.5354.0 -**Resource attributes.** Extra resource attributes to attach to every span/metric. A static enduser.id set here always wins over the runtime identity. - -[Self-hosted install](#self-hosted-column): Server side. The host stamps these attributes on the session telemetry it sends and on Desktop's events that it forwards. +**Resource attributes.** Extra attributes to attach to every span, metric and log. An enduser.id set here takes priority over the signed-in user’s identity. > **More detail** > -> Extra resource attributes to attach to every span, metric, and log sent to your collector. When End-user attribution is on and no `enduser.id` is set here, the desktop fills it with the signed-in user's runtime identity; a value you set here always wins. `process.owner` (the OS login name) is always emitted; set it here to override. +> `process.owner` (the OS login name) is always sent to your collector. Set it here to replace the value. *** @@ -3132,39 +2875,33 @@ object: name → valueSince 1.5354.0 enumDefault: errorSince 1.9255.0 -**Desktop telemetry export level.** Controls the Claude Desktop application’s events, separate from Cowork and Code sessions. Defaults to error. +**Desktop telemetry export level.** Lowest level of the Claude Desktop application’s own events to export, separate from Cowork and Code sessions. Unset: error. One of: `off`, `error` (default), `warn`, `info`, `debug` -[Self-hosted install](#self-hosted-column): Server side. The host tells Desktop at which level to send its own events, and filters them again before it forwards them. - *** #### `otlpContentCapture` enum\[]Since 1.15962.0 -**Content capture.** Content categories Claude Desktop sends unredacted to your collector. `userPrompts` also sends Claude’s responses. If empty, no category is enabled (default). +**Content capture.** Content categories Claude Desktop sends unredacted to your collector. `userPrompts` also sends Claude’s responses. Any of: `userPrompts`, `assistantResponses`, `toolDetails`, `toolContent`, `rawApiBodies` -[Self-hosted install](#self-hosted-column): Server side. The host decides how much of a session's content its telemetry carries. - > **More detail** > -> Each category enables a class of raw content in OpenTelemetry events sent to your collector (this data never reaches Anthropic): -> -> * `userPrompts` — user-typed prompt text -> * `assistantResponses` — assistant message text -> * `toolDetails` — tool input arguments, e.g. the web-search query string -> * `toolContent` — tool output content, e.g. fetched page text or command stdout -> * `rawApiBodies` — inference API request and response bodies, each cut at 61,440 characters by default +> This data never reaches Anthropic. > -> These mirror Claude Code's `OTEL_LOG_*` env vars; see the [Claude Code monitoring docs](https://code.claude.com/docs/en/monitoring-usage). +> * `userPrompts`: what users type, and Claude's responses +> * `assistantResponses`: Claude's responses +> * `toolDetails`: tool inputs, such as a web search query +> * `toolContent`: tool outputs, such as fetched page text or command output +> * `rawApiBodies`: model request and response bodies > -> In Claude Desktop, Claude's responses are included when user prompts are captured, even if `assistantResponses` is not listed. To exclude them, set `OTEL_LOG_ASSISTANT_RESPONSES` to `0` in the `env` block of Claude Code's managed settings, not in Claude Desktop's managed configuration. That `0` also wins when `assistantResponses` is listed, but `rawApiBodies` still includes responses. Claude Desktop ignores a `0` set in Claude Code's per-user Windows registry policy (`HKCU`). If a device has several managed sources, set the `0` in the highest-priority one with a policy. Excluding responses this way requires Claude Desktop 2.37337.1 or later. +> To send prompts without responses, leave out `rawApiBodies`. Then set `OTEL_LOG_ASSISTANT_RESPONSES` to `0` in the `env` block of the highest-priority Claude Code managed settings, not a per-user Windows registry policy. Update all devices first: an older version still sends responses. > -> Claude Code managed settings set no policy if they are missing, empty, or hold only `wslInheritsWindowsSettings`, `managedSourcesBehavior`, or empty objects such as `"permissions": {}`. Adding `OTEL_LOG_ASSISTANT_RESPONSES` to such settings makes them a policy, so also set `parentSettingsBehavior` to `"merge"` there. Without `"merge"`, Claude Code can drop the restrictions that Claude Desktop passes to it. If the settings already set a policy, add only `OTEL_LOG_ASSISTANT_RESPONSES` to their `env` block, and read [Interaction with Claude Code's own managed settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings) before you change `parentSettingsBehavior`. +> Without `parentSettingsBehavior` set to `"merge"` in [those settings](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings), Claude Code can drop the restrictions that Claude Desktop passes to it. *** @@ -3174,11 +2911,9 @@ booleanSince 1.22209.0 **Export traces.** Also export OpenTelemetry traces from Cowork tasks and Code sessions. Uses Claude Code’s session tracing. -[Self-hosted install](#self-hosted-column): Server side. The host turns traces on or off in the session telemetry it sends. - > **More detail** > -> Enables Claude Code's session tracing (`CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` + `OTEL_TRACES_EXPORTER=otlp`) in spawned Cowork tasks and Code sessions. Each user interaction exports a trace whose spans and events carry `trace_id`/`span_id`, enabling end-to-end correlation in your observability backend (metrics do not carry trace context; correlate those via `session.id`). Traces go to the collector endpoint and protocol configured above. When `otlpEndpoint` is set, this key alone decides whether those sessions export traces: leaving it unset or `false` keeps traces off even if Claude Code's own settings or managed settings (for example a `managed-settings.json` on the device) turn tracing on. Without `otlpEndpoint` it has no effect. The span structure may evolve between Claude Code releases; see the [Claude Code monitoring docs](https://code.claude.com/docs/en/monitoring-usage). +> Has no effect without `otlpEndpoint`. With it set, this key alone decides whether Cowork tasks and Code sessions export traces. Unset or `false` keeps traces off even if a user's or a project's Claude Code settings, or managed settings, turn tracing on. *** @@ -3186,19 +2921,17 @@ booleanSince 1.22209.0 integerRange: 256–15,000,000Since 2.31226.0 -**Telemetry attribute length limit.** Maximum length, in characters, of captured content such as a raw API body (256–15,000,000). Cowork tasks and Code sessions use 61,440 when unset. - -[Self-hosted install](#self-hosted-column): Server side. The host cuts long values in the session telemetry it sends. +**Telemetry attribute length limit.** Maximum length, in characters, of captured content such as a raw API body. Unset: 61,440 in Cowork tasks and Code sessions. > **More detail** > -> Captured content longer than this is cut at the end and marked as truncated. +> In Cowork tasks and Code sessions it applies to model responses, tool content and raw API bodies, not to user prompts. +> +> A cut request body loses its newest messages. To capture whole bodies with `rawApiBodies`, set this just above your longest body, not at the maximum. > -> * Cowork tasks and Code sessions: 61,440 when unset. Applies to model responses, tool content and raw API bodies. User prompts are not cut, and `tool_input` keeps its own smaller limits. A cut request body keeps the oldest messages and loses the newest, so to capture whole bodies with `rawApiBodies`, set this just above your longest body, not at the maximum. Lower it to reduce volume. While this key and `otlpEndpoint` are set, Claude Code's own settings and managed settings (for example a `managed-settings.json` on the device) cannot change the limit or the export interval. -> * Claude add-in for Microsoft 365: 4,000 when unset. Values above 32,000 count as 32,000. -> * The desktop application's own events are not affected. +> Keep your collector's request size limit at a few times your longest body. A collector refuses an export over its limit, and every event in that export is lost. > -> A collector refuses an export over its size limit, and every event in that export is lost. By default an OpenTelemetry Collector accepts 20 MiB per OTLP/HTTP request (`max_request_body_size`) and 4 MiB per gRPC message (`max_recv_msg_size_mib`). Keep that limit at a few times the size of your longest body: one export can carry several, and a character takes one byte in Latin text and up to three otherwise. With this key set, Code sessions export events as they happen, not every five seconds, as Cowork tasks already do, so the collector sees more, smaller requests. +> The Claude add-in for Microsoft 365 uses 4,000 when unset, and counts values above 32,000 as 32,000. *** @@ -3210,13 +2943,13 @@ booleanDefault: falseSince 1.2581.0 **Block auto-updates.** Stop Claude Desktop from fetching updates entirely (no time limit). You’ll need to push new versions yourself. -[Self-hosted install](#self-hosted-column): MDM profile. Desktop starts its updater at launch, before it has signed in to the host. - > **More detail** > -> In third-party deployments this also keeps Cowork's workspace image and tools from being fetched ahead of use; they are then fetched when a task first needs them. +> When you install a newer version while Claude is open, the app shows a restart notice in the sidebar. To have Claude restart by itself if nobody restarts it, use `installedUpdateEnforcementEnabled`. > -> When a newer version is installed on a device while Claude is open, the app shows "Relaunch to update" in the sidebar. The check makes no network request. On Windows this covers installs from the MSIX package, for one person or for the whole device, not the Microsoft Store version or the .exe installer. There it offers the newest version it finds on the device, which may be one installed for someone else. The click quits Claude, and Windows may then open the newer version. Where it does not (it did not on the Windows Server machines tested), people open Claude again and get the newer version. If Windows refuses the switch, Claude comes back on the version it had, and so does the notice. The switch may also end the Cowork tasks of others signed in on that computer. A separate setting has Claude restart by itself if nobody relaunches within a set number of hours. +> On Windows the notice covers installs from the MSIX package, not the Microsoft Store version or the .exe installer. The switch to the newer version may end the Cowork tasks of other users signed in on that device. +> +> This is an app-behavior key, like `releaseChannel`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3224,21 +2957,16 @@ booleanDefault: falseSince 1.2581.0 booleanSince 3.6556.1 -**Restart to apply installed updates.** With auto-updates blocked, Claude restarts for a newer version installed while it was open, after 72 hours or your window. On Windows it may stay closed. - -[Self-hosted install](#self-hosted-column): Not supported. Governs Desktop's own restart for a version installed on the computer, and no session host passes it on to Desktop yet. +**Restart to apply installed updates.** With auto-updates blocked, Claude restarts by itself for a newer version installed while it was open. On Windows it may stay closed. > **More detail** > -> Set it where `disableAutoUpdates` is set. Both are app-behavior keys: a profile that sets any app-behavior key becomes the only source for all of them, so a profile that held this key alone would drop a `disableAutoUpdates` set elsewhere. -> -> Applies only while `disableAutoUpdates` is on, where you distribute new versions yourself. When a newer version is installed on a device while Claude is open, the app shows "Relaunch to update" in the sidebar. With this setting on, if nobody relaunches within the window, the app restarts itself and comes back on the page it was showing. `installedUpdateEnforcementHours` sets the window and says what holds the restart off. -> -> On Windows this covers installs from the MSIX package. Claude closes, switches to the newest version on the device (it may be one installed for someone else), and Windows may then open it. Where it does not, Claude stays closed, and scheduled tasks and background work stop, until someone opens it; opened after five minutes, it starts on its default page. If Windows refuses the switch, Claude comes back on the version it had and does not try again until it is reopened. The switch may also end the Cowork tasks of others signed in on that computer. +> `installedUpdateEnforcementHours` sets how long the app waits. > -> Where it is not set, the restart is off in third-party deployments, and in first-party deployments it follows Anthropic's own rollout; `false` keeps it off. An unreadable value counts as `false`. Turning it on starts a whole new window. It has no effect on updates that Claude downloads itself; `autoUpdaterEnforcementHours` times those. +> * **Unset:** off in third-party deployments. Where users sign in with Claude.ai it follows Anthropic's rollout, and `false` keeps it off. +> * **Windows:** if Windows does not reopen Claude, scheduled tasks and background work stop until a user opens it. The restart may also end the Cowork tasks of other users signed in on that device. > -> A version from before this setting existed does not restart by itself and does not know the name: it ignores it in a macOS profile, and from other sources it may show people a configuration warning at every launch. A Windows machine policy that holds only such names, or a Linux managed-settings file that holds one and sets no connection, is rejected as unusable, and the app then also ignores the configuration saved on the device itself. +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3246,15 +2974,17 @@ booleanSince 3.6556.1 integerRange: 1–72Since 3.6556.1 -**Installed-update enforcement window.** Hours Claude waits to restart for a newer version installed while it was open. Blank: 72 hours, then until the computer is idle. A number skips the idle wait. - -[Self-hosted install](#self-hosted-column): Not supported. Times Desktop's own restart for a version installed on the computer, and no session host passes it on to Desktop yet. +**Installed-update enforcement window.** Hours before Claude restarts for a newer version installed while it was open. Unset: 72 hours, then when idle. A number skips the idle wait. > **More detail** > -> No effect unless `disableAutoUpdates` is on and the restart is on (`installedUpdateEnforcementEnabled`). The window starts when the open app first finds a newer version installed; on Linux, where it cannot read the version, any replacement of the app counts. Only time with the app open and the computer awake counts. +> Applies only while `disableAutoUpdates` is on and the restart is on (see `installedUpdateEnforcementEnabled`). +> +> * Only time with the app open and the device awake counts toward the hours. +> * Idle means 10 minutes without input. Where the system reports no idle time, as some Wayland sessions do, an unset key never restarts: set a number. +> * The restart waits while Claude is mid-task on the device. > -> Leaving it blank uses the 72-hour default *and* then waits for the machine to be idle (10+ minutes without input) before restarting; setting any explicit value (including 72) restarts once the window elapses regardless of user activity. In both cases the restart holds off while Claude is mid-task, unless the task runs on an SSH host and the app expects to pick it up again after the restart. Where the system reports no idle time, as some Wayland sessions do, a blank window never restarts: set a number. +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3264,13 +2994,14 @@ integerRange: 1–72Since 1.2581.0 **Auto-update enforcement window.** Hours before a downloaded update force-installs. Only applies when auto-updates are enabled. Blank = 72-hour default. -[Self-hosted install](#self-hosted-column): Server side. Desktop itself quits and installs a downloaded update of the app on the person's computer. - > **More detail** > -> Has no effect when `disableAutoUpdates` is in place at launch: nothing is downloaded, so this timer never arms. If the policy reaches an already-running app after an update has begun to download, that one update still installs on this timer; no further updates are fetched. +> * **Unset:** after 72 hours the app restarts once the device has been idle for 10 minutes. +> * **Any number, even 72:** the app restarts when the time is up, whether or not the user is active. > -> Leaving it blank uses the 72-hour default *and* then waits for the machine to be idle (10+ minutes without input) before restarting; setting any explicit value (including 72) restarts once the window elapses regardless of user activity. In both cases the restart holds off while Claude is mid-task, unless the task runs on an SSH host and the app expects to pick it up again after the restart. +> In both cases the restart waits while Claude is mid-task on the device. +> +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3280,15 +3011,13 @@ booleanDefault: falseSince 1.26832.0 **Check for updates on releases.claude.com.** Read the update feed from releases.claude.com so api.anthropic.com can stay blocked. -[Self-hosted install](#self-hosted-column): Not supported. Where the session host answers the app's update checks, no Anthropic update server is left to choose. - > **More detail** > -> By default the app asks `api.anthropic.com` which version to install. That host also serves the model APIs, so organizations that block un-approved LLM endpoints at the network edge end up blocking updates too. +> The installer still downloads from `downloads.claude.ai`, so keep that host open. > -> Turn this on to read the same feed from `releases.claude.com`, a hostname that carries no model API. `api.anthropic.com` can then stay blocked without breaking auto-update. Rollout behavior is unchanged; the installer download still comes from `downloads.claude.ai` as before. +> If an MDM profile sets `bootstrapUrl` to a `config.claude.com` URL and leaves `bootstrapEnabled` on, the app reads the feed from `releases.claude.com` whatever this key says. Turn this key on anyway: an older version reads it from there only when this key is on. > -> If a device profile sets `bootstrapUrl` to a URL on `config.claude.com` and leaves `bootstrapEnabled` on, the app reads the feed from `releases.claude.com` whatever this key says. Older versions of the app do so only when this key is on, so turn it on as well. +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3296,27 +3025,20 @@ booleanDefault: falseSince 1.26832.0 enumDefault: stableSince 3.1623.0 -**Release channel.** On Stable, devices take each release as it rolls out. On Staggered, they update less often, usually to a version first out on Stable a week or more earlier. +**Release channel.** On Stable, devices take each release as it rolls out. On Staggered, they update less often, usually a week or more behind. Unset: Stable. One of: `stable` (default), `staggered` -[Self-hosted install](#self-hosted-column): MDM profile. On staggered, the person can update only once Desktop has downloaded a build; the session host ignores the channel. - > **More detail** > -> Default: `stable`, which takes each release as it rolls out. -> -> Alternative: `staggered`, which usually updates on Thursdays to a release that has been live in production on `stable` with no known breaking issues. Typically the `staggered` release will be 7-14 days behind `stable`; urgent fixes may be released sooner. +> `staggered` usually updates on Thursdays and is typically 7 to 14 days behind `stable`. > -> Devices download their new version at the next update check and install it on restart. Devices on `staggered` receive features and fixes, security fixes included, later than devices on `stable`. A device that's currently ahead of `staggered` will stay ahead until `staggered` catches up to its version. +> * Devices on `staggered` get features and fixes, security fixes included, later than devices on `stable`. +> * Write the value in lowercase. A value that cannot be read, such as `Stable`, is read as `staggered`. +> * Users who sign in to Claude.ai follow `stable`, unless their organization manages Claude Desktop from the Admin Console. +> * No effect on Linux or Microsoft Store installs. > -> Switching to `stable` or removing the setting updates devices to the newest release. -> -> * An unreadable value, such as a misspelling or capital letter, is read as `staggered`. -> * The setting applies only in third-party mode. A user who signs in to Claude.ai follows `stable`, unless their organization manages Claude Desktop from the admin console. -> * On a device managed from the admin console, this setting applies only while a user is signed in. With no one signed in, the device follows `stable`. -> * The setting has no effect on Linux or Microsoft Store installs. -> * See [the installation page](https://claude.com/docs/third-party/claude-desktop/installation.md) for more details on where to set the key. +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3326,15 +3048,15 @@ One of: `stable` (default), `staggered` integerDefault: 24Range: 0–336Since 1.40609.0 -**Configuration relaunch window.** Hours a user may keep working on the old configuration after a managed-configuration change is detected. 0 = restart required at once. Blank = 24 hours. - -[Self-hosted install](#self-hosted-column): Server side. Desktop itself restarts on the person's computer after a change to the settings it reads from the device. +**Configuration relaunch window.** Hours users can keep working after a configuration change that needs a restart. 0: restart required at once. Unset: 24 hours. > **More detail** > -> Set it via MDM (plist, registry, or file) or serve it from your configuration endpoint (remote bootstrap configuration). When the running app observes a managed-configuration change it cannot apply without restarting, it shows the sidebar relaunch card and starts this window. The window starts at the running app’s next configuration re-check (the re-check interval beside it), so allow up to one re-check interval on top of this value between saving a change and the restart dialog. When the window ends the app blocks with a restart dialog and restarts on its own after 2 minutes with no activity (no running Claude task and no keyboard or pointer input); the user can also restart right away. Defaults to 24 hours. Set a larger value (up to 336 = 14 days) to give users longer; `0` shows the dialog at the first observation. One case gets no window, whatever this value: when a device-management profile that sets more than app-behavior keys first applies to an app that started without one, and the app will run on that profile after restarting, the dialog shows at the re-check that confirms it, because until the restart the app stays connected the way it started. +> When the time is up, a restart dialog blocks the app. The app then restarts by itself after 2 minutes with no activity and no running task. +> +> When an MDM profile that sets more than app-behavior keys first reaches a running app, the restart dialog can show with no countdown. > -> A served value is read from the newest served configuration, so tightening or loosening the window takes effect without a restart once two re-checks in a row have served it, and a change to this key alone never asks for one. Like the update keys beside it, a value from a device-management profile that sets only app-behavior keys applies without making the rest of the configuration device-managed, and takes precedence over a served one. Because the key is grouped with the other app-behavior keys, a profile that sets any of them claims the whole group: set this key in the same profile as the update keys you deploy, or a served value is ignored on those devices and the 24-hour default applies. +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3344,13 +3066,11 @@ integerDefault: 10Range: 2–30Since 1.46388.1 **Configuration re-check interval.** Minutes between the running app’s checks for a changed managed configuration. Blank = 10 minutes. -[Self-hosted install](#self-hosted-column): Server side. The host refreshes its own copy of the policy at least this often, and tells Desktop how often to ask it again. - > **More detail** > -> How often the running app re-checks its managed configuration for changes: it re-polls your configuration endpoint with a conditional request, so an unchanged configuration costs one `304` round-trip. A detected change shows the sidebar relaunch card and starts the `relaunchEnforcementHours` window, so a saved change reaches a running app within roughly one interval. Defaults to 10 minutes; each wait is jittered by ±10% so a fleet does not poll in lockstep. Values outside 2–30 are rejected with a parse error and the default applies. +> A change that needs a restart starts the `relaunchEnforcementHours` countdown. > -> Applied without a restart: a new served value re-arms the timer once two checks in a row have served it, and a change to this key alone never asks for a relaunch. Set it via MDM or serve it from your configuration endpoint; like the update keys beside it, a value from a device-management profile that sets only app-behavior keys applies without making the rest of the configuration device-managed, and takes precedence over a served one. Because the key is grouped with the other app-behavior keys, a profile that sets any of them claims the whole group, and every key in it is then read from that profile alone: deploy this key in the same profile as the update keys (`disableAutoUpdates`, `autoUpdaterEnforcementHours`, …). A profile that sets the update keys without it ignores a served interval and the default applies; a profile that sets only this key ignores served update settings, so a served `disableAutoUpdates` no longer holds on those devices. A profile that also manages the connection itself (sets `bootstrapUrl` or the provider keys) follows the normal tier order instead: once a served configuration is in hand it, not the profile, supplies this key. +> This is an app-behavior key, like `disableAutoUpdates`. If your MDM profile holds nothing but such keys, the app reads them all from that profile alone, so put every one you use there. *** @@ -3362,13 +3082,15 @@ Admin Console only (Only the Enterprise Admin Console can set the key. Claude De Since 2.7032.0 -**Keep only your organization ID and restrictions on disk.** Don’t keep your organization’s name or any permissive setting on disk between launches; only your organization ID and restrictions are kept. +**Keep only your organization ID and restrictions on disk.** Between launches, keep on disk only your organization ID and restrictions, not its name or anything you have allowed. > **More detail** > -> By default the app keeps on disk, from the last configuration the admin console served, your organization’s ID and name and the few settings a launch applies before the console answers (the telemetry switches, the Microsoft 365 sign-in broker setting, the default Quick Entry shortcut, and restrictions). When this is on, it keeps only your organization ID and those restrictions (for example telemetry blocked, or local MCP servers off), never the name or anything you have allowed, and cuts an earlier copy down at the next launch that reaches the console, or at once when a running app confirms the change; signing out deletes the kept copy too. While on: the app’s crash reporting does not start on these devices, and the sign-in screen cannot show your organization’s name before the console answers. Error stack traces and performance timings still leave these devices unless **Block essential telemetry** is on. +> While this is on, the app's crash reporting does not start on these devices. Error stack traces and performance timings still leave these devices unless `disableEssentialTelemetry` is on. +> +> An earlier copy is cut down at the next launch that reaches the Admin Console. > -> A running app picks up a change to this setting once two configuration checks in a row have served it; changing it alone never asks for a relaunch. It applies only to organizations managed from the Claude admin console; the setting is ignored when a customer configuration server or a device profile sends it. +> Only the Admin Console can set this key. A value from an MDM profile or a bootstrap server is ignored. *** @@ -3380,13 +3102,21 @@ Since 2.7032.0 integerRange: 1–3,650Since 1.52386.0 -**Chat retention period.** Delete chats, with their files, after this many days without activity. Unset: kept until the user deletes them. Projects and memory stay. - -[Self-hosted install](#self-hosted-column): Not supported. Chat runs only on the person's computer, so a session host holds no chats to delete. +**Chat retention period.** Delete chats, with their files, after this many days without activity. Unset: no deletion. Projects and memory stay. > **More detail** > -> The app deletes whole sessions in the background shortly after it fetches this configuration (at launch and on each re-poll), or some minutes after launch and then daily when the configuration comes from device management alone. Idle time runs from the session's last activity; viewing an old Code session counts as activity, viewing an old chat or Cowork task without continuing it does not durably. A session that is running or open on screen is skipped and checked again on the next pass, as is a chat or Cowork task whose folder changed on disk within the period. Pinned sessions are not exempt. Minimum 1 day; a value that cannot be read as a whole number of days deletes nothing. Set through the served configuration or in the device-management profile that carries the rest of the configuration. What it does not reach: another account's sessions on the device (evaluated when that account signs in), Code sessions on a remote machine (SSH/WSL), Cowork background (dispatch) tasks the sidebar does not list, a chat or Cowork task whose folder cannot be located, and Claude Code files not named by a session id (prompt history, plans, shell snapshots), which keep Claude Code's own retention. Honored only by Claude Desktop configured for a third-party model provider. +> Applies only while the app runs in third-party mode. Deletion can start shortly after the app gets this configuration. Pinned sessions are not exempt. Opening an old chat or Cowork task without continuing it does not reliably keep it. +> +> It does not delete, for example: +> +> * a session while it is running or open on screen +> * another account's sessions, until that account signs in +> * Code sessions on an SSH host or in WSL +> * Cowork background tasks that the sidebar does not list +> * Claude Code's prompt history, plans and shell snapshots, which keep its own retention +> +> A value that cannot be read as a whole number of days deletes nothing. *** @@ -3394,13 +3124,21 @@ integerRange: 1–3,650Since 1.52386.0 integerRange: 1–3,650Since 1.52386.0 -**Cowork retention period.** Delete Cowork tasks, with their uploads and outputs, after this many days without activity. Unset: kept until the user deletes them. Spaces and memory stay. - -[Self-hosted install](#self-hosted-column): Server side. The host keeps the Cowork sessions it runs, so it deletes those left idle longer than the admin allows. +**Cowork retention period.** Delete Cowork tasks, with their uploads and outputs, after this many days without activity. Unset: no deletion. Spaces and memory stay. > **More detail** > -> The app deletes whole sessions in the background shortly after it fetches this configuration (at launch and on each re-poll), or some minutes after launch and then daily when the configuration comes from device management alone. Idle time runs from the session's last activity; viewing an old Code session counts as activity, viewing an old chat or Cowork task without continuing it does not durably. A session that is running or open on screen is skipped and checked again on the next pass, as is a chat or Cowork task whose folder changed on disk within the period. Pinned sessions are not exempt. Minimum 1 day; a value that cannot be read as a whole number of days deletes nothing. Set through the served configuration or in the device-management profile that carries the rest of the configuration. What it does not reach: another account's sessions on the device (evaluated when that account signs in), Code sessions on a remote machine (SSH/WSL), Cowork background (dispatch) tasks the sidebar does not list, a chat or Cowork task whose folder cannot be located, and Claude Code files not named by a session id (prompt history, plans, shell snapshots), which keep Claude Code's own retention. Honored only by Claude Desktop configured for a third-party model provider. +> Applies only while the app runs in third-party mode. Deletion can start shortly after the app gets this configuration. Pinned sessions are not exempt. Opening an old chat or Cowork task without continuing it does not reliably keep it. +> +> It does not delete, for example: +> +> * a session while it is running or open on screen +> * another account's sessions, until that account signs in +> * Code sessions on an SSH host or in WSL +> * Cowork background tasks that the sidebar does not list +> * Claude Code's prompt history, plans and shell snapshots, which keep its own retention +> +> A value that cannot be read as a whole number of days deletes nothing. *** @@ -3408,13 +3146,21 @@ integerRange: 1–3,650Since 1.52386.0 integerRange: 1–3,650Since 1.52386.0 -**Code retention period.** Delete Code sessions, conversation included, after this many days without activity. Unset: kept until the user deletes them. Uncommitted work stays on disk. - -[Self-hosted install](#self-hosted-column): Server side. The host keeps the Code sessions it runs, so it deletes those left idle longer than the admin allows. +**Code retention period.** Delete Code sessions, conversation included, after this many days without activity. Unset: no deletion. Uncommitted work stays on disk. > **More detail** > -> The app deletes whole sessions in the background shortly after it fetches this configuration (at launch and on each re-poll), or some minutes after launch and then daily when the configuration comes from device management alone. Idle time runs from the session's last activity; viewing an old Code session counts as activity, viewing an old chat or Cowork task without continuing it does not durably. A session that is running or open on screen is skipped and checked again on the next pass, as is a chat or Cowork task whose folder changed on disk within the period. Pinned sessions are not exempt. Minimum 1 day; a value that cannot be read as a whole number of days deletes nothing. Set through the served configuration or in the device-management profile that carries the rest of the configuration. What it does not reach: another account's sessions on the device (evaluated when that account signs in), Code sessions on a remote machine (SSH/WSL), Cowork background (dispatch) tasks the sidebar does not list, a chat or Cowork task whose folder cannot be located, and Claude Code files not named by a session id (prompt history, plans, shell snapshots), which keep Claude Code's own retention. Honored only by Claude Desktop configured for a third-party model provider. +> Applies only while the app runs in third-party mode. Deletion can start shortly after the app gets this configuration. Pinned sessions are not exempt. Opening an old chat or Cowork task without continuing it does not reliably keep it. +> +> It does not delete, for example: +> +> * a session while it is running or open on screen +> * another account's sessions, until that account signs in +> * Code sessions on an SSH host or in WSL +> * Cowork background tasks that the sidebar does not list +> * Claude Code's prompt history, plans and shell snapshots, which keep its own retention +> +> A value that cannot be read as a whole number of days deletes nothing. *** @@ -3422,13 +3168,16 @@ integerRange: 1–3,650Since 1.52386.0 booleanSince 1.52386.0 -**Suspend session deletion.** Suspend all automatic session deletion for these users (legal hold). While on, the retention periods above delete nothing. - -[Self-hosted install](#self-hosted-column): Server side. The host keeps the sessions, so it is the one that stops deleting them during a hold. +**Suspend session deletion.** Suspend the chat, Cowork and Code retention periods (legal hold). Claude Code’s own transcript cleanup (cleanupPeriodDays) still runs. > **More detail** > -> Meant to be set per user or group, through the served configuration's group overrides or in the same device-management profile that carries the rest of the configuration (a profile carrying only this key makes the device profile-managed, like any policy key); a hold in the device's profile also counts when the served configuration does not restate it. Deletion stops at the first configuration fetch that carries this value, before it takes effect as configuration at the next relaunch; a device that cannot reach its configuration server deletes nothing. +> Meant to be set per user or group. +> +> * Deletion stops at the first configuration fetch that carries the hold, before any restart. +> * A device that cannot reach its bootstrap server deletes nothing. +> +> In MDM, do not deploy the hold in a profile of its own: the app would then ignore the device's local configuration. *** @@ -3438,15 +3187,11 @@ booleanSince 1.52386.0 integerRange: 1 or moreSince 1.2581.0 -**Max tokens per window.** Limits each person’s input and output tokens per window. Cached tokens do not count, so this does not cap your provider’s bill. Leave blank for no limit. - -[Self-hosted install](#self-hosted-column): Server side. The host makes the model calls, so it counts each person's tokens and stops them at the cap. +**Max tokens per window.** Caps each user’s input and output tokens per window. Cached tokens do not count, so it does not cap your bill. Unset: no limit. > **More detail** > -> Requires `inferenceTokenWindowHours` to also be set — without a window length the cap is inert and no limit is enforced. -> -> Where the app runs the sessions, it keeps each person’s count in a local file, so someone who uses two devices has a separate count on each. +> Has no effect unless `inferenceTokenWindowHours` is also set. A user with two devices can have a separate count on each. *** @@ -3454,15 +3199,11 @@ integerRange: 1 or moreSince 1.2581.0 integerRange: 1–720Since 1.2581.0 -**Token cap window.** The count resets to zero at the end of each window. A window can last 1 to 720 hours (30 days). - -[Self-hosted install](#self-hosted-column): Server side. Sets the length of the window for the token cap, which the host counts. +**Token cap window.** Length of each token cap window, in hours. The count resets to zero when a window ends. > **More detail** > -> Required when `inferenceMaxTokensPerWindow` is set — the cap only takes effect once both are configured. -> -> Each person’s window starts the first time they use the app after their previous window ends, so 24 hours does not mean midnight to midnight. +> Used with `inferenceMaxTokensPerWindow`. Each user's window starts the first time they use the app after their previous window ends. So 24 hours does not mean midnight to midnight. *** @@ -3470,17 +3211,13 @@ integerRange: 1–720Since 1.2581.0 integerRange: 1–100Since 4.29.0 -**Token limit warning.** Warn people once they have used this percent of their token limit (1 to 100). Leave blank to warn at 75%. At 100, the only warning comes at the limit. - -[Self-hosted install](#self-hosted-column): Not supported. A session host does not yet warn people before they reach their token limit. +**Token limit warning.** Warn users once they have used this percent of their token limit. Unset: 75. At 100, the only warning comes at the limit. > **More detail** > > Has no effect unless `inferenceMaxTokensPerWindow` and `inferenceTokenWindowHours` are both set. > -> The warning appears in Cowork, Chat and Code. It shows the percent used and when the limit resets, and it links to the Usage page. A person can close it until their next window starts. At the limit it changes to “Token limit reached” and cannot be closed. -> -> Usage is added to the count each time Claude finishes replying to a message, however long that takes, so one long-running request can pass this percent and reach the limit before the warning appears. +> Usage is counted each time Claude finishes a reply. One long-running request can reach the limit before the warning appears. *** @@ -3490,13 +3227,13 @@ integerRange: 1–100Since 4.29.0 booleanSince 1.25927.0 -**End-user attribution.** Show the signed-in user’s identity-provider identity in the sidebar and account menu, and emit it as the OpenTelemetry enduser.id resource attribute. - -[Self-hosted install](#self-hosted-column): Server side. The host puts the person's identity on the telemetry it sends, and tells Desktop whether to show the person's name. +**End-user attribution.** Show the signed-in user’s identity in the app, add it to Claude’s system prompt, and send it to your OpenTelemetry collector as enduser.id. > **More detail** > -> When on (default), the app resolves the signed-in user's identity from the configured credential source (the identity provider claim, or the OS login name when no claim is available) and shows it in the sidebar footer, the account menu, and the Code session greeting. If an OpenTelemetry collector is configured, the same identity is also emitted as the `enduser.id` resource attribute on every span, metric, and log sent to your collector — unless you have set a static `enduser.id` under **Resource attributes**, in which case your static value is kept and the runtime identity is not emitted. When off, no identity is shown in the app and no runtime `enduser.id` is emitted; a static `enduser.id` under **Resource attributes** still passes through unchanged. This setting does not gate the `process.owner` resource attribute (the OS login name), which is standard OpenTelemetry process metadata and is always emitted — set a static `process.owner` under **Resource attributes** to override it. Applies to both Cowork tasks and Code sessions. +> The identity comes from the user's sign-in, or is the OS login name when sign-in gives none. A static `enduser.id` in `otlpResourceAttributes` takes priority in telemetry, and is sent even when this setting is off. +> +> The `process.owner` attribute (the OS login name) is always sent. To replace it, set a static `process.owner` in `otlpResourceAttributes`. *** @@ -3506,14 +3243,8 @@ stringSince 1.24012.0 **Deployment display name.** Overrides the provider label shown in the sidebar footer, user-menu header, and connection-error banner. -[Self-hosted install](#self-hosted-column): Server side. Desktop shows this name in place of the provider's name in its own window. - [Admin Console](#the-works-with-column): Set automatically. -> **More detail** -> -> Set this to the name users should see for this deployment (for example, "Claude for Government"). When unset, the desktop shows the default provider label. Maximum 60 characters. - *** ### `deploymentDisplaySubtitle` @@ -3522,27 +3253,15 @@ stringSince 1.24012.0 **Deployment display subtitle.** Optional detail shown after the deployment display name in the account-menu header. -[Self-hosted install](#self-hosted-column): Server side. Desktop shows this detail after the deployment's name in its account menu. - [Admin Console](#the-works-with-column): Not available. -> **More detail** -> -> Optional detail shown after the deployment display name in the account-menu header (for example, "Claude for Veterans Affairs · Claude for Government"). Shown only when the display name is also set. Maximum 60 characters. - *** ### `disableConfigDeprecationWarnings` booleanSince 1.40609.0 -**Hide configuration deprecation warnings.** Don’t show users the in-app warning that this configuration uses a deprecated field. The final reminder in the 24 hours before the cut-off still appears. - -[Self-hosted install](#self-hosted-column): Server side. Desktop shows its warning about deprecated settings in its own window, for configuration that Desktop reads itself. - -> **More detail** -> -> When the organization's configuration uses a field that is deprecated — a renamed key, or a legacy value or entry form — the app shows every user a dismissable warning naming the field, what to use instead, and the date support ends (each field's cut-off is listed in the configuration changelog and takes effect at 12:00 PM Pacific Time on that date). The warning shows from the field's announced warning date until dismissed, and once more in the 24 hours before the cut-off. Set this to `true` to suppress the first showing for your users while you migrate; the final 24-hour reminder is always shown, and the deprecation stays listed in the diagnostic report (Help → Troubleshooting) and the hosted configuration editor regardless. +**Hide configuration deprecation warnings.** Hide the in-app warning that your configuration uses a deprecated field. A final reminder still shows in the 24 hours before the cut-off. *** @@ -3552,12 +3271,6 @@ objectSince 1.7196.0 **Organization banner.** A persistent banner across the top of the app window after sign-in. -[Self-hosted install](#self-hosted-column): Server side. Desktop draws the admin's banner across the top of its own window. - -> **More detail** -> -> Use this for compliance notices, an internal-support link, or to identify the deployment. The banner is shown on every page after sign-in and cannot be dismissed by the user. Colors are six-digit hex (`#RRGGBB`); when `linkUrl` is set the banner text becomes an HTTPS link. - > **Child attributes (5)** > > **enabled** `boolean` @@ -3582,21 +3295,49 @@ objectSince 1.7196.0 *** -### Feature discovery +### `sessionStatusLine` -#### `disableFeatureDiscovery` +object -booleanDefault: falseSince 1.21459.0 +Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.) -**Hide feature announcements.** Suppress unprompted feature-announcement UI: the post-update “What’s new” nudge and new-feature tips. Users can still open release notes themselves. +Since 4.4212.0 -[Self-hosted install](#self-hosted-column): Server side. Desktop hides its own announcements of new features. +**Status line.** Claude runs this program and shows the first line it prints above the message box in Cowork, Chat and Code. Off unless set. > **More detail** > -> Covers the version-shipped announcement UI baked into each release: the **What's new** button that appears on its own after an update, and the one-time **New feature** tips (coach-marks) that point out newly shipped capabilities. Useful when your organization gates feature availability and doesn't want the app advertising capabilities you haven't rolled out. +> * **Runs:** on the user's device, as the signed-in user, when a session opens, a turn ends, the app regains focus or the model changes. +> * **Input:** one JSON line on standard input: `{"session_id": "…", "model": {"id": "…", "display_name": "…"}}`. Fields with no value are left out. +> * **Output:** Claude shows the first non-empty line, up to 200 characters. ANSI codes 31 to 36 and 91 to 96 set the color. +> * **Limits:** 10 seconds and 64 KiB of output. Past either, Claude stops the program. + +> **Child attributes (1)** +> +> **command** `string` *required* > -> User-initiated surfaces stay: the What's-new menu item and header button still open the release notes on demand. Auto-update behavior is unaffected — that is governed by `disableAutoUpdates` and `autoUpdaterEnforcementHours`. +> Full local path to the program or executable script. +> +> > **More detail** +> > +> > Users must not be able to change the file. +> > +> > * **macOS and Linux:** a program, or an executable script that starts with `#!`. The file and every parent folder must be owned by root and not writable by group or others. It cannot be under `/home`, `/net` or `/Volumes`. +> > * **Windows:** an `.exe`, `.ps1`, `.cmd` or `.bat` file. It must be under a Program Files folder on the Windows drive. +> > +> > Otherwise it does not run, and the log says why. +> > +> > Claude does not check the interpreter on a `#!` line, so keep that out of users' reach too. An interpreter can also load code from the user's folders. Start Python isolated (for example `#!/usr/bin/python3 -I`) or use a compiled program. + +*** + +### Feature discovery + +#### `disableFeatureDiscovery` + +booleanDefault: falseSince 1.21459.0 + +**Hide feature announcements.** Hide unprompted feature announcements: the “What’s new” nudge after an update and new-feature tips. Users can still open release notes. *** @@ -3606,9 +3347,7 @@ booleanDefault: falseSince 1.21459.0 object\[]Since 1.17377.1 -**Plugin marketplaces.** Git repositories or hosted marketplace.json URLs to surface as plugin marketplaces in the Directory’s Organization tab. The app re-fetches each periodically. - -[Self-hosted install](#self-hosted-column): Server side. The host fetches the admin's plugin marketplaces and loads their plugins into the sessions it runs. +**Plugin marketplaces.** Git repositories or hosted marketplace.json files shown as plugin marketplaces in the Directory’s Organization tab. > **Child attributes** > @@ -3618,7 +3357,9 @@ object\[]Since 1.17377.1 > > > **More detail** > > -> > When set, each fetch or clone is rejected if the marketplace's `manifest.name` differs, so an upstream rename cannot silently replace another configured marketplace. It also lets a new entry replace a removed one. Any change to an entry's `url`, `repo` or `path` (not `ref`) counts as removing that marketplace and adding another, which uninstalls the plugins that users installed from it, unless the new entry names the marketplace it replaces: in the same change that removes the old entry, set the new entry's `expectedName` to exactly the old marketplace's manifest name (letter case counts), and keep it set. The plugins that users installed then stay installed, with their stored settings, and load from the new source, where the new marketplace lists them under the same names. A plugin that is installed outside the marketplace's own folder and cannot be moved into it (its code comes from another repository, the new marketplace does not list it, or the new entry has not installed yet) is uninstalled as at any removal. The new entry's `installationPreference` applies as for any new entry; under `available` nothing else is installed and a plugin that a user switched off stays off. Until the new entry installs (it cannot be fetched, or it is refused), the plugins that stay installed do not load; they load again, with no reinstall, once it does. Removing the old entry first and adding the new one in a later change uninstalls the plugins on every computer that syncs in between. +> > Also use it to move a marketplace. A change to an entry's `url`, `repo` or `path` (not `ref`) counts as removing the marketplace, which uninstalls the plugins that users installed from it. +> > +> > To avoid that, set the new entry's `expectedName` to the old marketplace's manifest name, in the same change that removes the old entry. Match the letter case and leave it set. Plugins that the new marketplace holds under the same names then normally stay installed. [Move a marketplace to a new source](https://claude.com/docs/third-party/claude-desktop/extensions.md#move-a-marketplace-to-a-new-source) lists the exceptions. > > **installationPreference** `enum` > @@ -3628,17 +3369,23 @@ object\[]Since 1.17377.1 > > > **More detail** > > -> > `available` (the default) lets users install from the Directory's Organization tab. `auto_install` installs automatically once per pin (the commit SHA, or a `url` source's `manifestSha256`); a plugin the user removes stays removed until the pin changes. `required` reinstalls on every sync, so it cannot stay removed. A change that only moves the pin of existing entries, with nothing else in the configuration changed, reaches running apps without a restart once the app's next two configuration checks both return it; any other change to this list asks for a restart. An `auto_install` or `required` entry without that pin (a full 40-character commit SHA in `ref`, or `manifestSha256` for a `url` source) is treated as `available` and reported as a config warning: the marketplace still lists, but the entry installs nothing. Left at (or treated as) `available`, a `url` marketplace served from your inference gateway's or bootstrap server's own origin may instead mark individual plugins `"installationPreference": "auto_install"` in its `marketplace.json`: those install automatically with no pin (each such archive needs a `sha256`), and a plugin the user removes stays removed. On any other origin those marks are ignored. +> > * `available` (default): users install from the Directory's Organization tab. +> > * `auto_install`: installs once per pin. A plugin that a user removes stays removed until the pin changes. +> > * `required`: reinstalls at every sync, so a plugin cannot stay removed. +> > +> > Both automatic values need a pin: a full commit SHA in `ref`, or `manifestSha256` for a `url` source. > > **credentialHelper** `string` > > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.) > -> Executable that prints an access token for this marketplace. +> Executable that prints the access token to send. > > > **More detail** > > -> > Prints to stdout one of: a bare token (sent as the git password for username `x-access-token`, which GitHub, GitLab and Azure DevOps accept, and as `Authorization: Bearer` for `url` sources); git-credential lines `username=` and `password=` when the host needs a particular username (Bitbucket Data Center project or repository access tokens on 9.3+: `x-token-auth`; GitLab deploy tokens: `gitlab+deploy-token-N`) — sent as HTTP Basic for `url` sources; `authtype=Bearer` and `credential=` to send `Authorization: Bearer ` (Bitbucket Data Center HTTP access tokens on any version); or, for `url` sources only, a JSON object of HTTP headers such as `{"Authorization": "Bearer …", "X-Tenant": "acme"}` (the form an MCP server's `headersHelper` prints), all sent on every request to that marketplace — a `git` source refuses this form. Other keys, blank lines and CRLF are ignored in the line forms; output that opens with `{` must be a valid header object or the fetch is refused. +> > The helper script prints a token. It is sent as the Git password for user `x-access-token`, which GitHub, GitLab and Azure DevOps accept. For `url` sources it is sent as `Authorization: Bearer`. +> > +> > [Marketplace credentials](https://claude.com/docs/third-party/claude-desktop/extensions.md#marketplace-credentials) lists other forms, for hosts that need a username or for custom HTTP headers. > > **github** > @@ -3646,7 +3393,7 @@ object\[]Since 1.17377.1 > > **source** `string` *required* > -> Where the marketplace is fetched from: a GitHub repository (set repo), any Git remote (set url), or a hosted marketplace.json file (set url). +> Where the marketplace comes from: a GitHub repository (set repo), a Git remote (set url) or a hosted marketplace.json file (set url). > > Must be: `github` > @@ -3664,7 +3411,7 @@ object\[]Since 1.17377.1 > > **credentialKind** `enum` > -> How fetches authenticate: anonymously, with the user’s git credentials, via a helper executable, or as the app does to its gateway or bootstrap server (url). +> Sent with a fetch: nothing (unset), the user’s Git credential, a helper script’s output, or the gateway or bootstrap credential (url only). > > One of: `anonymous`, `userGit`, `credentialHelper` > @@ -3674,7 +3421,7 @@ object\[]Since 1.17377.1 > > **source** `string` *required* > -> Where the marketplace is fetched from: a GitHub repository (set repo), any Git remote (set url), or a hosted marketplace.json file (set url). +> Where the marketplace comes from: a GitHub repository (set repo), a Git remote (set url) or a hosted marketplace.json file (set url). > > Must be: `git` > @@ -3684,11 +3431,10 @@ object\[]Since 1.17377.1 > > > **More detail** > > -> > For `git` sources, the HTTPS remote the app clones. For `url` sources, the HTTPS address of a `marketplace.json` whose plugins are `archive` entries (a zip `url` plus its `sha256`; `ref` and `path` do not apply). Archive URLs must be same-origin with the manifest URL: that origin is the only host to open on the firewall and the only one a credential is sent to. If any archive fails to download or verify, nothing from that fetch is installed and the next sync retries. -> > -> > When Installation is `auto_install` or `required`, set `manifestSha256` to the SHA-256 of that exact file and give every archive a `sha256`: a served manifest with a different digest is refused and unpinned archives are skipped, so publishing a new manifest means updating `manifestSha256`; with no `manifestSha256` at all the entry is treated as `available` (and a config warning says so). A marketplace served from your inference gateway's or bootstrap server's own origin may instead leave Installation at `available` and mark individual plugins `"installationPreference": "auto_install"` in the manifest (each with a `sha256`); those install with no pin and a new manifest is picked up on the periodic re-fetch. On any other origin the per-plugin marks are ignored. +> > For a `url` source, `marketplace.json` lists each plugin as an `archive`: a zip `url` plus its `sha256`. [Host the marketplace over HTTPS](https://claude.com/docs/third-party/claude-desktop/extensions.md#host-the-marketplace-over-https-instead-of-git) has an example. > > -> > `credentialKind` selects what is sent: `anonymous` (the default) nothing, `userGit` the user's stored git credential for that host as HTTP Basic, `credentialHelper` the helper's output as `Authorization` (or, for `url` sources, as the HTTP headers it prints as a JSON object), and `inferenceCredential` (`url` sources only) the credential the app already sends your inference gateway or enabled bootstrap server, so the manifest must be on one of those two origins; when there is nothing to send yet, no request is made and the entry reports why. See [Host the marketplace over HTTPS](https://claude.com/docs/third-party/claude-desktop/extensions.md#host-the-marketplace-over-https-instead-of-git) for an example manifest and credential details. +> > * Archives must be on the same origin as the manifest. Open that host on your firewall. A credential is sent only to it. +> > * With `credentialKind` set to `inferenceCredential`, the manifest must be on your gateway's or bootstrap server's origin. > > **ref** `string` > @@ -3700,7 +3446,7 @@ object\[]Since 1.17377.1 > > **credentialKind** `enum` > -> How fetches authenticate: anonymously, with the user’s git credentials, via a helper executable, or as the app does to its gateway or bootstrap server (url). +> Sent with a fetch: nothing (unset), the user’s Git credential, a helper script’s output, or the gateway or bootstrap credential (url only). > > One of: `anonymous`, `userGit`, `credentialHelper` > @@ -3710,7 +3456,7 @@ object\[]Since 1.17377.1 > > **source** `string` *required* > -> Where the marketplace is fetched from: a GitHub repository (set repo), any Git remote (set url), or a hosted marketplace.json file (set url). +> Where the marketplace comes from: a GitHub repository (set repo), a Git remote (set url) or a hosted marketplace.json file (set url). > > Must be: `url` > @@ -3720,19 +3466,18 @@ object\[]Since 1.17377.1 > > > **More detail** > > -> > For `git` sources, the HTTPS remote the app clones. For `url` sources, the HTTPS address of a `marketplace.json` whose plugins are `archive` entries (a zip `url` plus its `sha256`; `ref` and `path` do not apply). Archive URLs must be same-origin with the manifest URL: that origin is the only host to open on the firewall and the only one a credential is sent to. If any archive fails to download or verify, nothing from that fetch is installed and the next sync retries. +> > For a `url` source, `marketplace.json` lists each plugin as an `archive`: a zip `url` plus its `sha256`. [Host the marketplace over HTTPS](https://claude.com/docs/third-party/claude-desktop/extensions.md#host-the-marketplace-over-https-instead-of-git) has an example. > > -> > When Installation is `auto_install` or `required`, set `manifestSha256` to the SHA-256 of that exact file and give every archive a `sha256`: a served manifest with a different digest is refused and unpinned archives are skipped, so publishing a new manifest means updating `manifestSha256`; with no `manifestSha256` at all the entry is treated as `available` (and a config warning says so). A marketplace served from your inference gateway's or bootstrap server's own origin may instead leave Installation at `available` and mark individual plugins `"installationPreference": "auto_install"` in the manifest (each with a `sha256`); those install with no pin and a new manifest is picked up on the periodic re-fetch. On any other origin the per-plugin marks are ignored. -> > -> > `credentialKind` selects what is sent: `anonymous` (the default) nothing, `userGit` the user's stored git credential for that host as HTTP Basic, `credentialHelper` the helper's output as `Authorization` (or, for `url` sources, as the HTTP headers it prints as a JSON object), and `inferenceCredential` (`url` sources only) the credential the app already sends your inference gateway or enabled bootstrap server, so the manifest must be on one of those two origins; when there is nothing to send yet, no request is made and the entry reports why. See [Host the marketplace over HTTPS](https://claude.com/docs/third-party/claude-desktop/extensions.md#host-the-marketplace-over-https-instead-of-git) for an example manifest and credential details. +> > * Archives must be on the same origin as the manifest. Open that host on your firewall. A credential is sent only to it. +> > * With `credentialKind` set to `inferenceCredential`, the manifest must be on your gateway's or bootstrap server's origin. > > **manifestSha256** `string` > -> SHA-256 of the exact marketplace.json to accept. Without it auto\_install and required act as available; a served manifest with any other digest is refused. +> SHA-256 of the marketplace.json to accept (url sources). Any other file is refused. Without it, auto\_install and required act as available. > > **credentialKind** `enum` > -> How fetches authenticate: anonymously, with the user’s git credentials, via a helper executable, or as the app does to its gateway or bootstrap server (url). +> Sent with a fetch: nothing (unset), the user’s Git credential, a helper script’s output, or the gateway or bootstrap credential (url only). > > One of: `anonymous`, `userGit`, `credentialHelper`, `inferenceCredential` @@ -3742,23 +3487,13 @@ object\[]Since 1.17377.1 object\[]Since 1.8089.0 -**Organization plugin settings.** Admin policy applied to plugin-delivered MCP servers. - -[Self-hosted install](#self-hosted-column): Server side. The host applies the admin's per-tool locks, and no plugin's MCP server is started on the computer. +**Organization plugin settings.** Locks tool permissions on the MCP servers that plugins provide. > **More detail** > -> Locks per-tool permissions on MCP servers provided by any installed plugin — from the org-plugins directory or a plugin marketplace, remote or run locally — one entry per server name (compared case-insensitively): -> -> ```json theme={null} -> [{"serverName": "internal-search", "tools": [{"toolName": "delete_document", "permission": "blocked"}]}] -> ``` -> -> The older record form (`{"mcpServers": {"internal-search": {"toolPolicy": {"delete_document": "blocked"}}}}`) is no longer accepted. Desktop versions before 1.15200.0 parse only the record form: on those builds an array value is ignored and plugin tool locks are **not enforced**, so update the fleet past 1.15200.0 before deploying the array form. -> -> If a Managed MCP servers entry is for the same server (same URL, else same name), that entry decides alone: its `toolPolicy` (if any) applies and the entry here is ignored. A value that cannot be read blocks every tool of every plugin-provided MCP server no Managed MCP servers entry covers. -> -> For a plugin server that Claude Code launches or connects to itself (a marketplace plugin's), the permissions travel on Claude Code's managed-settings channel: another Claude Code [managed-settings source](https://claude.com/docs/third-party/claude-desktop/code.md#interaction-with-claude-code%E2%80%99s-own-managed-settings) replaces them unless that source sets `parentSettingsBehavior` to `"merge"`. `blocked` on a server the app connects to itself holds either way. +> * If a `managedMcpServers` entry is for the same server (same URL, otherwise same name), the entry here is ignored. Put the locks in that entry's `toolPolicy`. +> * Update all devices first: an older version ignores this list and enforces no locks. +> * Claude Code's own managed settings, where a session has any, take priority by default. > **Child attributes (2)** > @@ -3796,9 +3531,7 @@ MDM only (You can set the key only in an MDM profile or the local configuration Since 1.10628.0 -**Use bootstrap config.** Fetch and apply the URL above at launch. Turn off to keep the URL saved but skip the fetch. - -[Self-hosted install](#self-hosted-column): MDM profile. Controls whether the desktop app fetches its configuration, so it cannot travel inside that document. +**Use bootstrap config.** Fetch and apply settings from the bootstrap config URL at launch. Turn off to keep the URL saved but skip the fetch. [Admin Console](#the-works-with-column): Not available. @@ -3814,8 +3547,6 @@ Since 1.10628.0 **Bootstrap config URL.** HTTPS endpoint that returns a per-user JSON config overlay. Values from the response override local settings and become read-only. -[Self-hosted install](#self-hosted-column): MDM profile. Tells the desktop app where to fetch its configuration, so it cannot travel inside that document. - [Admin Console](#the-works-with-column): Not available. *** @@ -3828,19 +3559,17 @@ MDM only (You can set the key only in an MDM profile or the local configuration Since 1.10628.0 -**Bootstrap OIDC parameters.** When set, the bootstrap request sends a Bearer token from a browser sign-in (authorization-code-with-PKCE). +**Bootstrap OIDC parameters.** Your organization’s OpenID Connect identity provider. The user’s token from a browser sign-in is sent as Bearer to the bootstrap server. [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) -[Self-hosted install](#self-hosted-column): MDM profile. Names the sign-in the desktop app uses to fetch its configuration, so it cannot travel inside it. - [Admin Console](#the-works-with-column): Not available. > **More detail** > -> Set this to use a separate identity provider (Microsoft Entra ID, Okta, Ping, or any compliant OIDC provider) for the bootstrap sign-in. The app runs an authorization-code-with-PKCE flow in the system browser. Omit to use device-code mode against the bootstrap server's own origin. +> When unset, the bootstrap sign-in uses a device code on the bootstrap server's own origin. > -> This is an **object-typed key** — in an MDM profile it is a single JSON-string value, not separate keys with dotted names like `bootstrapOidc.clientId`. Writing the sub-fields as separate registry values causes the app to silently fall through to device-code mode. +> In an MDM profile, write this key as one JSON string. Separate values such as `bootstrapOidc.clientId` do not work: the app silently uses the device-code sign-in instead. > **Child attributes (8)** > @@ -3876,11 +3605,11 @@ Since 1.10628.0 > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -3896,13 +3625,15 @@ Since 1.32885.1 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) -[Self-hosted install](#self-hosted-column): MDM profile. Sets headers the desktop app sends to fetch its configuration, so it cannot travel inside that document. - [Admin Console](#the-works-with-column): Not available. > **More detail** > -> Static headers sent on every request to the bootstrap config URL — for a service-account credential (`Authorization: Basic …`, an API key header) or a routing/tenant header. When either this or the headers helper script is set and no separate `bootstrapOidc` provider is configured, the app treats the headers as sufficient auth and does not require a per-user sign-in for the bootstrap fetch. These headers (and the helper script's below) also accompany requests to a plugin marketplace this server hosts on its own origin (`allowedPluginMarketplaces` with `credentialKind: "inferenceCredential"`). Header values are masked in diagnostics and telemetry. For a rotating token, use the headers helper script instead. +> If `bootstrapOidc` is unset, the app treats these headers as sufficient authentication and requires no per-user sign-in for the bootstrap fetch. +> +> These headers, and those of `bootstrapHeadersHelper`, also go to a plugin marketplace on this server's own origin, if its `allowedPluginMarketplaces` entry sets `credentialKind: "inferenceCredential"`. +> +> Header values are masked in diagnostics and telemetry. *** @@ -3918,13 +3649,13 @@ Since 1.32885.1 [Guide for this setting](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) -[Self-hosted install](#self-hosted-column): MDM profile. Names a program on the person's computer that supplies headers for fetching the app's configuration. - [Admin Console](#the-works-with-column): Not available. > **More detail** > -> Absolute path to an executable that prints a single JSON object of HTTP headers on stdout, e.g. `{"Authorization": "Bearer …"}`. The app runs it (no arguments; output cached for a few minutes) before each bootstrap config fetch and merges the result over **Bootstrap request headers** (the helper wins on conflict). Use this instead of embedding `user:pass@` in the bootstrap URL, or when the bootstrap server needs a rotating token from a secrets manager. When either this or the static headers are set and no separate `bootstrapOidc` provider is configured, the app treats them as sufficient auth and does not require a per-user sign-in for the bootstrap fetch. If a per-user sign-in also runs (`bootstrapOidc` or the server’s own device-code flow), that Bearer token wins on `Authorization`. +> Example output: `{"Authorization": "Bearer …"}`. The app runs the helper script with no arguments and reuses its output for a few minutes. +> +> If `bootstrapOidc` is unset, the app treats these headers as sufficient authentication and requires no per-user sign-in for the bootstrap fetch. If a per-user sign-in also runs, its token takes priority for the `Authorization` header. *** @@ -3936,9 +3667,7 @@ MDM only (You can set the key only in an MDM profile or the local configuration Since 1.26832.0 -**Trust bootstrap-delivered settings.** Skip the per-user consent prompt for sign-in targets, inference endpoints, helper scripts, and connectors the bootstrap server delivers. - -[Self-hosted install](#self-hosted-column): MDM profile. Skips a consent prompt on the person's computer for what the configuration server sends. +**Trust bootstrap-delivered settings.** Skip the per-user consent prompt for sign-in settings, inference endpoints, helper scripts, and connectors the bootstrap server delivers. [Admin Console](#the-works-with-column): Not available. @@ -3963,7 +3692,6 @@ The labels under a key start with its type and, where one is recorded, its defau Unless a label in its entry says otherwise, a key can be set in an MDM profile or the local configuration file, or returned from a bootstrap server. A badge marks another kind of deployment that the key also works with. -* **Self-hosted**: Something acts on the key on a self-hosted install. Its [Self-hosted install](#self-hosted-column) line gives the reason, and reads Server side or MDM profile, as the badge does on hover. Without the badge, that line reads Not supported, or the entry has none. * **Admin Console**: The key takes effect where your organization manages Claude Desktop from the Enterprise Admin Console. [Read more](https://claude.com/docs/third-party/claude-desktop/admin-console.md). * **No hover text**: The hosted configuration can hold the key. Set it on the console's pages or, where no page has a field for it, by importing a configuration file or through the Admin API. @@ -3972,26 +3700,15 @@ Unless a label in its entry says otherwise, a key can be set in an MDM profile o The hosted configuration refuses some values of keys that it can hold, for example an API key or token in a request header, and the Claude API as the inference provider. On a device that also has an MDM profile, the app still reads a few keys from the profile, for example the network proxy keys, which the console can't set. The Enterprise Admin Console guide lists them. -### Self-hosted install line - -The self-hosted word matters only on a self-hosted install, where sessions run on a session host that your organization operates and not on the person's computer. The word says who acts on the key on such an install, and so where to set it; the text beside it gives the reason. On any other install, ignore it. - -* **Server side** (`server`): in the document your session host reads; the host applies it itself. -* **Server side** (`reported`): in the same document; the host passes it on to Claude Desktop, which applies it in its own windows or on the person's computer. -* **MDM profile** (`client`): in Claude Desktop's own configuration on the computer (device management, the local file, or a bootstrap server that configuration names); the session host ignores it. -* **Not supported** (`none`): nothing acts on it on a self-hosted install, whichever of those places sets it. - -One exception to the four words: where a device-management profile sets only app-behavior keys, that profile alone decides all of them (of the keys here: `disableAutoUpdates`, `installedUpdateEnforcementEnabled`, `installedUpdateEnforcementHours`, `autoUpdaterEnforcementHours`, `updateViaUpdatesHost`, `releaseChannel`, `relaunchEnforcementHours`, `configRecheckIntervalMinutes`, `egressProxyUrl`, `egressProxyPacUrl`). - -The word is what this Claude Desktop release declares. A session host acts on a `server` or `reported` key only from the host version that reads it; until then nothing applies the key on a self-hosted install, and Claude Desktop does not fall back to a value set on the computer. - ## Guides -* [Configuration implementation](https://claude.com/docs/third-party/claude-desktop/configuration-format.md): how configuration differs between a device's own configuration, the Enterprise Admin Console, and a self-hosted install, and how to write each value type. +* [Configuration implementation](https://claude.com/docs/third-party/claude-desktop/configuration-format.md): how configuration differs between a device's own configuration and the Enterprise Admin Console, and how to write each value type. * [Configuration changelog](https://claude.com/docs/third-party/claude-desktop/configuration-changelog.md): the desktop release each key first appeared in. * [Models and effort levels](https://claude.com/docs/third-party/claude-desktop/models.md): how the keys under **Models** work together. * [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#how-unified-claude-interacts-with-chat-and-cowork-settings): how `desktopHome` overrides the other keys under **Chat surface** and **Cowork surface**. * [Automatic deletion of idle sessions](https://claude.com/docs/third-party/claude-desktop/data-storage.md#automatic-deletion-of-idle-sessions): which key under **Session retention** covers a conversation started from the home screen. +* [Skill scanning](https://claude.com/docs/third-party/claude-desktop/extensions.md#skill-scanning): what `skillScanningEnabled` turns on, which model runs a scan, and what users and your collector see. +* [Status line](https://claude.com/docs/third-party/claude-desktop/status-line.md): where to install the program that `sessionStatusLine` runs, what the program receives, and what it can print. ### Recommended security profiles @@ -4049,15 +3766,15 @@ For air-gapped or maximally restricted environments. **The app's own traffic goe ### Tool permissions for managed MCP servers -Each [`managedMcpServers`](#managedmcpservers) entry can carry a `toolPolicy` that locks the approval state per tool: +Each [`managedMcpServers`](#managedmcpservers) entry can carry a `toolPolicy` that sets the approval state per tool: -* `"allow"` — the tool runs without prompting. -* `"ask"` — the user approves every call; no session-scoped or standing grants are offered. -* `"blocked"` — the tool is removed from Claude's session; connector settings show it as blocked by your organization. +* `"allow"`: in Cowork sessions, the tool runs without an approval prompt, except that a built-in server's [irreversible actions](https://claude.com/docs/third-party/claude-desktop/built-in-connectors.md#how-built-in-servers-behave) stay at `"ask"` or stricter. In local Code sessions and Code sessions on an SSH host, `"allow"` doesn't pre-approve the tool, so the user can see an approval prompt for it. +* `"ask"`: the user approves every call; no session-scoped or standing grants are offered. +* `"blocked"`: the tool is removed from Claude's session; connector settings show it as blocked by your organization. In Cowork's [**Automatically approve**](#automodeenabled), a safety classifier still reviews calls to a tool set to `"allow"`, and can block them. See [Run vetted connector tools without classifier review](https://claude.com/docs/third-party/claude-desktop/code.md#run-vetted-connector-tools-without-classifier-review). -Tools with no policy entry stay user-controlled (built-in connectors apply default policies to some tools): the user is prompted and can approve once, approve for the rest of the task (offered for tools that can modify data), or grant a standing approval unless [`mcpPersistentAlwaysAllowEnabled`](#mcppersistentalwaysallowenabled) is `false`. The app reads a `toolPolicy` value other than `"allow"`, `"ask"`, or `"blocked"`, such as `"ask-session"`, as `"blocked"` for that tool and reports a configuration error, so write `"ask"` in place of `"ask-session"`. Managed policies take precedence over user grants, and enforcement happens in the desktop host process, not only in the prompt UI. A deny-by-default posture, `"*": "blocked"` plus exact `"allow"` entries for approved tools, is supported, including in Code sessions (where an allowed tool still gets Claude Code's own approval prompt). See the [`managedMcpServers` reference](#managedmcpservers) for wildcard matching, precedence rules, and built-in connector defaults. +Tools with no policy entry stay user-controlled (built-in connectors apply default policies to some tools): the user is prompted and can approve once, approve for the rest of the task (offered for tools that can modify data), or grant a standing approval unless [`mcpPersistentAlwaysAllowEnabled`](#mcppersistentalwaysallowenabled) is `false`. The app reads a `toolPolicy` value other than `"allow"`, `"ask"`, or `"blocked"`, such as `"ask-session"`, as `"blocked"` for that tool and reports a configuration error, so write `"ask"` in place of `"ask-session"`. Managed policies take precedence over user grants, and enforcement happens in the desktop host process, not only in the prompt UI. A deny-by-default posture, `"*": "blocked"` plus exact `"allow"` entries for approved tools, is supported, including in Code sessions. See the [`managedMcpServers` reference](#managedmcpservers) for wildcard matching, precedence rules, and built-in connector defaults. On a scheduled Cowork task, the prompt can also offer an **Allow for all scheduled runs** option. See [Tool approvals on scheduled tasks](#tool-approvals-on-scheduled-tasks). diff --git a/content/claude/third-party/claude-desktop/connectors-m365.md b/content/claude/third-party/claude-desktop/connectors-m365.md index 6a9631de91..4594fee0f9 100644 --- a/content/claude/third-party/claude-desktop/connectors-m365.md +++ b/content/claude/third-party/claude-desktop/connectors-m365.md @@ -311,7 +311,7 @@ The local connector calls Microsoft directly from the device, so in addition to To read Office documents, such as Word and PowerPoint files, the connector asks Microsoft Graph for a PDF version and follows the redirect Graph returns. Microsoft chooses the host in that redirect. -GCC High and DoD deployments use `login.microsoftonline.us` and `graph.microsoft.us` (or `dod-graph.microsoft.us` for `us-gov-dod`) instead of `login.microsoftonline.com` and `graph.microsoft.com`, matching the `azureCloud` setting. For a Microsoft 365 GCC tenant, leave `azureCloud` at `global`. GCC High (`us-gov-high`) support has been confirmed in customer deployments. No egress to any Anthropic host is needed for Microsoft 365 data with the local connector. +GCC High and DoD deployments use `login.microsoftonline.us` and `graph.microsoft.us` (or `dod-graph.microsoft.us` for `us-gov-dod`) instead of `login.microsoftonline.com` and `graph.microsoft.com`, matching the `azureCloud` setting. For a Microsoft 365 GCC tenant, leave `azureCloud` at `global`. No egress to any Anthropic host is needed for Microsoft 365 data with the local connector. ### Configure scopes diff --git a/content/claude/third-party/claude-desktop/data-storage.md b/content/claude/third-party/claude-desktop/data-storage.md index 634f4951da..e0fe4e4865 100644 --- a/content/claude/third-party/claude-desktop/data-storage.md +++ b/content/claude/third-party/claude-desktop/data-storage.md @@ -33,7 +33,7 @@ Within the application-data directory: | Path | Contents | | - | - | | `ant-did` | The random device identifier described above. | -| `configLibrary/` | Locally authored configuration (from the in-app configuration window). `_meta.json` records which saved configuration is applied; each is a `.json` file alongside it. Ignored when a managed profile is present. | +| `configLibrary/` | Locally authored configuration (from the in-app configuration window). `_meta.json` records which saved configuration is applied; each is a `.json` file alongside it. API keys in these files are encrypted (see [Credentials](#credentials)). Ignored when a managed profile is present. | | `local-agent-mode-sessions/.../cowork_account_settings.json` | User-level preferences set in the app, such as locale, the memory toggle, and the text entered under **Instructions for Claude** and **Global instructions**. | | `local-agent-mode-sessions/` | Cowork and Chat conversation history. One `local_.json` file plus a working directory per session, scoped by the `ant-did` device identifier and the organization ID, not by who is signed in to the app. The working directory includes an `uploads/` subdirectory with copies of files attached to the conversation and an `outputs/` subdirectory for files Claude creates. | | `local-agent-mode-sessions/.../memory/` | Cowork memory: a `CLAUDE.md` instructions file plus a `memory/` subdirectory of Markdown notes Claude writes about the user's preferences, projects, and feedback. See [Memory](#memory). | @@ -45,7 +45,7 @@ Within the application-data directory: | `cowork_plugins/` | User-installed and [org-provisioned](https://claude.com/docs/third-party/claude-desktop/extensions.md#organization-plugins-admin) plugins. Created on first plugin install. | | `IndexedDB/`, `Local Storage/`, `Session Storage/` | Renderer-side UI state (window layout, recent folders, preferences). | -Files in this directory are written with owner-only permissions so other OS accounts on the same machine cannot read them. The app encrypts stored sign-in tokens and similar secrets with the operating system's secure storage (see [Credentials](#credentials)), but not conversations, settings, or locally applied configuration, including an API key saved from the in-app configuration window. Protection at rest for those files depends on the device's full-disk encryption, such as FileVault or BitLocker. +Files in this directory are written with owner-only permissions so other OS accounts on the same machine cannot read them. The app encrypts stored sign-in tokens, API keys saved from the in-app configuration window, and similar secrets with the operating system's secure storage (see [Credentials](#credentials)). It doesn't encrypt conversations, settings, or the rest of the locally applied configuration. Protection at rest for those files depends on the device's full-disk encryption, such as FileVault or BitLocker. The logs directory contains `main.log` (application and configuration-validation events), `cowork_vm_node.log` (sandbox VM activity), `claude.ai-web.log` (renderer events), and `mcp.log` / `mcp-server-.log` (MCP connection events). @@ -77,6 +77,7 @@ Deleting a conversation's session state file and working directory removes all o Inference credentials are handled according to how they're delivered: * **Managed configuration** (for example, `inferenceGatewayApiKey`, `inferenceBedrockBearerToken`): read from the OS preference store or registry at launch and held in memory. The app also writes resolved credentials to a small set of transient, owner-only files for its own session processes, described below. +* **API keys saved in the in-app configuration window**: stored in the `configLibrary/` files, encrypted with the operating system's secure storage (Keychain on macOS, DPAPI on Windows, GNOME Keyring or KWallet on Linux). Requires Claude Desktop 4.4212.0 or later, which also encrypts a key that an earlier version saved, the next time the app launches. See [Unreadable saved API keys](#unreadable-saved-api-keys). * **OAuth tokens** (in-app Google sign-in, MCP servers with `oauth: true`): stored in the application-data directory, encrypted with the operating system's secure storage (Keychain on macOS, DPAPI on Windows). * **Credential-helper output**: held in memory for `inferenceCredentialHelperTtlSec` seconds, then discarded and re-fetched. @@ -86,23 +87,56 @@ Parts of each session run as separate processes: the sandbox VM for Cowork sessi | Path (within the application-data directory) | Contents | Lifecycle | | - | - | - | -| `host-creds-.json` | The resolved inference credential (bearer token or API key, plus the endpoint), as environment values for background Claude Code worker processes. Written atomically with owner-only permissions (mode `0600` on macOS; per-user ACLs on Windows). | Rewritten on each credential refresh; deleted when the app quits; leftovers from a crash are removed at the next launch. The random path segment is regenerated when you sign out of the inference provider or its credentials are rotated, so a process holding the old path loses access. | +| `host-creds-.json` | The resolved inference credential (plus the endpoint), as environment values for background Claude Code worker processes. The app writes it for credentials that it renews, such as a sign-in token or credential-helper output. Before Claude Desktop 4.29.0, the app also wrote it for a static API key or bearer token. Written atomically with owner-only permissions (mode `0600` on macOS; per-user ACLs on Windows). | Rewritten on each credential refresh; deleted when the app quits; leftovers from a crash are removed at the next launch. The random path segment is regenerated when you sign out of the inference provider or its credentials are rotated, so a process holding the old path loses access. | | `ccd-session-secrets//` | File-based credentials for Code sessions: Google Cloud application default credentials for Google Cloud's Agent Platform, or AWS configuration files for Amazon Bedrock. The directory is created with owner-only permissions (mode `0700` on macOS; per-user ACLs on Windows). | Created when the session starts; removed when the session ends; the whole directory is swept before the next Code session starts and when you sign out of the inference provider. | | Per-session working directory | For Cowork sessions, the same file-based credentials (Google Cloud's Agent Platform and Amazon Bedrock) are written into the session's working directory. | Scoped to the session; removed with the session directory. | Aside from these files, credentials delivered through managed configuration are held in memory only. +### Unreadable saved API keys + +An encrypted API key can be decrypted only through the secure storage of the OS user account that saved it, so a copy of the `configLibrary/` files alone can't be decrypted elsewhere. Where that account's secure storage moves with the user, for example in a Windows roaming profile that carries the user's DPAPI keys, the key also decrypts on the other device. + +When Claude Desktop can't decrypt the key that its connection uses, it shows the banner **Claude can’t read your saved key** and doesn't start sessions. The saved file stays as it is. + +Have the user enter the key again in the in-app configuration window, then restart the app, after any of these: + +* **The data moves without its secure storage**: the application-data directory is copied or restored to another device or another OS user account +* **A Windows profile changes**: the profile is rebuilt, roams without the user's DPAPI keys, or belongs to a local account whose password an administrator reset +* **The macOS login keychain is reset** +* **The desktop environment changes on Linux**: a key saved under GNOME Keyring can't be decrypted in a KDE session, or the reverse +* **The app is rolled back**: versions earlier than Claude Desktop 4.29.0 send the encrypted text as the key, and the provider refuses it + +These cases call for something else: + +* **Windows profiles that don't keep the user's DPAPI keys between sign-ins**: the user has to enter the key at each sign-in, so deliver the key through managed configuration instead +* **Secure storage that isn't available as the app launches**: a restart alone is enough. For example, this happens on Linux when the app starts at login before the keyring does, and on macOS when the user dismisses the keychain prompt. +* **Devices with no secure storage that the app can use**, such as Linux without GNOME Keyring or KWallet: the key stays unencrypted, and the configuration window shows **This key is saved unencrypted on this computer.** under the key +* **Tools that read or write the `configLibrary/` files**: a tool that reads the key gets the encrypted value. A tool that writes an unencrypted key still works, and the app encrypts that key the next time it launches. + ## Automatic deletion of idle sessions By default, chats, Cowork tasks, and Code sessions stay on the device until the user deletes them. To delete them after a period without activity, set [`chatSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#chatsessionretentiondays), [`coworkSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#coworksessionretentiondays), or [`codeSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#codesessionretentiondays) to a number of days from 1 to 3650. Each key covers one kind of session, and a kind you leave unset is kept until the user deletes it. Idle time counts from the session's last activity, and pinned sessions are not exempt. -With [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) on, a conversation started from the home screen where Cowork is on and the device can run it is a Cowork session. `coworkSessionRetentionDays` covers it along with users' other Cowork tasks, and `chatSessionRetentionDays` still covers Chat conversations. While `coworkSessionRetentionDays` is unset, neither key deletes a home-screen conversation that is a Cowork session, even if `chatSessionRetentionDays` is set. If you use `chatSessionRetentionDays`, keep it and set `coworkSessionRetentionDays` as well. +With [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) on, a conversation started from the home screen on a device that can run Cowork is a Cowork session. `coworkSessionRetentionDays` covers it along with users' other Cowork tasks, and `chatSessionRetentionDays` still covers Chat conversations. While `coworkSessionRetentionDays` is unset, neither key deletes a home-screen conversation that is a Cowork session, even if `chatSessionRetentionDays` is set. If you use `chatSessionRetentionDays`, keep it and set `coworkSessionRetentionDays` as well. + +The app deletes whole sessions in the background. A chat or Cowork task is deleted with its attached files and outputs, and a Code session with its conversation. Projects, memory, and the files in a Code session's working folder stay, and Code sessions on an SSH host aren't affected. A session that is running or open on screen is skipped until a later pass. On a device that gets its configuration from a server, the app stops deleting idle sessions shortly after it loses contact with that server. + +### Keep sessions for some users + +> [!WARNING] +> +> `sessionRetentionHold` is deprecated. Claude Desktop stops reading it at 12:00 PM Pacific Time on December 17, 2026. From then on, the app deletes the idle sessions of the users it covers, under the periods that are set for them. Deleted sessions can't be recovered. +> +> If you use `sessionRetentionHold`, change `chatSessionRetentionDays`, `coworkSessionRetentionDays`, and `codeSessionRetentionDays` for the same users before that date, or now if it has passed, as described under [Keep sessions for some users](#keep-sessions-for-some-users). Once their devices have the change, remove `sessionRetentionHold`. -The app deletes whole sessions in the background. A chat or Cowork task is deleted with its attached files and outputs, and a Code session with its conversation. Projects, memory, and the files in a Code session's working folder stay, and Code sessions on an SSH host aren't affected. A session that is running or open on screen is skipped until a later pass. +To keep some users' idle sessions from being deleted, for example under a legal hold, change `chatSessionRetentionDays`, `coworkSessionRetentionDays`, and `codeSessionRetentionDays` for those users. Make the change in the source that their devices get their configuration from: -### What a legal hold stops +* **[Bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) or [MDM profile](https://claude.com/docs/third-party/claude-desktop/mdm.md)**: if those users' devices use a bootstrap server, make the change in the server's response, because the app then ignores these keys in the MDM profile. Set the three keys to `3650`, the longest period, or leave them out, which keeps sessions until the user deletes them. +* **[Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md)**: set the three keys to `3650` in a [per-group permission policy](https://claude.com/docs/third-party/claude-desktop/admin-console.md#per-group-permission-policies) for those users' group. Rank that policy above their other policies. If the policy leaves a key out, those users keep the period that they had. +* **[Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway)**: set the three keys to `3650` in the `desktop` block of a policy that matches only those users, and put that policy before every other policy that matches them. A user gets only the [first policy that matches them](https://code.claude.com/docs/en/claude-apps-gateway-config#managed), so copy in any other settings that they need. A policy that leaves a key out [takes the catch-all policy's value](https://code.claude.com/docs/en/claude-apps-gateway-config#claude-desktop-overlay). -To stop the [automatic deletion of idle sessions](#automatic-deletion-of-idle-sessions) for some users, for example under a legal hold, set [`sessionRetentionHold`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionretentionhold) to `true` for them. While the hold is on, `chatSessionRetentionDays`, `coworkSessionRetentionDays`, and `codeSessionRetentionDays` delete nothing. They also delete nothing on a device that gets its configuration from a server and can't reach that server. All four keys require Claude Desktop 1.52386.0 or later. +A running app finds a change on a server at its next [configuration check](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#when-a-configuration-change-on-a-device-takes-effect) (every 10 minutes by default), and a change to an MDM profile once the profile reaches the device. It then stops deleting under the old period, without a restart. Until then, it can still delete sessions under the old period. Other deletions continue, such as these: @@ -138,6 +172,7 @@ On devices that get their managed configuration from MDM, you can move a user to Ask the user to: * Sign in to the inference provider, if the app asks +* Enter the provider API key again, if the user saved it in the in-app configuration window (see [Unreadable saved API keys](#unreadable-saved-api-keys)) * Reconnect each connector * Enter the environment variables for Code sessions from their original source, because the app masks saved values * In each project they use from Chat, use **Choose a folder > Choose a different folder** to select the same folders again diff --git a/content/claude/third-party/claude-desktop/extensions.md b/content/claude/third-party/claude-desktop/extensions.md index 104f48709c..e22550009b 100644 --- a/content/claude/third-party/claude-desktop/extensions.md +++ b/content/claude/third-party/claude-desktop/extensions.md @@ -474,6 +474,65 @@ Setting [`userPluginMarketplacesEnabled`](https://claude.com/docs/third-party/cl `userPluginMarketplacesEnabled` doesn't govern Claude Code in a terminal. To limit the marketplaces Claude Code can use in a terminal, set [marketplace restrictions in its managed settings](https://code.claude.com/docs/en/plugins/org#restrict-what-users-can-install). If you deploy Claude Code managed settings to the device, restrict marketplaces there too, because in Code sessions those settings can take precedence over the app's restrictions. +## Skill scanning + +> [!NOTE] +> +> Skill scanning is in beta. It's off until an administrator turns it on. + +Skill scanning checks the [skills](https://claude.com/docs/skills/overview.md) that users create or upload in the app. It looks for signs that a skill is malicious, such as hidden code execution, credential exposure, or data exfiltration. With scanning on, a scan starts each time a user creates, uploads, or edits a skill in the app. The user can't use the skill until the scan finishes, and the app blocks a skill that fails the scan. + +Claude Desktop doesn't scan plugins, or the skills inside them. To stop users from adding their own plugins, see [Controlling user extensions](#controlling-user-extensions). + +### Turn on skill scanning + +In the Enterprise Admin Console: + +1. In **Organization settings**, go to the **Capabilities** page under **Desktop 3P**. +2. Under **General restrictions**, turn on the **Scan user-created skills** switch. +3. Click **Save changes**. + +The console shows the **Scan user-created skills** switch only while **Allow user-created skills** is on. + +A [group's permission policy](https://claude.com/docs/third-party/claude-desktop/admin-console.md#per-group-permission-policies) has the same switch, and its setting overrides the organization's setting for that group. + +You can also turn on scanning in these ways: + +* Set [`skillScanningEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#skillscanningenabled) to `true` in the [MDM profile](https://claude.com/docs/third-party/claude-desktop/mdm.md) or the [bootstrap response](https://claude.com/docs/third-party/claude-desktop/bootstrap.md). A device that the console or a bootstrap server manages [ignores](https://claude.com/docs/third-party/claude-desktop/admin-console.md#which-settings-apply-on-a-device-with-a-managed-profile) the MDM profile's value for this setting. +* Turn on the same switch under **Capabilities** in the [in-app configuration window](https://claude.com/docs/third-party/claude-desktop/in-app-configuration.md), then click **Apply Changes**. The change takes effect after the app relaunches. + +Changes from the console, a bootstrap server, or MDM take effect at the app's next [configuration check](https://claude.com/docs/third-party/claude-desktop/admin-console.md#configuration-updates), and users don't have to relaunch the app. + +### How a scan works + +The app sends the text of the skill's files to a Claude model on your organization's own inference provider, using the same credential that the user's sessions use. + +How well a scan detects a malicious skill depends on the model that runs it. A scan runs on one model from your organization's [model list](https://claude.com/docs/third-party/claude-desktop/models.md#model-list-and-default-model). Claude Desktop prefers an Opus model, then a Sonnet model, then a Haiku model, but only among the models it can recognize. It recognizes a model when the model ID contains "opus", "sonnet", or "haiku", or when you set `anthropicFamilyTier` on that model in [`inferenceModels`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencemodels). If your model IDs are a gateway's route names, Claude Desktop may not recognize them, so set `anthropicFamilyTier` on each model. If Claude Desktop recognizes none of your models, it still runs the scan on another model from the list. + +Your organization pays its inference provider for scans. A scan's tokens count toward the user's [token limit](https://claude.com/docs/third-party/claude-desktop/configuration.md#inferencemaxtokensperwindow). + +A scan ends in one of these results: + +* **Pass**: the user can use the skill. +* **Caution**: the scan found something that could be unsafe but couldn't confirm that the skill is unsafe. The user can use the skill. +* **Blocked**: the skill failed the scan, and the user can't use it. The user can correct the skill and upload it again, which starts a new scan. +* **Not reviewed**: the scan didn't produce a result, and the user can't use the skill. This happens, for example, when the provider returns an error or the user is over their token limit. Once the cause is fixed, the user can click **Retry** on the skill's page. + +Neither a user nor an administrator can approve a blocked skill. Turning scanning off doesn't unblock it. But while scanning is off, a user who edits a **Blocked** or **Not reviewed** skill, or uploads it again, can use it, because the app no longer scans it. + +The Enterprise Admin Console doesn't show scan results. To collect them, set [`otlpEndpoint`](https://claude.com/docs/third-party/claude-desktop/configuration#otlpendpoint). Claude Desktop then sends scan records to your own [OpenTelemetry collector](https://claude.com/docs/third-party/claude-desktop/telemetry.md#sending-telemetry-to-your-own-collector) as log records whose body is `custom3p_skill_scan_completed`. It sends no scan records while [`otlpDesktopLogLevel`](https://claude.com/docs/third-party/claude-desktop/configuration#otlpdesktoploglevel) is `off`. A scan record identifies the user and includes the skill's name, the result, and the model's summary of the skill when there is one. The summary can quote the skill, and Claude Desktop sends it even when [content capture](https://claude.com/docs/third-party/claude-desktop/telemetry.md#content-capture) is off. To keep the summary out of your backend, drop the `scan_summary` attribute in the collector. + +### What skill scanning doesn't cover + +Besides plugins, the app doesn't scan these: + +* Skills that users saved before you turned on scanning. The app scans such a skill the next time the user saves it. +* Changes that someone makes directly to a skill's files on disk. +* Files inside a skill that the scan skips because of their file names, for example PNG and JPEG images, PDFs, and dependency lock files such as `package-lock.json`. The scan doesn't look at what is in these files, so it doesn't read a script that is saved as `logo.png`. +* Skills that aren't saved in the app at all, for example [Claude Code skills](https://code.claude.com/docs/en/skills) in `.claude/skills` folders on the device. A [Code session](https://claude.com/docs/third-party/claude-desktop/code.md) in Claude Desktop loads those skills too. + +A pass means that the scan found no sign that the skill is malicious. It isn't a guarantee that the skill is safe. + ## Related topics > **[Code](https://claude.com/docs/third-party/claude-desktop/code.md)** diff --git a/content/claude/third-party/claude-desktop/feature-matrix.md b/content/claude/third-party/claude-desktop/feature-matrix.md index 704c0d7bd7..87b1c781a1 100644 --- a/content/claude/third-party/claude-desktop/feature-matrix.md +++ b/content/claude/third-party/claude-desktop/feature-matrix.md @@ -67,6 +67,8 @@ Claude Desktop on 3P is administered from the web-based [admin console](https:// > * [Admin console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) > * [Endpoint or gateway configuration](https://claude.com/docs/third-party/claude-desktop/configuration.md#connection) > * [Skills, hooks, and plugins distribution](https://claude.com/docs/third-party/claude-desktop/extensions.md#organization-plugins-admin) +> * [Skill scanning](https://claude.com/docs/third-party/claude-desktop/extensions.md#skill-scanning) +> * [Status line](https://claude.com/docs/third-party/claude-desktop/status-line.md) > * [MCP server allowlist](https://claude.com/docs/third-party/claude-desktop/extensions.md#controlling-user-extensions) > * [Feature toggles](https://claude.com/docs/third-party/claude-desktop/configuration.md#capabilities) > * [Auto-updates](https://claude.com/docs/third-party/claude-desktop/installation.md#updates) diff --git a/content/claude/third-party/claude-desktop/foundry.md b/content/claude/third-party/claude-desktop/foundry.md index 9ec96b0f81..69cf16ef96 100644 --- a/content/claude/third-party/claude-desktop/foundry.md +++ b/content/claude/third-party/claude-desktop/foundry.md @@ -143,7 +143,9 @@ Since 2.110.0 > **More detail** > -> Set this only when the app reaches Foundry through a gateway or proxy you run, such as Azure API Management. Requests go to `/v1/messages` instead of `https://.services.ai.azure.com/anthropic/v1/messages`, carrying the same credential and headers the app would send to Foundry: each user's Entra ID token for the Azure Cognitive Services audience as `Authorization: Bearer` with Entra sign-in, otherwise the API key or the credential helper's output. Claude Code sessions receive the value as `ANTHROPIC_FOUNDRY_BASE_URL`, so use the same value you would give Claude Code in a terminal. `inferenceFoundryResource` is still required and should name the resource behind the gateway; the app sends nothing to the resource directly while this is set. Must be https, or http to a proxy at a loopback address on the device itself (127.0.0.1, localhost or \[::1]). +> Point it only at a gateway or proxy that you run. Requests carry the credential that the app would send to Foundry: the user's Entra ID token, the API key or the helper script's output. +> +> Use the value that you would give Claude Code as `ANTHROPIC_FOUNDRY_BASE_URL`. `inferenceFoundryResource` is still required and should name the resource behind the gateway. *** @@ -189,11 +191,9 @@ One of: `device-code`, `browser`, `broker` > **More detail** > -> * **`device-code`** (default) — shows a code to enter at microsoft.com/devicelogin. The app registration must have **Allow public client flows** enabled. -> * **`browser`** — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. The app registration must include `http://127.0.0.1/callback` under the **Mobile and desktop applications** platform (Entra ignores the loopback port, but not the path). Works with **Allow public client flows** disabled, and is unaffected by Conditional Access policies that block device-code authentication. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS), so it can satisfy Conditional Access policies that require a compliant/managed device or token protection. The app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. -> -> App versions that predate this key always use device code; versions that predate the broker option treat `broker` as unset and use device code. +> * **`device-code`:** shows a code to enter at microsoft.com/devicelogin. The app registration must have **Allow public client flows** enabled. +> * **`browser`:** register `http://127.0.0.1/callback` under **Mobile and desktop applications**. It works with **Allow public client flows** disabled. Conditional Access policies that block device-code sign-in do not affect it. +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** diff --git a/content/claude/third-party/claude-desktop/gateway.md b/content/claude/third-party/claude-desktop/gateway.md index cddf79287f..77ad9946a1 100644 --- a/content/claude/third-party/claude-desktop/gateway.md +++ b/content/claude/third-party/claude-desktop/gateway.md @@ -226,10 +226,10 @@ One of: `browser`, `broker` > **More detail** > -> * **`browser`** (default) — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. See the **IdP setup** notes on `inferenceGatewayOidc` for redirect-URI registration. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS). Requires the IdP to be **Microsoft Entra ID** — the `issuer` on `inferenceGatewayOidc` must be `https://login.microsoftonline.com/{tenant-id}/v2.0`. The broker satisfies Conditional Access policies that require a compliant/managed device or token protection, and needs no loopback redirect. The Entra app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. +> * **`browser`:** register the redirect URI `http://127.0.0.1:/callback` with your identity provider (for Entra, `http://127.0.0.1/callback`). +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. > -> Broker mode mints a token in the customer's own Entra tenant with the customer-configured `scopes`, and forwards it to the customer's own gateway; both endpoints of that trust relationship are inside the customer's control. A desktop that has the `external-idp` kind reads this key, together with `inferenceGatewayOidc`, as that kind's sign-in flow; it stays readable. +> `broker` needs Microsoft Entra ID, with the `issuer` in `inferenceGatewayOidc` set to `https://login.microsoftonline.com/{tenant-id}/v2.0`. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** @@ -251,13 +251,11 @@ Since 1.6889.0 > **More detail** > -> **External IdP mode.** The app discovers `/.well-known/openid-configuration`, runs an OIDC authorization-code-with-PKCE sign-in in the system browser with `clientId`, and sends the resulting token as `Authorization: Bearer` on every inference request. Leave this unset for a gateway that hosts its own RFC 8414 metadata at `/.well-known/oauth-authorization-server`. A desktop that has the `external-idp` kind reads this block as that kind's identity-provider key; it stays readable, so a fleet keeps this spelling until every desktop is on such a release. +> Used with `inferenceCredentialKind` set to `interactive`. Leave it unset for a gateway that runs its own sign-in and serves `/.well-known/oauth-authorization-server`. > -> **Bearer token type.** `id_token` (the default) sends the OIDC ID token; the gateway validates signature, `iss`, and `aud` (the `clientId` configured here). `access_token` sends the OAuth access token, for gateways that validate as a resource server (Portkey, Kong, Envoy JWT filter, AWS API Gateway authorizers); `scopes` must then name the gateway's registered API scope. Either way the gateway must check `aud`, not just signature and issuer, or it accepts any token from your tenant. +> Your gateway must check the token's audience (`aud`). Otherwise it accepts any token from your tenant. > -> **IdP setup.** The callback is `http://127.0.0.1:/callback` by default (`http://localhost:/callback` with `redirectHost: "localhost"`); register exactly the one you use and include `/callback`. **Entra:** a public-client app with a *Mobile and desktop applications* redirect URI of `http://127.0.0.1/callback` (any port; omitting the path fails with `AADSTS50011`); in `access_token` mode also grant the gateway API's delegated permission, or sign-in fails with `AADSTS65001`. **Okta:** a *Native* app with the exact URI `http://127.0.0.1:/callback` and that port in `redirectPort`. -> -> **Refresh.** With `offline_access` the app renews the token silently and prompts a browser sign-in only when refresh fails. Google never returns an `id_token` on refresh, so a Google Workspace-backed gateway in `id_token` mode re-prompts about hourly; `access_token` mode is unaffected. +> Register the redirect URI given under `inferenceGatewayOidcAuthFlow`. > **Child attributes (11)** > @@ -285,29 +283,35 @@ Since 1.6889.0 > > > **More detail** > > -> > In **access-token** mode the token's audience must be your gateway or proxy. On IdPs where the requested scopes decide the audience (**Entra ID**), include its API resource scope in `scopes` — `api:///.default`, or a named delegated scope you exposed via *Expose an API*. With only the standard OIDC scopes (`openid profile email offline_access`) Entra returns a v1.0 Microsoft Graph token whose issuer (`https://sts.windows.net//`) doesn't match the v2.0 issuer configured here, so a gateway that validates `iss` rejects it. On IdPs that set the access-token audience out-of-band (Keycloak audience mapper, Auth0 default audience, Okta custom authorization server), a resource scope in `scopes` isn't required — the audience comes from the IdP-side configuration. +> > An ID token's audience (`aud`) is `clientId`. An access token's audience must be your gateway or proxy. +> > +> > With Entra ID the scopes decide the audience, so add the gateway's API scope to `scopes`, such as `api:///.default`. > > **scopes** `string` > -> Space-separated scopes. Required in access-token mode: set the gateway or proxy API scope. offline\_access is appended automatically unless disabled below. +> Space-separated scopes. Access-token mode needs the gateway or proxy API scope, and adds offline\_access unless Append offline\_access is off. +> +> > **More detail** +> > +> > In ID-token mode, `offline_access` is not added to scopes that you set. Include it yourself, or users sign in again each time the token expires. > > **appendOfflineAccess** `boolean` (default: true) > -> Automatically append offline\_access to scopes so the IdP returns a refresh token for silent refresh. +> In access-token mode, add offline\_access to scopes so the identity provider returns a refresh token for silent refresh. > > > **More detail** > > -> > Turn off only if your authorization server rejects `offline_access` as an unknown scope; include the server’s own refresh-token scope in **Scopes** instead. +> > Turn off only if your authorization server rejects `offline_access` as an unknown scope. Then add the server’s own refresh-token scope to `scopes`. > > **resource** `string` > -> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier, sent as the RFC 8707 resource. Leave unset for Entra ID. +> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier. Leave unset for Entra ID. > > > **More detail** > > -> > Set this only for an IdP that implements RFC 8707 resource indicators. The app then sends `resource=` on the authorization, token and refresh requests, so the access token the IdP issues is audience-restricted to the gateway or proxy rather than to the IdP's own APIs. Use it with `bearerTokenType: access_token`; in `id_token` mode the ID token's audience is always `clientId`. Ignored with the OS-broker sign-in flow (the sign-in flow key set to `broker`), which is Entra-only. +> > Use it only with `bearerTokenType` set to `access_token`, and only if your identity provider supports RFC 8707. Changing it signs users in again. > > -> > **Microsoft Entra ID:** leave unset — the v2.0 endpoint rejects `resource`; request the API scope in `scopes` instead (`api:///.default`). **AD FS:** enter one of the relying-party trust's identifiers, spelled as it is registered there. A value with no scheme (a host name with or without a port or path, a single name, or a GUID; `name:digits` also reads as a host name with a port) is sent as `https://`; an identifier with a scheme of its own (`urn:…`, or an organization-defined one such as `VENDOR:URI:…`) is sent exactly as written. A trust whose only identifier is a bare name or GUID will not match, because those are sent as `https://`: add an `https://…` or `urn:…` identifier to the trust and enter that one here. With any other identity provider, use an absolute URI without a fragment (RFC 8707 — the IdP rejects one as `invalid_target`). Changing it signs users in again. +> > For AD FS, enter one of the relying-party trust's identifiers. A value with no scheme is sent as `https://`, so a plain name or GUID does not match. Add an `https://…` or `urn:…` identifier to the trust and enter that. > > **redirectPort** `integer` > @@ -321,11 +325,11 @@ Since 1.6889.0 > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -339,10 +343,10 @@ One of: `browser`, `broker` > **More detail** > -> * **`browser`** (default) — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. See the **IdP setup** notes on `inferenceIdpOidc` for redirect-URI registration. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS). Requires the IdP to be **Microsoft Entra ID** — the `issuer` on `inferenceIdpOidc` must be `https://login.microsoftonline.com/{tenant-id}/v2.0`. The broker satisfies Conditional Access policies that require a compliant/managed device or token protection, and needs no loopback redirect. The Entra app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. +> * **`browser`:** register the redirect URI `http://127.0.0.1:/callback` with your identity provider (for Entra, `http://127.0.0.1/callback`). +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. > -> Broker mode mints a token in the customer's own Entra tenant with the customer-configured `scopes` and forwards it to the customer's own gateway or proxy; both endpoints of that trust relationship are inside the customer's control. +> `broker` needs Microsoft Entra ID, with the `issuer` in `inferenceIdpOidc` set to `https://login.microsoftonline.com/{tenant-id}/v2.0`. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** @@ -358,15 +362,11 @@ Since 2.7032.0 > **More detail** > -> Used with `inferenceCredentialKind: "external-idp"`. The app discovers `/.well-known/openid-configuration`, runs an OIDC authorization-code (PKCE) sign-in in the browser with `clientId` (or through the OS broker, see `inferenceIdpAuthFlow`) and sends the token as `Authorization: Bearer` on every inference request: to `inferenceGatewayBaseUrl` on the gateway provider, or on Bedrock to `inferenceBedrockBaseUrl`, which is then required: only a proxy that validates the token accepts it, never Amazon Bedrock itself (to sign in straight to Bedrock use `interactive`, AWS IAM Identity Center). On Bedrock this kind has no model discovery: list the models in `inferenceModels`. +> Used when `inferenceCredentialKind` is `external-idp`. Register the redirect URI given under `inferenceIdpAuthFlow` with your identity provider. > -> **Bearer token type.** `id_token` (the default) sends the OIDC ID token; the receiver validates signature, `iss` and `aud` (the `clientId` here). `access_token` sends the OAuth access token, for gateways and proxies that validate as an OAuth resource server; `scopes` must then name the registered API scope. Either way the receiver must check `aud`, or it accepts any token from your tenant. +> Your gateway or proxy must check the token's audience (`aud`). Otherwise it accepts any token from your tenant. > -> **IdP setup.** The callback is `http://127.0.0.1:/callback` (`localhost` with `redirectHost: "localhost"`); register exactly that. **Entra:** a public-client app with a *Mobile and desktop applications* redirect URI `http://127.0.0.1/callback` (omitting the path fails with `AADSTS50011`); in `access_token` mode also grant the API's delegated permission, or sign-in fails with `AADSTS65001`. **Okta:** a *Native* app with `http://127.0.0.1:/callback` and that port in `redirectPort`. -> -> **Refresh.** With `offline_access` the app renews the token silently and asks for a browser sign-in only when refresh fails (Google returns no `id_token` on refresh, so `id_token` mode there re-prompts about hourly). -> -> **Older names.** Gateway configurations written before this key use `inferenceGatewayOidc` / `inferenceGatewayOidcAuthFlow` with the `interactive` kind; they stay readable and mean the same sign-in. +> On Bedrock, set `inferenceBedrockBaseUrl` to a proxy that checks the token, because Amazon Bedrock itself does not accept it. Also list your models in `inferenceModels`. > **Child attributes (11)** > @@ -394,29 +394,35 @@ Since 2.7032.0 > > > **More detail** > > -> > In **access-token** mode the token's audience must be your gateway or proxy. On IdPs where the requested scopes decide the audience (**Entra ID**), include its API resource scope in `scopes` — `api:///.default`, or a named delegated scope you exposed via *Expose an API*. With only the standard OIDC scopes (`openid profile email offline_access`) Entra returns a v1.0 Microsoft Graph token whose issuer (`https://sts.windows.net//`) doesn't match the v2.0 issuer configured here, so a gateway that validates `iss` rejects it. On IdPs that set the access-token audience out-of-band (Keycloak audience mapper, Auth0 default audience, Okta custom authorization server), a resource scope in `scopes` isn't required — the audience comes from the IdP-side configuration. +> > An ID token's audience (`aud`) is `clientId`. An access token's audience must be your gateway or proxy. +> > +> > With Entra ID the scopes decide the audience, so add the gateway's API scope to `scopes`, such as `api:///.default`. > > **scopes** `string` > -> Space-separated scopes. Required in access-token mode: set the gateway or proxy API scope. offline\_access is appended automatically unless disabled below. +> Space-separated scopes. Access-token mode needs the gateway or proxy API scope, and adds offline\_access unless Append offline\_access is off. +> +> > **More detail** +> > +> > In ID-token mode, `offline_access` is not added to scopes that you set. Include it yourself, or users sign in again each time the token expires. > > **appendOfflineAccess** `boolean` (default: true) > -> Automatically append offline\_access to scopes so the IdP returns a refresh token for silent refresh. +> In access-token mode, add offline\_access to scopes so the identity provider returns a refresh token for silent refresh. > > > **More detail** > > -> > Turn off only if your authorization server rejects `offline_access` as an unknown scope; include the server’s own refresh-token scope in **Scopes** instead. +> > Turn off only if your authorization server rejects `offline_access` as an unknown scope. Then add the server’s own refresh-token scope to `scopes`. > > **resource** `string` > -> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier, sent as the RFC 8707 resource. Leave unset for Entra ID. +> Access-token audience of the gateway or proxy: an https URL or an AD FS relying-party identifier. Leave unset for Entra ID. > > > **More detail** > > -> > Set this only for an IdP that implements RFC 8707 resource indicators. The app then sends `resource=` on the authorization, token and refresh requests, so the access token the IdP issues is audience-restricted to the gateway or proxy rather than to the IdP's own APIs. Use it with `bearerTokenType: access_token`; in `id_token` mode the ID token's audience is always `clientId`. Ignored with the OS-broker sign-in flow (the sign-in flow key set to `broker`), which is Entra-only. +> > Use it only with `bearerTokenType` set to `access_token`, and only if your identity provider supports RFC 8707. Changing it signs users in again. > > -> > **Microsoft Entra ID:** leave unset — the v2.0 endpoint rejects `resource`; request the API scope in `scopes` instead (`api:///.default`). **AD FS:** enter one of the relying-party trust's identifiers, spelled as it is registered there. A value with no scheme (a host name with or without a port or path, a single name, or a GUID; `name:digits` also reads as a host name with a port) is sent as `https://`; an identifier with a scheme of its own (`urn:…`, or an organization-defined one such as `VENDOR:URI:…`) is sent exactly as written. A trust whose only identifier is a bare name or GUID will not match, because those are sent as `https://`: add an `https://…` or `urn:…` identifier to the trust and enter that one here. With any other identity provider, use an absolute URI without a fragment (RFC 8707 — the IdP rejects one as `invalid_target`). Changing it signs users in again. +> > For AD FS, enter one of the relying-party trust's identifiers. A value with no scheme is sent as `https://`, so a plain name or GUID does not match. Add an `https://…` or `urn:…` identifier to the trust and enter that. > > **redirectPort** `integer` > @@ -430,11 +436,11 @@ Since 2.7032.0 > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -446,9 +452,9 @@ integerRange: 300–1,800Since 1.44121.1 > **More detail** > -> Raises how long Cowork, Chat and Code sessions wait for the next model event on an open streaming response (Claude Code's `CLAUDE_STREAM_IDLE_TIMEOUT_MS`). It only helps when the gateway writes SSE keep-alive `ping` events (or `:` comment lines) into the response while the upstream model is silent — for example a LiteLLM proxy with keep-alive pings enabled in front of Amazon Bedrock. With pings arriving, Claude Code accepts at least about five minutes of keep-alives and then waits this many seconds more for real model output before abandoning the request. Gateway provider only; the other providers keep Claude Code's defaults. +> With pings arriving (SSE `ping` events or `:` comment lines), sessions accept at least about five minutes of them, then wait this many seconds more. With no pings, a silent response still fails after about 5 minutes whatever this value, so make the gateway send them. > -> A response on which nothing at all arrives — no pings — still fails after about 5 minutes regardless of this key, because at the device a silent connection cannot be told apart from a dead one. If long generations fail behind a gateway that does not send pings, configure the gateway to send them rather than raising this value. A common case is automatic compaction, in which a session sends its whole conversation in one streaming request and waits for a long summary; when that request fails, the error reads `Prompt is too long · automatic compaction failed:` followed by the cause. While this key is set, the app's value takes precedence over `CLAUDE_STREAM_IDLE_TIMEOUT_MS` in Claude Code's own managed settings for sessions the app starts; when it is unset, that setting still applies. Values outside 300–1800 are rejected at parse time (the error is listed in the diagnostics report) and the default applies. +> While this key is set, it takes priority over `CLAUDE_STREAM_IDLE_TIMEOUT_MS` in Claude Code's managed settings for sessions the app starts. *** @@ -551,6 +557,55 @@ On Claude API, Google Cloud's Agent Platform, Amazon Bedrock, and Amazon Bedrock > > Setting `toolSearchEnabled` causes sessions to send experimental request headers and fields to your gateway or provider. On gateway deployments running Claude Desktop 1.40609.0 or later this is only the tool-search request shape (the `tool-search-tool-2025-10-19` value in the `anthropic-beta` header, deferred tool loading, and `tool_reference` content blocks), and every other experimental Claude Code beta stays off. On earlier versions, on Microsoft Foundry, and on providers behind a custom base URL, the key instead lifts the experimental-beta suppression for these sessions, so requests also carry Claude Code's other experimental beta headers and fields for that provider. Enable it only if your gateway forwards and accepts what it will receive; when it does not, requests fail with HTTP 400. LiteLLM in passthrough mode and Cloudflare AI Gateway both forward `anthropic-beta` headers and `tool_reference` content blocks. +## Block requests at a spend limit + +To show users your own message when your gateway blocks them at a budget or spend limit, return HTTP `402` with the message in a [Messages API error body](https://platform.claude.com/docs/en/api/errors#error-shapes): + +```json theme={null} +{ + "type": "error", + "error": { + "type": "billing_error", + "message": "You reached your monthly spend limit of $500. Ask your manager for an increase." + } +} +``` + +Claude Desktop doesn't retry a `402`. Once your gateway accepts requests again, the user's next message in the same session goes through. + +Cowork, Chat, and Code show a **Billing issue** card, with your message below the app's own explanation. + +![Cowork card titled Billing issue. The app's explanation reads: You won't be able to start tasks until your IT team adds credits or updates billing. Below it, in monospace, is the gateway's message: You reached your monthly spend limit of \$500. Ask your manager for an increase.](https://mintcdn.com/claude-ai/_XP3pgAHpW92TgGc/images/third-party/gateway-billing-issue-card.png?fit=max\&auto=format\&n=_XP3pgAHpW92TgGc\&q=85\&s=b54737876348e2fa4f53a0adc5d01a1d) + +The Billing issue card in Cowork, with an example gateway message in monospace. + +> [!NOTE] +> +> The **Billing issue** card in Cowork and Chat requires Claude Desktop 4.4212.0 or later. In earlier versions, both show your message in a **Something went wrong** card with a **Try again** button. + +### Write the spend limit message + +Keep `error.message` short and say who can raise the limit. The **Billing issue** card shows your message as plain text, so a URL or email address in it isn't clickable. To give users a clickable HTTPS link, set `linkUrl` on the [`banner`](https://claude.com/docs/third-party/claude-desktop/configuration#banner), the notice across the top of the app window. + +Avoid phrases from the app's own error messages, such as "usage limit", "hit your limit", "hit your monthly limit", "out of usage", and "credit balance is too low". If your message contains one, the app can show its own card or text instead. + +### Other status codes at a spend limit + +With these status codes, users see a general error or a card about a different problem, and Code's card hides or drops your message. + +* **`429`**: Claude Desktop can retry for about three minutes or longer before it shows an error, unless the response carries `x-should-retry: false`. Code then shows **Server is temporarily limiting requests**. +* **`401` or `403`**: Code shows a card about credentials, sign-in, or permissions. +* **`400`**: Code shows **Invalid request**. + +### Warn users before the spend limit + +To tell users where they stand before your gateway blocks them, show one line of text in one of these places: + +* **Across the top of the app window**: set the [`banner`](https://claude.com/docs/third-party/claude-desktop/configuration#banner) configuration key to show a one-line notice. If you serve configuration per user, for example from a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), each user's notice can show their own figure, such as "You have used 82% of your monthly budget." +* **Above the message box**: set up a [status line](https://claude.com/docs/third-party/claude-desktop/status-line.md). Claude Desktop runs a program that you install on the user's device and shows the line it prints. + +Claude Desktop can also limit each user's tokens, separately from your gateway's budget, and warn users before they reach that limit. To set up the limit and check where it applies, see the [token limit keys](https://claude.com/docs/third-party/claude-desktop/configuration.md#inferencemaxtokensperwindow) in the configuration reference. + ## Troubleshoot **`gateway SSO: server does not advertise device_authorization_endpoint`** — The app could not read your `inferenceGatewayOidc` value, so it fell back to treating the gateway itself as the sign-in server. Almost always this means the value is missing or not valid JSON, for example because it was written as separate dotted keys instead of one `inferenceGatewayOidc` value. Re-export from the in-app configuration window, or copy the `.mobileconfig` snippet above. diff --git a/content/claude/third-party/claude-desktop/installation.md b/content/claude/third-party/claude-desktop/installation.md index 33563c79da..35faf0903e 100644 --- a/content/claude/third-party/claude-desktop/installation.md +++ b/content/claude/third-party/claude-desktop/installation.md @@ -25,7 +25,7 @@ Check these on Windows devices before rollout: * **Log on as a service**: Cowork's virtual machine runs under an account in the built-in `NT VIRTUAL MACHINE\Virtual Machines` group, and that group needs the **Log on as a service** user right. If your organization assigns that right through Group Policy or MDM, see [Windows security policy blocks the Cowork workspace](#windows-security-policy-blocks-the-cowork-workspace). * **Hooks**: a [hook](https://code.claude.com/docs/en/hooks) command written for Bash needs Git for Windows on the device. If your Windows devices have hooks in plugins or in Claude Code managed settings, see [Hooks on Windows devices without Git for Windows](https://claude.com/docs/third-party/claude-desktop/extensions.md#hooks-on-windows-devices-without-git-for-windows). -With [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) on, a message sent from the home screen starts a Cowork session where Cowork is on and the device can run it. On a device that can't run Cowork's virtual machine, the message starts a Chat conversation. +With [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) on, a message sent from the home screen starts a Cowork session on a device that can run Cowork. On a device that can't run Cowork's virtual machine, the message starts a Chat conversation. ## Check device readiness diff --git a/content/claude/third-party/claude-desktop/mantle.md b/content/claude/third-party/claude-desktop/mantle.md index f19e87c4a8..caefd7ed1b 100644 --- a/content/claude/third-party/claude-desktop/mantle.md +++ b/content/claude/third-party/claude-desktop/mantle.md @@ -69,7 +69,7 @@ Origin-pinned (A URL that a bootstrap server delivers must share the origin of b Since 1.2581.0 -**Bedrock base URL.** For VPC endpoints or gateway proxies. Host origin only. +**Bedrock base URL.** For VPC endpoints or gateway proxies. Enter https\:// and the host, with no path. *** @@ -81,10 +81,6 @@ enumSince 1.5186.0 One of: `flex`, `priority` -> **More detail** -> -> Tier availability varies by model and region. Reserved capacity uses a provisioned-throughput ARN as the model ID instead of this setting. Older bundled Claude Code CLI versions ignore this key. - *** #### `inferenceBedrockBearerToken` diff --git a/content/claude/third-party/claude-desktop/mdm.md b/content/claude/third-party/claude-desktop/mdm.md index 41133d3914..b75119217d 100644 --- a/content/claude/third-party/claude-desktop/mdm.md +++ b/content/claude/third-party/claude-desktop/mdm.md @@ -42,7 +42,7 @@ The window is organized into sections in the left sidebar. Work through them in | **Capabilities** | Which of Cowork, Code, and Chat are available Allowed egress hosts for the sandbox Disabled built-in tools Allowed workspace folders | | **Connectors** | Managed MCP servers pushed to all users Whether users can add their own local MCP servers Whether desktop extensions (`.mcpb`) are allowed Whether unsigned extensions are rejected | | **Telemetry & updates** | OpenTelemetry collector endpoint Whether auto-updates are blocked The enforcement window for downloaded updates, or the restart for versions you install yourself The three Anthropic-bound telemetry toggles (essential, nonessential, nonessential services) | -| **Limits** | Per-device token cap and its window length Retention periods after which idle chats, Cowork tasks, and Code sessions are deleted, and the hold that suspends deletion | +| **Limits** | Per-device token cap and its window length Retention periods after which idle chats, Cowork tasks, and Code sessions are deleted | | **Appearance** | Persistent banner shown across the app window Deployment display name and subtitle Whether the signed-in user's identity is shown and exported (end-user attribution) Whether feature announcements are shown | | **Plugins** | [Plugin marketplaces](https://claude.com/docs/third-party/claude-desktop/extensions.md#plugin-marketplaces-admin), added by GitHub repo, git URL, or hosted `marketplace.json` URL Shows the org-plugins folder path for your platform; plugin bundles are mounted to that folder via your MDM, not through this window | | **Egress** | A read-only firewall allowlist derived from everything you've entered above, grouped by feature **Copy hostnames**, **Download .txt**, and **Test connectivity** actions | diff --git a/content/claude/third-party/claude-desktop/overview.md b/content/claude/third-party/claude-desktop/overview.md index 2b6d677f70..f825f551c0 100644 --- a/content/claude/third-party/claude-desktop/overview.md +++ b/content/claude/third-party/claude-desktop/overview.md @@ -40,7 +40,7 @@ The desktop app detects 3P mode at launch from the configured inference provider * **Conversation content goes only to your configured endpoint.** The app sends prompts, responses, files, and tool outputs only to your configured inference endpoint and stores them only on the local machine. If you enable [SSH remote sessions](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md), Claude Code runs those sessions on a remote host, which also receives that content, sends it to your endpoint, and stores it. What happens to that content at the endpoint depends on the provider, as described under [Data handling by provider](#data-handling-by-provider). * **Sandboxed tool execution.** In Cowork, shell commands run in the hardened Cowork VM; file access is scoped to your allowed folders and web fetches to your egress allowlist. For Code sessions, see [Applied as managed policy](https://claude.com/docs/third-party/claude-desktop/code.md#applied-as-managed-policy). -* **Auditable telemetry.** Crash reports and product analytics are scrubbed of conversation and user data before being sent to Anthropic, and can be fully disabled via configuration keys. Independently, you can export session activity to your own OpenTelemetry collector. The export is metadata only by default, with prompt and tool content available as an explicit opt-in. +* **Auditable telemetry.** Crash reports and product analytics are scrubbed of conversation and user data before being sent to Anthropic, and can be fully disabled via configuration keys. Independently, you can export session activity to your own OpenTelemetry collector. The export is metadata only by default, with prompt and tool content available as an explicit opt-in. If you turn on [skill scanning](https://claude.com/docs/third-party/claude-desktop/extensions.md#skill-scanning), the export also carries records of scan results. A record's summary can quote the skill. * **Centrally managed.** Configuration is delivered through your existing MDM (Jamf, Intune, Workspace ONE, Group Policy), a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), or the [admin console](https://claude.com/docs/third-party/claude-desktop/admin-console.md). End users can't edit a configuration that MDM delivers. They can leave it for standard Claude Desktop by signing in to claude.ai. On Claude Desktop 2.37337.0 or later, a user who signs in to any organization that uses the admin console can move the device to that organization's configuration. To prevent both, set [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) to `true` in the MDM profile, as described under [Keep a device on its managed profile](https://claude.com/docs/third-party/claude-desktop/admin-console.md#keep-a-device-on-its-managed-profile). For a detailed treatment of the threat model, sandbox boundaries, and data flows, request access to the [Claude Cowork Desktop Security Architecture Overview](https://trust.anthropic.com/resources?s=2a7bbzo1lyymvdt551q7kl\&name=claude-cowork-desktop-security-architecture-overview) on Anthropic's Trust Center. For architecture, telemetry, and controls information specific to Claude Desktop on 3P, see the [Claude Desktop Security Overview (Third-party platforms)](https://trust.anthropic.com/resources?s=0c8rx4s7mm5ierz8ppetfs\&name=claude-cowork-security-overview-\(third-party-platforms\)) on the Trust Center. diff --git a/content/claude/third-party/claude-desktop/status-line.md b/content/claude/third-party/claude-desktop/status-line.md new file mode 100644 index 0000000000..f5eb750512 --- /dev/null +++ b/content/claude/third-party/claude-desktop/status-line.md @@ -0,0 +1,163 @@ +> ## Documentation Index +> Fetch the complete documentation index at: https://claude.com/docs/llms.txt +> Use this file to discover all available pages before exploring further. + +# Show a status line + +> Show a status line above the message box in Claude Desktop on 3P: one line of your organization's own text, such as budget used, from a program you install + +The status line is one line of your organization's own text, such as budget used or a data-handling label, above the message box in Cowork, Chat, and Code sessions. [Claude Desktop on third-party (3P)](https://claude.com/docs/third-party/claude-desktop/overview.md) runs a program that you install on the user's device and shows the first line the program prints. + +![The Claude Desktop message box. Above it, right-aligned in small gray text, a ten-square bar and the words 82% of \$500 used this month. The first eight squares and the 82% are colored.](https://mintcdn.com/claude-ai/_XP3pgAHpW92TgGc/images/third-party/status-line-budget.png?fit=max\&auto=format\&n=_XP3pgAHpW92TgGc\&q=85\&s=1b85b3f879c80bb9cd03b7c192bf92fd) + +A status line that shows budget use, with made-up data. + +> [!NOTE] +> +> These cases are covered on other pages: +> +> * **A notice across the top of the app window, with no program to install**: set the [`banner`](https://claude.com/docs/third-party/claude-desktop/configuration#banner) key +> * **Your own message when your gateway blocks a user at a spend limit**: see [Block requests at a spend limit](https://claude.com/docs/third-party/claude-desktop/gateway.md#block-requests-at-a-spend-limit) + +## Turn on the status line + +The status line requires Claude Desktop 4.4212.0 or later and is off until you set the [`sessionStatusLine`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionstatusline) key. + +**1. Install the program** + +Put the program where users can't change it. Claude Desktop runs it only from a location that meets these rules: + +* **macOS and Linux**: root owns the file and every parent folder, with no write access for group or others +* **Windows**: the file is under `Program Files` or `Program Files (x86)` on the drive where Windows is installed + +To try the [macOS and Linux sample](#sample-status-line-programs) on a test device, save it as `status-line` and run these commands in your terminal: + +```bash theme={null} +sudo mkdir -p /opt/example/bin +sudo cp status-line /opt/example/bin/status-line +echo "410 500" | sudo tee /opt/example/budget.txt +sudo chown -R 0:0 /opt/example +sudo chmod 755 /opt/example /opt/example/bin /opt/example/bin/status-line +sudo chmod 644 /opt/example/budget.txt +``` + +**2. Set the key** + +Set the key's `command` field to the program's full path, with no arguments or shell syntax: + +```json theme={null} +{ "sessionStatusLine": { "command": "/opt/example/bin/status-line" } } +``` + +In JSON, double each backslash in a Windows path: + +```json theme={null} +{ "sessionStatusLine": { "command": "C:\\Program Files\\Example\\status-line.ps1" } } +``` + +Add the key to the same [configuration source](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#which-configuration-source-applies-on-a-device) as your other keys. + +* **macOS profile or Windows registry**: write the value as a [JSON string](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#value-types-in-a-profile-or-registry-policy) +* **Bootstrap server**: the key applies after the user approves it in a dialog, unless the device [trusts the server's values without prompting](https://claude.com/docs/third-party/claude-desktop/bootstrap.md#keys-that-require-user-consent) + +**3. Restart Claude Desktop and check the line** + +Quit and reopen Claude Desktop, then open an existing session, or start a new one and send a message. The line appears above the message box. + +## Write the status line program + +Claude Desktop starts the status line program with no arguments and no window, as the user who runs Claude Desktop. + +* **File type**: on macOS and Linux, an executable file, such as a compiled program or a script that starts with `#!`. On Windows, an `.exe` file or a `.ps1`, `.cmd`, or `.bat` script. A `.ps1` script runs in Windows PowerShell, not PowerShell 7. + +* **Input**: one line of JSON on standard input, with the session ID and the model. A field with no value is left out, so handle a missing `model`. + + ```json theme={null} + {"session_id":"local_1f0c2a9e-7b3d-4c58-9a16-5e2d8b40c7f3","model":{"id":"claude-sonnet-4-5","display_name":"Claude Sonnet 4.5"}} + ``` + +* **Output**: the first non-empty line of standard output, up to 200 characters. Markup and links show as plain text. A line wider than the message box ends in "…" and shows in full on hover. + +* **Colors**: text is gray by default. ANSI codes `31` to `36` and `91` to `96` show red, green, yellow, blue, magenta, and cyan, in shades that fit the light or dark theme, and `0` or `39` returns to gray. Other colors show gray, and codes such as bold have no effect. + +* **Paths**: the working directory is `/` (`System32` on Windows). `PATH` is `/usr/bin:/bin:/usr/sbin:/sbin`, or the System32, Windows, and Windows PowerShell folders on Windows, so call other tools by their full path. + +* **Environment**: the app's variables, minus `ANTHROPIC_*`, `CLAUDE_*`, `ELECTRON_*`, and variables that make an interpreter load code, such as `PYTHONPATH`. + +* **Time limit**: 10 seconds, after which Claude Desktop stops the program and anything it started. On Windows, the time PowerShell takes to start counts toward the limit. + +### Sample status line programs + +Both samples print a budget line, `■■■■■■■■□□ 82% of $500 used this month`. The macOS and Linux sample reads its numbers from a file that your own scheduled job keeps up to date. The Windows sample prints fixed numbers and shows how a PowerShell script prints UTF-8, reads the input, and writes the escape character. + +**macOS and Linux** + +```sh theme={null} +#!/bin/sh +# Prints, for example: ■■■■■■■■□□ 82% of $500 used this month +# Your own scheduled job keeps this file up to date. It holds dollars used and +# the limit as two whole numbers, for example: 410 500 +BUDGET_FILE=/opt/example/budget.txt + +# Unless the file holds two whole numbers, print nothing so no line shows. +[ -r "$BUDGET_FILE" ] || exit 0 +read -r used limit < "$BUDGET_FILE" +case "$used" in ''|0?*|*[!0-9]*) exit 0 ;; esac +case "$limit" in ''|0*|*[!0-9]*) exit 0 ;; esac + +percent=$((used * 100 / limit)) +if [ "$percent" -ge 90 ]; then color=31 # red +elif [ "$percent" -ge 70 ]; then color=33 # yellow +else color=32 # green +fi + +full="" empty="" +for step in 10 20 30 40 50 60 70 80 90 100; do + if [ "$percent" -ge "$step" ]; then full="${full}■"; else empty="${empty}□"; fi +done + +printf '\033[%sm%s\033[0m%s \033[%sm%s%%\033[0m of $%s used this month\n' \ + "$color" "$full" "$empty" "$color" "$percent" "$limit" +``` + +**Windows** + +```powershell theme={null} +# Print UTF-8, so that characters outside ASCII show correctly. +[Console]::OutputEncoding = New-Object Text.UTF8Encoding $false + +# Read the session data, one line of JSON. Use fields such as $session.model.display_name. +$line = [Console]::In.ReadLine() +$session = $line | ConvertFrom-Json + +# Fixed numbers keep the sample short. Replace them with your own budget data. +$esc = [char]27 +$yellow = $esc + '[33m' +$reset = $esc + '[0m' +$full = ([string][char]0x25A0) * 8 +$empty = ([string][char]0x25A1) * 2 +$bar = $yellow + $full + $reset + $empty +Write-Output ($bar + ' ' + $yellow + '82%' + $reset + ' of $500 used this month') +``` + +## When the status line updates + +Claude Desktop runs the status line program at these moments: + +* A session opens +* Claude finishes a turn +* The user picks another model +* The app regains focus + +There's no timer, so new data shows the next time one of these happens. + +If the program fails, prints nothing, or takes longer than 10 seconds, the line disappears and the user sees no error. The next successful run brings the line back. + +## Troubleshoot a missing status line + +Search `main.log` in the [logs directory](https://claude.com/docs/third-party/claude-desktop/data-storage.md#where-data-lives) on the user's device for `sessionStatusLine`. One entry can stand for many failures of the same kind, and the entries don't include the program's output. + +* **`was not run`**: fix the cause the entry gives, such as a folder that users can write to or a Windows path outside `Program Files` +* **`ended with exit code 127`**: a command that the script runs wasn't found, so call each tool by its full path +* **`was stopped after 10 seconds`**: the program hit the [time limit](#write-the-status-line-program). On Windows, a `.ps1` script can be slow to start in the first minutes after Claude Desktop first launches. If the line appears after a later turn ends or the app regains focus, nothing needs fixing. +* **No entry**: the program printed nothing, which isn't logged, or the key hasn't reached the app. Restart Claude Desktop and check [which configuration source applies](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#which-configuration-source-applies-on-a-device). diff --git a/content/claude/third-party/claude-desktop/telemetry.md b/content/claude/third-party/claude-desktop/telemetry.md index e87a968524..a3202abab8 100644 --- a/content/claude/third-party/claude-desktop/telemetry.md +++ b/content/claude/third-party/claude-desktop/telemetry.md @@ -62,7 +62,7 @@ On Linux, installing the `claude-desktop` package adds Anthropic's apt repositor Independently of what's sent to Anthropic, you can export session activity to your own OpenTelemetry collector by setting `otlpEndpoint`. This is the recommended way to retain an audit trail in environments that disable Anthropic-bound telemetry. -For third-party deployments, the export includes session metadata (event names, durations, token counts, result counts, errors) by default, but not message content. It also identifies the signed-in user; see [User attribution](#user-attribution). See [Monitoring](https://claude.com/docs/cowork/monitoring.md) for the event schema and the [`otlp*` keys](https://claude.com/docs/third-party/claude-desktop/configuration#otlpendpoint) in the configuration reference. +For third-party deployments, the export includes session metadata (event names, durations, token counts, result counts, errors) by default, but not message content. It also identifies the signed-in user; see [User attribution](#user-attribution). Records of skill scans are an exception to leaving out message content. If you turn on [skill scanning](https://claude.com/docs/third-party/claude-desktop/extensions.md#skill-scanning), the export also carries `custom3p_skill_scan_completed` records of scan results, and a record's summary can quote the skill. Claude Desktop sends the summary even when [content capture](#content-capture) (`otlpContentCapture`) is off. See [Monitoring](https://claude.com/docs/cowork/monitoring.md) for the event schema and the [`otlp*` keys](https://claude.com/docs/third-party/claude-desktop/configuration#otlpendpoint) in the configuration reference. The export carries logs and metrics. Cowork sessions, Code sessions, and the desktop application's own events arrive under the `service.name` values `cowork`, `claude-code-desktop`, and `claude-desktop` respectively. With [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) on, a Cowork session started from the home screen also arrives under `cowork`. The export isn't checked against the [agent egress allowlist](#required-egress-paths), so `otlpEndpoint` doesn't need an entry in `coworkEgressAllowedHosts`; your perimeter firewall still needs to allow the host. diff --git a/content/claude/third-party/claude-desktop/unified-claude.md b/content/claude/third-party/claude-desktop/unified-claude.md index 716b7e855e..ed256e67c9 100644 --- a/content/claude/third-party/claude-desktop/unified-claude.md +++ b/content/claude/third-party/claude-desktop/unified-claude.md @@ -8,17 +8,17 @@ > [!NOTE] > -> Unified Claude is in beta. It is opt-in until November 10, 2026. From that date, unless an [exception](#enabling-unified-claude) applies, it is on by default. New [Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) organizations start with Unified Claude on. +> Unified Claude is in beta. It is opt-in until November 10, 2026. From that date, Unified Claude is [on by default](#enabling-unified-claude). Cowork is then on too, even where you turned Cowork off. New [Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) organizations start with Unified Claude on. Unified Claude combines Chat and Cowork into one experience in Claude Desktop 3P. Users get a single Claude interface for both quick chats and longer agentic tasks. [Code](https://claude.com/docs/third-party/claude-desktop/code.md) stays separate. -Where Cowork is on, Unified Claude contains the same capabilities as Cowork on Desktop 3P today, including bash execution, subagents, and scheduled tasks. The Chat experience is going away, but you can restrict specific Cowork capabilities in Unified Claude through your other settings options and tool policies. +Unified Claude contains the same capabilities as Cowork on Desktop 3P today, including bash execution, subagents, and scheduled tasks. The Chat experience is going away, but you can restrict specific Cowork capabilities in Unified Claude through your other settings options and tool policies. Unified Claude runs without Cowork capabilities if the user's machine cannot launch the VM. If so, the application will revert to non-VM capabilities under Unified Claude. ## What users see with Unified Claude -With Unified Claude on, users type into the message box on the home screen without first choosing between Chat and Cowork. Where Cowork is on and the device can run it, each message sent from the home screen starts a Cowork session. On a device that can't run Cowork's virtual machine, the message starts a Chat conversation instead. +With Unified Claude on, users type into the message box on the home screen without first choosing between Chat and Cowork. On a device that can run Cowork, each message sent from the home screen starts a Cowork session. On a device that can't run Cowork's virtual machine, the message starts a Chat conversation instead. A Cowork session started this way has Cowork-level tools and follows your Cowork settings. For example, Claude can create and change files in folders the user attaches, and create scheduled tasks. @@ -26,23 +26,23 @@ Users keep their earlier chats and Cowork tasks, and the sidebar lists them toge ## Enabling Unified Claude -Unified Claude is opt-in until November 10, 2026. When Claude Desktop starts after 12:00 PM Pacific Time on that date, Unified Claude is on by default where [`desktopHome`](https://claude.com/docs/third-party/claude-desktop/configuration#desktophome) is unset, except in cases such as these: +Unified Claude is opt-in until November 10, 2026. When a current version of Claude Desktop starts after 12:00 PM Pacific Time on that date, it reads an unset [`desktopHome`](https://claude.com/docs/third-party/claude-desktop/configuration#desktophome) as `standard`, the value that turns on Unified Claude. Unified Claude is then on by default. -* **A Chat retention period that differs from Cowork's**: where Cowork is on, [`chatSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#chatsessionretentiondays) is set, and [`coworkSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#coworksessionretentiondays) isn't set to the same number of days, Unified Claude is off until the two match or you set `desktopHome`. A later change that creates this mismatch turns Unified Claude off again. -* **Chat, Cowork, and Code all off**: Claude Desktop keeps turning one of them back on, as described under [Chat configuration](https://claude.com/docs/third-party/claude-desktop/chat.md#configuration) -* **Earlier app versions**: the default comes with an app update, so a device switches only after it installs that update +> [!WARNING] +> +> The default applies even where [`chatTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chattabenabled), [`chatAdvancedFileAnalysisEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chatadvancedfileanalysisenabled), or [`coworkTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#coworktabenabled) is `false`. Cowork is on even where you turned it off. -Where Cowork is on, the default turns on Chat and advanced file analysis, even where [`chatTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chattabenabled) or [`chatAdvancedFileAnalysisEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chatadvancedfileanalysisenabled) is `false`. To turn off sandbox commands, see [Sandbox network access](https://claude.com/docs/third-party/claude-desktop/chat.md#sandbox-network-access). +If you use [`chatSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#chatsessionretentiondays), set [`coworkSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#coworksessionretentiondays) as well, before November 10, 2026, or earlier if you turn on Unified Claude yourself. `coworkSessionRetentionDays` covers new conversations that are Cowork sessions, along with users' other Cowork tasks, as described under [Automatic deletion of idle sessions](https://claude.com/docs/third-party/claude-desktop/data-storage.md#automatic-deletion-of-idle-sessions). To turn on Unified Claude yourself, use the setting for your deployment: * **Enterprise Admin Console**: Go to Capabilities and toggle on "Opt into the new Chat and Cowork unified view." -* **MDM or a bootstrap server**: For MDM and bootstrap deployments, the [`desktopHome`](https://claude.com/docs/third-party/claude-desktop/configuration#desktophome) key controls Unified Claude. Create and set `desktopHome` to `standard` in your [MDM profile](https://claude.com/docs/third-party/claude-desktop/mdm.md) or [bootstrap response](https://claude.com/docs/third-party/claude-desktop/bootstrap.md). Claude Desktop reads a value it doesn't recognize as `off`. Where the default doesn't apply, removing the key turns Unified Claude off. - -If you use `chatSessionRetentionDays`, set `coworkSessionRetentionDays` as well before you turn on Unified Claude. `coworkSessionRetentionDays` covers new conversations that are Cowork sessions, along with users' other Cowork tasks, as described under [Automatic deletion of idle sessions](https://claude.com/docs/third-party/claude-desktop/data-storage.md#automatic-deletion-of-idle-sessions). +* **MDM or a bootstrap server**: For MDM and bootstrap deployments, the [`desktopHome`](https://claude.com/docs/third-party/claude-desktop/configuration#desktophome) key controls Unified Claude. Create and set `desktopHome` to `standard` in your [MDM profile](https://claude.com/docs/third-party/claude-desktop/mdm.md) or [bootstrap response](https://claude.com/docs/third-party/claude-desktop/bootstrap.md). Claude Desktop reads a value it doesn't recognize as `off`. Until November 10, 2026, removing the key turns Unified Claude off. ## How Unified Claude interacts with Chat and Cowork settings -When your configuration sets `desktopHome`, Claude Desktop ignores [`chatTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chattabenabled), [`chatAdvancedFileAnalysisEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chatadvancedfileanalysisenabled), and [`coworkTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#coworktabenabled). New conversations that are Cowork sessions follow the Cowork retention period. The Chat retention period still covers Chat conversations, such as earlier chats. +Claude Desktop ignores [`chatTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chattabenabled), [`chatAdvancedFileAnalysisEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#chatadvancedfileanalysisenabled), and [`coworkTabEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#coworktabenabled) when your configuration sets `desktopHome`, whether to `standard` or to `off`. It also ignores them while Unified Claude is on by default. New conversations that are Cowork sessions follow the Cowork retention period. The Chat retention period still covers Chat conversations, such as earlier chats. Your other settings still apply, including [`isClaudeCodeForDesktopEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#isclaudecodefordesktopenabled), which controls Code. + +To limit what Claude can do in Cowork, use settings such as [`disabledBuiltinTools`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledbuiltintools), [`builtinToolPolicy`](https://claude.com/docs/third-party/claude-desktop/configuration#builtintoolpolicy), [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/configuration#allowedworkspacefolders), and [`scheduledTasksEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#scheduledtasksenabled). For example, to stop Claude from running shell commands, add `"Bash"` to `disabledBuiltinTools`. That entry applies in Code sessions too, as described under [Sandbox network access](https://claude.com/docs/third-party/claude-desktop/chat.md#sandbox-network-access). diff --git a/content/claude/third-party/claude-desktop/vertex.md b/content/claude/third-party/claude-desktop/vertex.md index 39070105db..cb67f9d973 100644 --- a/content/claude/third-party/claude-desktop/vertex.md +++ b/content/claude/third-party/claude-desktop/vertex.md @@ -289,7 +289,7 @@ Origin-pinned (A URL that a bootstrap server delivers must share the origin of b Since 1.2581.0 -**Vertex AI base URL.** PSC endpoint, if using one. +**Vertex AI base URL.** Private Service Connect endpoint, if you use one. *** @@ -309,7 +309,7 @@ Since 1.2581.0 stringSince 1.2581.0 -**Vertex OAuth client secret.** Secret for the Desktop-app OAuth client above. Google classifies installed-app client secrets as non-confidential, so this may be set from hosted config. +**Vertex OAuth client secret.** Secret for the Desktop-app OAuth client above. Google does not treat such secrets as confidential, so the Admin Console can set it. *** @@ -363,10 +363,10 @@ One of: `browser`, `broker` > **More detail** > -> * **`browser`** (default) — opens the system browser for an authorization-code (PKCE) sign-in on a loopback redirect URI. See the **IdP setup** notes on `inferenceGatewayOidc` for redirect-URI registration; the same rules apply here. -> * **`broker`** — signs in through the OS identity broker (Web Account Manager on Windows, Company Portal on macOS). Requires the workforce-pool IdP to be **Microsoft Entra ID** — the `issuer` on `inferenceVertexWorkforceOidc` must be `https://login.microsoftonline.com/{tenant-id}/v2.0`. The broker satisfies Conditional Access policies that require a compliant/managed device or token protection, and needs no loopback redirect. The Entra app registration must include the broker redirect URIs `ms-appx-web://Microsoft.AAD.BrokerPlugin/{client-id}` (Windows) and `msauth.com.anthropic.claudefordesktop://auth` (macOS) under the **Mobile and desktop applications** platform. Not supported on Linux. +> * **`browser`:** register the redirect URI `http://127.0.0.1:/callback` with your identity provider (for Entra, `http://127.0.0.1/callback`). +> * **`broker`:** uses Web Account Manager on Windows or Company Portal on macOS, and does not work on Linux. It can satisfy Conditional Access policies that require a compliant or managed device, or token protection. > -> The GCP STS token-exchange step is unchanged in either flow; only how the Entra id\_token is acquired differs. +> `broker` needs Microsoft Entra ID, with the `issuer` in `inferenceVertexWorkforceOidc` set to `https://login.microsoftonline.com/{tenant-id}/v2.0`. Add the redirect URIs listed under [Register the Entra ID application](https://claude.com/docs/third-party/claude-desktop/entra-broker.md#register-the-entra-id-application). *** @@ -378,7 +378,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Since 1.10628.0 -**Workforce Identity IdP (OIDC).** Your organization’s OIDC IdP. The app runs an authorization-code-with-PKCE flow against this issuer and exchanges the returned ID token at GCP STS. +**Workforce Identity IdP (OIDC).** Your organization’s OpenID Connect identity provider. Users sign in there, and the app exchanges their ID token at GCP STS. > **Child attributes (9)** > @@ -414,15 +414,15 @@ Since 1.10628.0 > > **omitOfflineAccess** `boolean` > -> Only enable if your IdP rejects the offline\_access scope on this client. Without it the app prompts for sign-in each time the token expires. +> Turn on only if your identity provider rejects offline\_access on this client. Users then sign in again each time the token expires. > > **additionalRedirectReferrerHosts** `string` > -> Space-separated hostnames also accepted as the referrer of the sign-in callback. Only needed when the IdP completes sign-in from a different host. +> Space-separated hostnames also accepted as the referrer of the sign-in callback, besides the authorization URL’s host. > > > **More detail** > > -> > Only needed when the IdP completes sign-in from a host other than the authorization URL’s. When a callback is rejected for a referrer mismatch, the rejected host is named in the app log — add that hostname here. +> > If a callback is rejected for a referrer mismatch, the app log names the rejected host. Add that hostname here. *** @@ -434,7 +434,7 @@ Consent required (A value that a bootstrap server or a self-hosted session host Since 1.2581.0 -**GCP credentials file path.** Absolute path to service-account JSON. Leave blank to fall back to ADC. +**GCP credentials file path.** Full path to a service-account JSON file. Unset: Application Default Credentials. *** diff --git a/content/en/about-claude/models/optimizing-for-cost-and-intelligence.md b/content/en/about-claude/models/optimizing-for-cost-and-intelligence.md index 66ffa78153..7b663945a2 100644 --- a/content/en/about-claude/models/optimizing-for-cost-and-intelligence.md +++ b/content/en/about-claude/models/optimizing-for-cost-and-intelligence.md @@ -64,10 +64,10 @@ Turn on [prompt caching](https://platform.claude.com/docs/en/build-with-claude/p Anthropic priced the DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) runs with and without the cache discount: - ![Chart, DeepResearch Bench II: caching cuts Fable 5.1 from $37.94 USD to $6.89 USD per task; Sonnet 5, $3.20 USD to $1.18 USD](https://platform.claude.com/docs/images/cost-intel/caching-repriced.svg) + ![Chart, DeepResearch Bench II: caching cuts Fable 5.1 from $40.58 USD to $5.64 USD a task; Sonnet 5.5, $5.13 USD to $1.05 USD](https://platform.claude.com/docs/images/cost-intel/caching-repriced.svg) -The cache’s default lifetime is 5 minutes and an agent loop’s turns are seconds apart, so the discount applies to most tokens on every turn. The caching chart’s runs read 84% to 90% of their input tokens from the cache. +The cache’s default lifetime is 5 minutes and an agent loop’s turns are seconds apart, so the discount applies to most tokens on every turn. The caching chart’s runs read 89% to 93% of their input tokens from the cache. Pricing other runs’ recorded token counts the same way, each model at its default effort, gives the average token cost per task without caching: @@ -196,7 +196,7 @@ When something must change mid-conversation, send it in the form that keeps the ![Bar chart: system prompt edit up to $1.26 USD, top-level effort change up to $1.02 USD, either in a message up to $0.026 USD](https://platform.claude.com/docs/images/cost-intel/cache-break-cost.svg) -At list prices, the stakes are highest on Claude Fable 5.1 and Claude Mythos 5.1, where a break re-writes the prefix at 1.25x the input price instead of reading it at 0.025x. On Claude Haiku 5.5 a system prompt edit costs 12.5 times an unchanged request. The edit re-wrote the whole conversation. By default, newer accounts get a 400 error instead, except on Claude Mythos 5.1[18](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs). The top-level effort change, in a conversation that held the model’s first reply with its thinking, re-wrote all but the system prompt. These figures are from the Messages API. +At list prices, the stakes are highest on Claude Fable 5.1 and Claude Mythos 5.1, where a break rewrites the prefix at 1.25x the input price instead of reading it at 0.025x. On Claude Haiku 5.5, a system prompt edit cost 12.5x as much as an unchanged request, because the edit rewrote the whole conversation. On models that run the [prefix check](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check), a request that makes this edit and sends earlier thinking blocks back can get a 400 error instead[18](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs). The top-level effort change, in a conversation that held the model’s first reply with its thinking, rewrote all but the system prompt. These figures are from the Messages API. **What to do.** @@ -272,7 +272,7 @@ Anthropic measured these levers on an earlier model[28](https://platform.claude. * Run-wide, the prune and context editing cache about equally well. If you use context editing, [clear in a few large batches](https://platform.claude.com/docs/en/build-with-claude/context-editing#context-editing-and-prompt-caching). - On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, rewriting an earlier tool result [invalidates every thinking block after it](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check), so use compaction instead. The prune was measured on an earlier model without [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking); on these four models, [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) and [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) run on the server and don’t invalidate thinking blocks. [Send assistant turns back exactly as returned](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#append-assistant-turns-exactly-as-returned): dropping their thinking blocks costs output tokens on every turn, because Claude [re-creates the reasoning](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#drop-block-cost). + On Claude 5.1 and later models, rewriting an earlier tool result [invalidates every thinking block after it](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check), so use compaction instead. The prune was measured on an earlier model without [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking); on these models, [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) and [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) run on the server and don’t invalidate thinking blocks. [Send assistant turns back exactly as returned](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#append-assistant-turns-exactly-as-returned): dropping their thinking blocks costs output tokens on every turn, because Claude [re-creates the reasoning](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#drop-block-cost). The prune, adapted from the triage agent’s code: @@ -412,7 +412,7 @@ The following table lists the results: * Start with Claude Opus 5.5 at its default effort: on the SWE-bench Pro subset it matched Claude Fable 5.1 at its default, inside run-to-run noise, for about a fifth of the cost per solved task. Opus 5.5 and Fable 5.1 both largely saturate the SWE-bench Pro subset. Use Claude Fable 5.1 for demanding reasoning and long-horizon agentic work, or when your evals on Claude Opus 5.5 at higher effort still fall short. * At the other end, Claude Haiku 5.5 suits high-volume and latency-sensitive work with checkable outputs. * Price every candidate in cost per completed task on your own traffic, including Claude Opus 5.5 at its default effort and the frontier model at reduced effort. Each of Claude Opus 5.5’s token prices, cache reads included, is twice Claude Sonnet 5.5’s, but on the SWE-bench Pro subset Opus 5.5 at `low` solved about the same share of tasks as Sonnet 5.5 at its default, inside run-to-run noise, for about 7% more per solved task. -* The ranking flips by workload, and no price list tells you which way, so measure it on your own workload. On long research loops, Claude Fable 5.1 can do more work, not less, and so cost more per task (DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs)). +* Measure what a more expensive model buys on your own workload. On the 45 DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) tasks scored for every model, at default effort, Claude Opus 5.5 scored 2.6 points above Claude Sonnet 5.5 for 1.5 times the cost per task, and Claude Fable 5.1 scored 6.0 points above Claude Sonnet 5.5 for 5.8 times. On all 50 tasks, with four biology tasks that only Claude Sonnet 5.5 answered counted as failures, neither is measurably ahead of Claude Sonnet 5.5. * Price the tail of your workload, not the median: compare models on the hardest tenth of your tasks, not the typical one. The bill is decided by the tasks the cheaper model fails, because a failed task still bills its tokens, then the retry, then whatever the failure costs downstream. The tail is also where the money goes even when nothing fails. On a 20-problem WideSearch[1](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) run, two problems carried 43% of the spend: @@ -431,29 +431,26 @@ If you are a model or two behind, the cheapest lever is the model string. In Ant ![Charts: on SWE-bench Pro, Opus 5.5 and Sonnet 5.5 cut cost per solved task most; on Terminal-Bench 3, Opus drops to $28 USD](https://platform.claude.com/docs/images/cost-intel/upgrade-ladder-sonnet-5-5.svg) -| Benchmark | Upgrade | Effort | Score | Cost | -| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | --------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | -| SWE-bench Pro[3](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) subset | Claude Sonnet 4.6 to Claude Sonnet 5 | Default | 5 more points | 16% less per solved task | -| SWE-bench Pro subset | Claude Sonnet 5 to Claude Sonnet 5.5 | Default | About 10 more points | 87% less per solved task; 85% less at Claude Sonnet 5’s prices | -| SWE-bench Pro subset | Claude Opus 5 to Claude Opus 5.5 | Default: `high` to `medium` | About the same: 91.9% to 92.8% of tasks solved | 78% less per solved task; about 69% less at Claude Opus 5’s prices | -| SWE-bench Pro subset | Claude Fable 5 to Claude Fable 5.1 | Default | About the same score | 43% less per solved task | -| DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Claude Fable 5 to Claude Fable 5.1 | `high` | 2 to 3 more points on the 21 tasks where no attempt was cut short | 46% more per task on all 50 tasks | -| DeepResearch Bench II | Claude Fable 5 to Claude Fable 5.1 | `low` | 2 to 3 more points on the 21 tasks where no attempt was cut short | 94% more per task on all 50 tasks | -| Terminal-Bench 3[20](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Claude Opus 4.7 to Claude Opus 4.8 | `high` | From 7% to 15% of tasks solved | From $183 USD to $63 USD per solved task | -| Terminal-Bench 3 | Claude Opus 4.8 to Claude Opus 5 | `high` | From 15% to 41% of tasks solved | From $63 USD to $28 USD per solved task, a 56% saving | -| Claude Managed Agents task set[25](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Claude Haiku 4.5 to Claude Haiku 5.5 | As served; `medium` on Claude Haiku 5.5 | From 62% to 93% of attempts passed, one run per model | From $0.041 USD to about $0.010 USD in token cost per attempt; about 84% less per passed attempt | +| Benchmark | Upgrade | Effort | Score | Cost | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | --------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ | +| SWE-bench Pro[3](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) subset | Claude Sonnet 4.6 to Claude Sonnet 5 | Default | 5 more points | 16% less per solved task | +| SWE-bench Pro subset | Claude Sonnet 5 to Claude Sonnet 5.5 | Default | About 10 more points | 87% less per solved task; 85% less at Claude Sonnet 5’s prices | +| SWE-bench Pro subset | Claude Opus 5 to Claude Opus 5.5 | Default: `high` to `medium` | About the same: 91.9% to 92.8% of tasks solved | 78% less per solved task; about 69% less at Claude Opus 5’s prices | +| SWE-bench Pro subset | Claude Fable 5 to Claude Fable 5.1 | Default | About the same score | 43% less per solved task | +| Terminal-Bench 3[20](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Claude Opus 4.7 to Claude Opus 4.8 | `high` | From 7% to 15% of tasks solved | From $183 USD to $63 USD per solved task | +| Terminal-Bench 3 | Claude Opus 4.8 to Claude Opus 5 | `high` | From 15% to 41% of tasks solved | From $63 USD to $28 USD per solved task, a 56% saving | +| Claude Managed Agents task set[25](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Claude Haiku 4.5 to Claude Haiku 5.5 | As served; `medium` on Claude Haiku 5.5 | From 62% to 93% of attempts passed, one run per model | From $0.041 USD to about $0.010 USD in token cost per attempt; about 84% less per passed attempt | **When it pays.** * The size of the saving depends on the work. From Claude Opus 5 to Claude Opus 5.5, it is 78% per solved task on the SWE-bench Pro subset and 40% on typical workloads ([Introducing Claude Opus 5.5](https://www.anthropic.com/news/claude-opus-5-5)). From Claude Sonnet 5 to Claude Sonnet 5.5, it is 87% on the same subset and up to 30% for most work ([Introducing Claude Sonnet 5.5](https://www.anthropic.com/news/claude-sonnet-5-5)). * Where older models already solve most tasks, the cost of each attempt decides the saving: on the SWE-bench Pro subset, Claude Opus 5.5 scores about the same as Claude Opus 5 for 78% less per solved task. * Where older models mostly fail, the pass rate decides the saving: on Terminal-Bench 3[20](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs), the upgrade from Claude Opus 4.8 to Claude Opus 5 raises tasks solved from 15% to 41% and costs 56% less per solved task. -* Measure the upgrade on your own workload before assuming it saves. The saving is not guaranteed: on DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs), Claude Fable 5.1 costs more per task than Claude Fable 5 because the new model does more work per task there, although the input and output prices are the same and the cache read is 4x cheaper. * Compare on cost per solved task, not per token: the same text costs about 30% more tokens on Claude 4.7 and later models, so a per-token comparison makes the newer models look more expensive by construction. ### Tune effort -Sweep effort on your own workload before you add a second model. Lower effort costs less and is often faster, and how much accuracy it gives up depends on the task: on long-horizon coding, effort bought accuracy, and on research tasks it bought a lot in one measurement and nothing in another. The [`effort`](https://platform.claude.com/docs/en/build-with-claude/effort) parameter governs how much thinking, tool calling, and self-verification the model does; `high` is the default on most models, and `medium` on Claude Opus 5.5 and Claude Haiku 5.5. +Sweep effort on your own workload before you add a second model. Lower effort costs less and is often faster, and how much accuracy it gives up depends on the task: on long-horizon coding, effort bought accuracy, and on research tasks it bought a lot in one measurement and a little in another. The [`effort`](https://platform.claude.com/docs/en/build-with-claude/effort) parameter governs how much thinking, tool calling, and self-verification the model does; `high` is the default on most models, and `medium` on Claude Opus 5.5 and Claude Haiku 5.5. The following table lists Anthropic’s measurements on two benchmarks with current models; scores and costs are not comparable between the two benchmarks. Costs are per task, not per solved task as in [Compare models on cost per task](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#compare-models-on-cost-per-task). Each score pools two runs on SWE-bench Pro and three on DeepResearch Bench II, unless its cell says otherwise: @@ -463,8 +460,9 @@ The following table lists Anthropic’s measurements on two benchmarks with curr | SWE-bench Pro subset | Claude Opus 5.5 | `medium` (default) | 92.8% of tasks solved | $0.21 USD | | SWE-bench Pro subset | Claude Opus 5.5 | `high` | 95.3% of tasks solved | $0.29 USD | | SWE-bench Pro subset | Claude Opus 5.5 | `xhigh` | 96.7% of tasks solved (a single run) | $0.74 USD | -| DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Claude Fable 5.1 | `low` | Rubric score 66% | $4.48 USD | -| DeepResearch Bench II | Claude Fable 5.1 | `high` (default) | Rubric score 65% | $6.89 USD | +| DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Claude Fable 5.1 | `low` | Rubric score 60.5% | $3.47 USD | +| DeepResearch Bench II | Claude Fable 5.1 | `medium` | Rubric score 60.5% | $4.44 USD | +| DeepResearch Bench II | Claude Fable 5.1 | `high` (default) | Rubric score 63.0% | $5.64 USD | The following chart plots accuracy against cost per task for Claude Opus 5.5 on the SWE-bench Pro[3](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) subset: @@ -475,7 +473,7 @@ The following chart plots accuracy against cost per task for Claude Opus 5.5 on The following chart plots rubric score against cost per task for Claude Fable 5.1 on DeepResearch Bench II[7](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs): - ![Line chart, DeepResearch Bench II, rubric score against cost per task: on Fable 5.1 higher effort bought no score, only cost](https://platform.claude.com/docs/images/cost-intel/effort-limit-repriced.svg) + ![Line chart, DeepResearch Bench II, Fable 5.1: rubric score 60.5% at low effort, 60.5% at medium, 63.0% at high, as cost rises](https://platform.claude.com/docs/images/cost-intel/effort-limit-repriced.svg) **What to do.** @@ -483,7 +481,7 @@ The following chart plots rubric score against cost per task for Claude Fable 5. * Sweep two or three effort levels on a sample of your own traffic, each in a separate session: changing top-level effort mid-session [invalidates the cache](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#cache-repeated-context) and distorts the comparison. The curve is the baseline any multi-model strategy must beat ([step 2 of measuring on your own workload](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#measure-on-your-own-workload)). * On long-horizon coding, effort is a real tradeoff, which [re-running failures at higher effort](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#re-run-failures-at-higher-effort) turns back into a saving. At `medium`, Claude Sonnet 5.5 scored about 7 points lower than at its default, `high`, on the SWE-bench Pro[3](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) subset for about 59% of the cost per task (2 runs each), and scored 62.7% compared with 77.8% on the internal agentic-coding benchmark[11](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) (1 attempt per task). * At `xhigh` and `max`, Claude Sonnet 5.5 can start its own rounds of review after it finishes a task, which takes more time and tokens. To keep that work on the task, add the prompt under “Thoroughness at `xhigh` and `max` effort” in [Prompting Claude Sonnet 5.5](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-sonnet-5-5#steer-initiative-and-scope) to your system prompt. -* On research tasks, measure the model you ship. Claude Fable 5.1 scored nearly the same from `low` to `high` on DeepResearch Bench II; Claude Opus 5.5 scored 13.3 points lower at `low` than at `medium` on DRACO[21](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs). The two results come from different models on different benchmarks, so they show that the answer varies, not why. +* On research tasks, measure the model you ship. Claude Fable 5.1 scored 2.5 points higher at `high` than at `low` on DeepResearch Bench II, for 1.6 times the cost, and no higher at `medium` than at `low`; Claude Opus 5.5 scored 13.3 points lower at `low` than at `medium` on DRACO[21](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs). The two results come from different models on different benchmarks, so they show that the answer varies, not why. * At `low`, Claude Opus 5.5’s typical task took 84% less time than at `medium` on DRACO[21](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs), 30% less on HLE[22](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs), and 47% less on an internal set of physics problems[23](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs), and it scored 13.3, 3.4, and 14.0 points lower (3, 3, and 4 attempts per task). * On an internal defect-search benchmark for work larger than one context window[8](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs), Claude Fable 5.1 took 15.2, 17.5, and 19.9 hours per run at `low`, `medium`, and `high` (3 runs each). To save time, also compare lower effort with the two changes in [Show the model elapsed time](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#show-the-model-elapsed-time): `low` effort saved more time, and the changes kept more of the score. @@ -588,7 +586,7 @@ The following table compares the two strategies: An advisor can help only when the executor consults it. -In Anthropic’s measurements on current models, the one pairing whose executor consulted often, on a coding benchmark, scored 1.7 points higher than the executor alone at the same effort, at the edge of run-to-run noise, for about 2.1 times the cost. Where the executor rarely or never consulted, the pairing scored within run-to-run noise of the executor alone, or lower. +In Anthropic’s measurements, the one pairing whose executor consulted often, on a coding benchmark, scored 1.7 points higher than the executor alone at the same effort, at the edge of run-to-run noise, for about 2.1 times the cost. Where the executor rarely or never consulted, the pairing scored within run-to-run noise of the executor alone, or lower. To turn it on, add the [advisor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool), a beta feature, to your request. On Claude Managed Agents, [give the session an advisor](https://platform.claude.com/docs/en/managed-agents/multiagent-orchestration#give-the-session-an-advisor). For Claude Code, see [escalating hard decisions with the advisor tool](https://code.claude.com/docs/en/advisor). @@ -659,7 +657,7 @@ Measure on your own workload: the numbers on this page reflect list prices at th 3. If the curve shows a gap effort can’t close, add the multi-model strategy that fits and re-run the suite. 4. Run the winner in shadow on a traffic slice before cutover, then keep the suite running. -**How to price a task.** Price each of the five token counts in a response’s `usage` at its own rate: uncached input, 5-minute and 1-hour cache writes at 1.25x and 2x the input price, cache reads, and output. Sum them across the task’s requests (the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) reports the aggregate). On Claude Haiku 5.5, use the rates for each request’s prompt length, counting cache reads and writes (see [Long context pricing](https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing)). When `usage.speed` is `"fast"`, use the [fast mode rates](https://platform.claude.com/docs/en/about-claude/pricing#fast-mode-pricing). +**How to price a task.** Price each of the five token counts in a response’s `usage` at its own rate: uncached input, 5-minute and 1-hour cache writes at 1.25x and 2x the input price, cache reads, and output. Sum them across the task’s requests (the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) reports the aggregate). On Claude Haiku 5.5, use the rates for each request’s prompt length, counting cache reads and writes (see [Long context pricing](https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing)). When `usage.speed` is `"fast"`, use the [fast mode rates](https://platform.claude.com/docs/en/about-claude/pricing#fast-mode-pricing). The following example computes one request’s cost at Claude Opus 5.5’s list prices. Change the three prices for another model: @@ -857,7 +855,7 @@ The following table lists the levers in the order to try them. The figures come | Lever | Saving | Quality cost | Latency | Where | | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Prompt caching | Cost cut by a factor of 2.7 to 5.5 on a research agent, and by 83% to 86% on a small triage agent | None | Faster | [Cache repeated context](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#cache-repeated-context) | +| Prompt caching | Cost cut by a factor of 4.8 to 7.2 on a research agent, and by 83% to 86% on a small triage agent | None | Faster | [Cache repeated context](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#cache-repeated-context) | | 1-hour cache duration | With 1 turn in 10 after a pause, the 5-minute default cost 54% more; with 1 in 20, about the same | None | On earlier models, stayed warm after a pause[16](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | [Pick the cache duration](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#pick-the-cache-duration) | | Input trimming | A further 21% to 26% off a small triage agent’s bill | With tool search, accuracy in the same range as without[27](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs) | Neutral | [Trim input and context tokens](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#trim-input-and-context-tokens) | | Tool search | 45% with 500 tool definitions attached; 20% from deferring a GitHub MCP server’s toolset | None for tools the task never needs | Neutral | [Trim input and context tokens](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#trim-input-and-context-tokens) | @@ -865,7 +863,7 @@ The following table lists the levers in the order to try them. The figures come | Batch API | 50% | None | Results within 24 hours | [Batch work that can wait](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#batch-work-that-can-wait) | | Prompt audit against the current model | 14% on both model upgrades tested | None; a gain on one | Faster (fewer tool rounds) | [Audit prompts against the current model](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#audit-prompts-against-the-current-model) | | Upgrade the model | Usually less: up to 40% less on typical workloads, and up to 87% less per solved task on a coding benchmark | None; a gain on most | Neutral | [Upgrade the model](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#upgrade-the-model) | -| Lower effort | On long coding tasks, `medium` cost about 30% to 52% less than `high`, and `low` about two thirds less | Up to 15 points lower, depending on the task; none on one research agent | Faster | [Tune effort](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#tune-effort) | +| Lower effort | On long coding tasks, `medium` cost about 30% to 52% less than `high`, and `low` about two thirds less | Up to 15 points lower, depending on the task; 2.5 on one research agent | Faster | [Tune effort](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#tune-effort) | | Re-run failures | About 40% less than running everything at `high`, at the same pass rate or slightly better | None | A second attempt on the tasks that fail | [Re-run failures at higher effort](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#re-run-failures-at-higher-effort) | | Ask for shorter answers | About 13% less, from 39% fewer output tokens | None | Faster | [Set budgets and output caps](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#set-budgets-and-output-caps) | | Raising `max_tokens` | None: cost per solved task stayed about the same | A gain: up to 22 points more tasks solved on one coding benchmark; none on another | Neutral | [Set budgets and output caps](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#set-budgets-and-output-caps) | @@ -931,7 +929,7 @@ Except where a reference says otherwise, measurements are Anthropic-internal run * **Upgrade the model, cost per solved task:** Claude Opus 5 costs 21% more per solved task than Claude Opus 4.8 when those Claude Opus 5 runs are compared with one Claude Opus 4.8 run at its shipped defaults from the August 17 to 19 series, counted over the same 478 problems; the chart’s SWE-bench Pro panel shows neither Claude Opus 4.7 nor Claude Opus 4.8. In the same measurements, priced as a customer is billed, Claude Opus 5 solves 12 more points of tasks than Claude Opus 4.8 at that 21% more per solved task, Claude Opus 4.8 solves the same share of tasks as Claude Opus 4.7 for 14% less per solved task, and Claude Opus 5 at `low` effort beats Claude Opus 4.8’s default on this benchmark for about 30% of its cost per solved task. * **Upgrade the model, prices:** Claude Sonnet 5’s saving over Claude Sonnet 4.6 in Upgrade the model comes from its lower per-token price, which more than offsets the extra tokens it uses per task. Claude Sonnet 5.5 charges the same as Claude Sonnet 5 for everything but cache reads, which cost half as much. Claude Opus 5.5’s token prices are lower than Claude Opus 5’s, most of all for cache reads. Like Claude Sonnet 5, the frontier tier gained through price: most of Claude Fable 5.1’s saving is the lower cache-read price. * **Cost without caching, priced from recorded token counts:** Anthropic re-priced the recorded token counts of the Claude Opus 5.5 and Claude Sonnet 5.5 runs, over the 478 problems, for the caching factors in [Why caching comes first](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#why-caching-comes-first). - * **The factors, by model:** Each factor is the token cost with every input token at the input price, output tokens unchanged, divided by the cost priced as a customer’s organization is metered: for Claude Opus 5.5, 3.3 at `medium`, 2.4 at `low`, 3.8 at `high`, and 5.4 at `xhigh` (one run); for Claude Sonnet 5.5, with cache reads at $0.10 USD per million tokens, 3.1 at `high` and 2.4 at `medium`, or 2.8 at `high` at the launch price of $0.20 USD. Unlike the caching chart’s runs, these incurred no web-search fees, and a task’s first request is priced as a cache write. + * **The factors, by model:** Each factor is the token cost with every input token at the input price, output tokens unchanged, divided by the cost priced as a customer’s organization is metered: for Claude Opus 5.5, 3.3 at `medium`, 2.4 at `low`, 3.8 at `high`, and 5.4 at `xhigh` (one run); for Claude Sonnet 5.5, with cache reads at $0.10 USD per million tokens, 3.1 at `high` and 2.4 at `medium`, or 2.8 at `high` at the launch price of $0.20 USD. A task’s first request is priced as a cache write. 4. **BrowseComp:** Wei et al., “BrowseComp: A Simple Yet Challenging Benchmark for Browsing Agents,” OpenAI, 2025. Effort figures use a 500-problem cut, one to three runs per setting, run August 3, 2026, with the default point pooling two runs from July 26 to 27, 2026. The measurement of routine work with a long cost tail in [Orchestrator strategy](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#orchestrator-strategy-delegate-bulk-work) uses 10 problems that the model reliably solved on its own when the protocol was fixed, from a 26-problem slice, 50 delegated runs (5 per problem; August 1 to 2, 2026) and 70 runs of the model alone (50 from August 2 to 3, 2026; 20 archived from July 12 to 13 and August 1, 2026), $6.45 USD compared with $11.99 USD per run in expectation; delegated figures carry a measurement band of about 20%. The 10 problems are those on which the delegated configuration, a Claude Fable 5 orchestrator with one Claude Sonnet 5 worker, was right in all 5 runs and Claude Fable 5 alone in both archived runs; the delegated runs are those same runs, and only Claude Fable 5 alone was run again on the ten. Over its 70 runs, archived and new, Claude Fable 5 alone was right in 68. On those problems the delegated configuration cost about half as much as Claude Fable 5 alone on average (the $6.45 USD and $11.99 USD given earlier) and about a third as much at the 90th percentile ($12 USD compared with $33 USD per run), and its most expensive run cost $42 USD compared with $84 USD; that $84 USD run was also wrong. On the full, harder BrowseComp set, Claude Fable 5 alone reached the accuracy of the orchestrator configuration measured on that set at 22% to 30% lower cost. @@ -941,14 +939,13 @@ Except where a reference says otherwise, measurements are Anthropic-internal run 7. **DeepResearch Bench II:** Li et al., “DeepResearch Bench II: Diagnosing Deep Research Agents via Rubrics from Expert Report,” arXiv:2601.08536, 2026. - * **What was measured:** Its 132 research tasks across 22 domains are graded against expert-derived binary rubrics. Measured on a 50-task subset stratified across all themes, one attempt per task, 3 runs per setting, on [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) with the platform’s own web search and fetch tools (August 26 to 27, 2026). - * **How scored:** Scored on the 33 tasks no configuration refused, with attempts the production safety classifiers cut short removed. Claude Opus 4.6 judges under the benchmark’s rubric protocol; the original uses a different judge, and an Anthropic judge may favor the house style. - * **Scores:** Scores are each model’s mean on the 33-task basis with its own pre-empted tasks removed; on the 21 of the 33 tasks where no configuration had an attempt cut short, Claude Fable 5.1 holds a 2-to-3-point lead over Claude Fable 5 at every effort level and both models are flat across effort. - * **How priced:** Costs are priced as a customer’s organization is metered: each request’s prior prompt as a cache read and its new tokens as a 5-minute cache write, a session’s first request keeping the cache read it got, from the runs’ own usage records, plus the platform’s web-search fees. Each cost per task is a 50-task run’s cost divided by 50, with the attempts that were cut short included, averaged over the three runs. - * **Results, Claude Fable 5:** Claude Fable 5 cost $2.30 USD per task at `low` and $4.71 USD at `high`, priced the same way; the percentages in [Upgrade the model](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#upgrade-the-model) come from unrounded costs. - * **Results, Claude Opus 5:** Claude Opus 5 at its default effort ran on the same surface and subset, three runs, on August 28, 2026: 68.8% on the raw 50 tasks, 70.8% on the 33-task basis, and 71.1% on the 21-task set, at $6.28 USD per task ($23.72 USD without caching); none of its attempts was cut short by the safety classifiers, under a safeguards deployment newer than the one the other models ran under. - * **Compare models:** The research comparison in [Compare models](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#compare-models-on-cost-per-task) rests on these figures: Claude Fable 5.1 at `low` scored 10 points above Claude Sonnet 5 on the 33-task basis (66% against 56%) at about four times the cost per task over all 50 tasks ($4.48 USD against $1.18 USD); Claude Opus 5 at its default, whose scores and cost are given earlier in this reference, scored above Claude Fable 5.1 at its default, which scored 65% on the 33-task basis and cost $6.89 USD per task over all 50 tasks, so on research, Claude Fable 5.1 earns its price only at `low`. - * **Caching chart:** The caching chart re-prices the same requests with every input token at the uncached rate. + * **What was measured:** Its 132 research tasks across 22 domains are graded against expert-derived binary rubrics. Measured October 22, 2026, on a 50-task subset drawn from all its themes, half in English and half in Chinese, one attempt per task, 3 runs per setting: Claude Sonnet 5.5 at `high`, Claude Opus 5.5 at `medium`, and Claude Fable 5.1 at `low`, `medium`, and `high`. Every setting ran on the Messages API with adaptive thinking and the production safety classifiers on. + * **Tools:** The agent used search and fetch tools that the evaluation harness hosts over an Anthropic web index with nothing dated after March 17, 2026, and had no shell. A search query over 120 characters was cut at the last whole word, and the agent was told so: 48% of searches on Claude Sonnet 5.5, and 26% to 31% in the other settings. About a quarter of fetches returned an error. Each task’s source article and the benchmark’s own paper and dataset were filtered out. + * **How scored:** Claude Opus 4.6 judges under the benchmark’s rubric protocol; the original uses a different judge, and an Anthropic judge may favor the house style. Scores are means over the 45 tasks that every setting answered and the judge fully graded. The other five: four biology tasks that the safety classifiers refused in every run of Claude Opus 5.5 and Claude Fable 5.1 and in none of Claude Sonnet 5.5’s, and one on which a safety check that Anthropic adds to its own evaluations stopped an attempt. + * **Scores:** On the 45 tasks, and on all 50, with a refused or stopped attempt counted as 0: Claude Sonnet 5.5, 56.9% and 57.0%; Claude Opus 5.5, 59.5% and 54.3%; Claude Fable 5.1, 60.5% and 55.1% at `low`, 60.5% and 54.9% at `medium`, and 63.0% and 57.4% at `high`. Task-by-task differences on the 45 tasks, taken before rounding, with 95% intervals: Claude Fable 5.1 at `high` over `low`, 2.5 points (1.3 to 3.6); Claude Opus 5.5 over Claude Sonnet 5.5, 2.6 (0.7 to 4.5); Claude Fable 5.1 at `high` over Claude Opus 5.5, 3.4 (2.0 to 4.9), and over Claude Sonnet 5.5, 6.0 (4.4 to 7.7); Claude Fable 5.1 at `medium` over `low`, 0.0 (-1.3 to 1.2). On all 50 tasks: Claude Opus 5.5 over Claude Sonnet 5.5, -2.7 (-8.3 to 2.9); Claude Fable 5.1 at `high` over Claude Sonnet 5.5, 0.4 (-5.3 to 6.2). + * **How priced:** Each cost per task is the model’s own tokens at list prices, from the attempts’ usage records, over all 50 tasks and every attempt, averaged over the three runs: $1.05 USD on Claude Sonnet 5.5, $1.52 USD on Claude Opus 5.5, and $3.47 USD, $4.44 USD, and $5.64 USD on Claude Fable 5.1. A refused attempt costs about a cent. On the 45 tasks alone the costs are $1.06 USD, $1.63 USD, $3.75 USD, $4.81 USD, and $6.10 USD. The cost ratios in [Compare models](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#compare-models-on-cost-per-task), 1.5 and 5.8, are on those 45 tasks, like the scores beside them; over all 50 tasks they are 1.4 and 5.4. Costs cover model tokens only; the harness’s tools add no charges. The agent made 17 to 28 searches per task, refused attempts counted. + * **Caching chart:** The caching chart re-prices the same requests with every input token at the uncached rate. The evaluation harness set the cache breakpoints. + * **Comparability:** These scores are not comparable with the benchmark’s leaderboard. 8. **Corpus defect sweep:** Anthropic-internal, for work larger than one context window: a 21.6-million-token corpus from 14 public Python package sources with 130 planted defects and deterministic grading; protocol fixed before the runs and internally reviewed; three runs per configuration. Every configuration ran on Claude Managed Agents. The charted team configuration is one in which the Claude Fable 5.1 orchestrator ran the whole sweep inside the platform at its documented limit of 25 concurrent Claude Sonnet 5 workers, run August 30, 2026; its three runs scored F1 0.764, 0.825, and 0.791 after the extras audit (raw 0.751, 0.821, and 0.781) for $225 USD, $234 USD, and $283 USD. The team configuration cost about half as much as Claude Fable 5.1 alone at `low`, `medium`, or `high` (47% to 55% less), scored 10 to 12 points below it, and took about 2.3 hours per run, compared with 15 to 20 hours. The team configuration read about 560 million cached tokens per run, nearly all of them at Claude Sonnet 5’s cache-read rate. That is about one and a half times the roughly 365 million that Claude Fable 5.1 read alone. Claude Fable 5.1 alone at `high` effort still holds peak accuracy, at about 2.2 times the team configuration’s cost, so delegation here buys most of the accuracy, not all of it. The configuration with Claude Sonnet 5 alone ran August 3 to 4, 2026; the configurations with Claude Fable 5.1 alone ran August 24 to 25, 2026, under the platform’s launch serving settings, three seeds per effort setting, on the same corpus build. The sandbox image carried installed copies of part of the corpus, and Claude Fable 5.1’s final assembly step compared against them in 7 of 9 runs; re-grading without those additions moved the affected seeds by up to 3 points. Absolute F1 is specific to this corpus build, not comparable across benchmarks; configuration comparisons are like for like. @@ -1033,7 +1030,7 @@ Except where a reference says otherwise, measurements are Anthropic-internal run * **October 2026 test, one change to a long conversation:** Measured October 20, 2026, on Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, on the Messages API with no tools, adaptive thinking, each model’s default effort, the 5-minute cache, a cache breakpoint on the system prompt, and [automatic caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#automatic-caching). The conversation held about 101,000 tokens: a 20,000-token system prompt, 13 user turns of filler text, the model’s own reply to the first turn with its thinking block, and one-word replies to the rest. Once one request had cached the conversation, a second added one short turn, and each measured request sent that longer conversation with one change. Two conversations per model gave the same result. * **October 2026 test, tokens read and written:** With no change, and with a per-message effort change, the request read all 101,000 tokens and wrote none. With a 25-token mid-conversation system message, or a 25-token status line at the end of the newest user turn, it read them all and wrote only the new text. A top-level effort change (to `low` on Claude Fable 5.1 and Claude Sonnet 5.5, to `high` on Claude Opus 5.5 and Claude Haiku 5.5) read the 20,000-token system prompt and wrote 81,000 tokens. The same 25 tokens at the front or the end of the system prompt read nothing and wrote all 101,000. The request after a mid-conversation system message, a top-level effort change, or 25 tokens added to the end of the system prompt read the new prefix; a new status line at the front wrote everything again. A further test on October 21, 2026, on the same four models with conversations of 5,000 tokens, and on all but Claude Fable 5.1 with conversations of 100,000 tokens, all with one-word replies, sent a beta header for the first time mid-conversation, as a first per-message effort change may: that request read everything the request before it had cached, all 54 times. A system message sent with no beta header did the same, all 15 times. - * **October 2026 test, how priced:** The chart gives the prompt side of one request, from its `usage` fields at list prices. The chart’s values, in the order system prompt edit, system message, top-level effort change, and per-message effort change: Claude Fable 5.1 $1.26 USD, $0.026 USD, $1.02 USD, and $0.025 USD; Claude Opus 5.5 $0.50 USD, $0.020 USD, $0.41 USD, and $0.020 USD; Claude Sonnet 5.5 $0.25 USD, $0.010 USD, $0.20 USD, and $0.010 USD. The unchanged request repeated an earlier request byte for byte; a new turn of about 25 tokens adds under $0.001 USD. On Claude Haiku 5.5, whose requests were over 100,000 prompt tokens and so at its [long context prices](https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing): $0.063 USD for the system prompt edit, $0.052 USD for the effort change, and $0.005 USD for the read. The requests ran on an Anthropic-internal organization whose usage is metered the same way as a customer organization’s, and on which the API does not enforce the [prefix check](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check) by default, so its system prompt edits were accepted. On accounts created on or after August 31, 2026, 00:00 UTC, a request to one of these four models that sends earlier thinking blocks back gets a 400 error by default if it changes `system`, `tools`, or a message before one of them. + * **October 2026 test, how priced:** The chart gives the prompt side of one request, from its `usage` fields at list prices. The chart’s values, in the order system prompt edit, system message, top-level effort change, and per-message effort change: Claude Fable 5.1 $1.26 USD, $0.026 USD, $1.02 USD, and $0.025 USD; Claude Opus 5.5 $0.50 USD, $0.020 USD, $0.41 USD, and $0.020 USD; Claude Sonnet 5.5 $0.25 USD, $0.010 USD, $0.20 USD, and $0.010 USD. The unchanged request repeated an earlier request byte for byte; a new turn of about 25 tokens adds under $0.001 USD. On Claude Haiku 5.5, whose requests were over 100,000 prompt tokens and so at its [long context prices](https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing): $0.063 USD for the system prompt edit, $0.052 USD for the effort change, and $0.005 USD for the read. The requests ran on an Anthropic-internal organization whose usage is metered the same way as a customer organization’s. For that organization, the API lets failing thinking blocks through when a request leaves `prefix_mismatch_behavior` unset, so the system prompt edits in these tests were accepted. On an account created on or after August 31, 2026, 00:00 UTC, the same edit gets a 400 error on all four models, because each request sends an earlier thinking block back. * **What was measured:** The triage agent’s long variant from [Trim input and context tokens](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#trim-input-and-context-tokens), run August 24, 2026, on Claude Sonnet 5 with the 5-minute cache, cost from the usage fields at list prices, five sessions per arm: a no-change arm at the default effort throughout ($0.81 USD per session), and two arms that start at low effort and make the same two cache-breaking changes, a switch to the default effort and one added tool, either mid-session at requests 12 and 17 ($0.95 USD) or together on the first request after the first compaction ($0.75 USD). * **Fourth arm:** A fourth arm of six sessions, run August 25, 2026, made the same two changes on the request that triggered the first compaction ($0.92 USD per session): that request’s summarization pass wrote the 81,000-token context to the cache instead of reading it, so that pass cost $0.21 USD against $0.04 USD for the same pass in the boundary arm. * **Compaction:** Sessions first compacted at request 21 to 25 (16 of the 21 sessions at request 22), once the prompt passed the 80,000-token compaction trigger, and two no-change sessions compacted a second time near the end. The boundary arm’s lower total than the no-change arm reflects its low-effort requests before the change and those second compactions rather than caching: the two arms’ re-write costs differ by under $0.01 USD. diff --git a/content/en/agents-and-tools/tool-use/advisor-tool.md b/content/en/agents-and-tools/tool-use/advisor-tool.md index 3d19bda71c..6bd82a8379 100644 --- a/content/en/agents-and-tools/tool-use/advisor-tool.md +++ b/content/en/agents-and-tools/tool-use/advisor-tool.md @@ -291,7 +291,7 @@ The advisor is a weaker fit for single-turn Q\&A (nothing to plan), pure pass-th ``` -The response `content` includes an `advisor_tool_result` block carrying the advisor’s guidance. With `claude-opus-5-5` as the advisor, as in this quick start, the block’s `content` field is an `advisor_redacted_result` variant (encrypted; the executor reads it server-side, but your client does not). To see the advice text directly in your response, use `claude-opus-4-8` as the advisor model instead, which returns the plaintext `advisor_result` variant. See [Result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants) for both shapes side by side and which advisor models return which, and [Model compatibility](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#model-compatibility) for the full list of valid pairs. +The response `content` includes an `advisor_tool_result` block carrying the advisor’s guidance. With the newest Opus model as the advisor, as in this quick start, the block’s `content` field is an `advisor_redacted_result` variant (encrypted; the executor reads it server-side, but your client does not). To see the advice text directly in your response, use `claude-opus-4-8` as the advisor model instead, which returns the plaintext `advisor_result` variant. See [Result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants) for both shapes side by side and which advisor models return which, and [Model compatibility](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#model-compatibility) for the full list of valid pairs. ## How it works @@ -325,7 +325,7 @@ The advisor tool also accepts the generic properties available on any tool defin ### Successful advisor call -When the advisor is called, a `server_tool_use` block is followed by an `advisor_tool_result` block in the assistant’s content. The following example shows the plaintext `advisor_result` variant returned by a Claude Opus 4.8 advisor. The [Quick start](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#quick-start) uses Claude Opus 5.5, which returns the encrypted `advisor_redacted_result` variant instead; see [Result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants) for both shapes side by side. +When the advisor is called, a `server_tool_use` block is followed by an `advisor_tool_result` block in the assistant’s content. The following example shows the plaintext `advisor_result` variant returned by a Claude Opus 4.8 advisor. The [Quick start](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#quick-start) uses the newest Opus model, which returns the encrypted `advisor_redacted_result` variant instead; see [Result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants) for both shapes side by side. ```json { @@ -437,7 +437,7 @@ Advisor rate limits draw from the same per-model bucket as direct calls to the a ## Multi-turn conversations -Pass the full assistant content, including `advisor_tool_result` blocks, back to the API on subsequent turns. Round-trip the result blocks verbatim: with a Claude Opus 5.5 advisor the result block’s `content` is the encrypted `advisor_redacted_result` variant, and the server decrypts it and renders the advice into the executor’s prompt on the next turn (see [Result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants)). The mechanics are identical for any advisor model. +Pass the full assistant content, including `advisor_tool_result` blocks, back to the API on subsequent turns. Round-trip the result blocks verbatim: with the newest Opus model as the advisor, as in this example, the result block’s `content` is the encrypted `advisor_redacted_result` variant, and the server decrypts it and renders the advice into the executor’s prompt on the next turn (see [Result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants)). The mechanics are identical for any advisor model. ```python Python diff --git a/content/en/agents-and-tools/tool-use/computer-use-tool.md b/content/en/agents-and-tools/tool-use/computer-use-tool.md index 37bd296ebc..561504fa59 100644 --- a/content/en/agents-and-tools/tool-use/computer-use-tool.md +++ b/content/en/agents-and-tools/tool-use/computer-use-tool.md @@ -1827,13 +1827,13 @@ When you choose a display resolution and return screenshots: ### Manage screenshot history -Long agent loops accumulate screenshots quickly (roughly 1,000–1,800 input tokens each). The API’s [request limits](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits) also apply. Once a single request carries more than 20 images, every image in it is held to a stricter per-side limit. A loop that keeps its screenshot history reaches that count within a few dozen turns, so either resize each screenshot so that neither side exceeds 2000 px or prune older screenshots to keep 20 or fewer in the request. +Long agent loops accumulate screenshots quickly (roughly 1,000–1,800 input tokens each). The API’s [request limits](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits) also apply. Once a single request carries more than 20 images, every image in it is held to a stricter per-side limit. A loop that keeps its screenshot history reaches that count within a few dozen turns, so either resize each screenshot to stay under that limit or prune older screenshots to keep 20 or fewer in the request. To keep [Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) effective while bounding context: * Place one `cache_control` breakpoint after the system prompt and tool definitions, and up to three more on the last `tool_result` block of each of the most recent turns, advancing them each turn. Within a [batch action](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#batch-actions), markers on several blocks act as a single breakpoint, but each still counts toward the limit of four, so use at most one in any turn. -* Prune old screenshots in *batches*, not one each turn. Dropping a screenshot every turn changes the prefix every turn and invalidates the cache. A reasonable default is to keep the last three screenshots and prune every 25 turns, so the prefix stays byte-identical between prune events; if your screenshots exceed 2000 px on either side, choose an interval that keeps each request at 20 or fewer images. -* On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, avoid pruning on the client: removing an earlier screenshot [invalidates every later thinking block](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation) in every request that still carries those turns. Resize screenshots to 2000 px or less per side instead, and use server-side [tool result clearing](https://platform.claude.com/docs/en/build-with-claude/context-editing#tool-result-clearing) to drop old ones from the context. If you must prune, keep [`prefix_mismatch_behavior: "drop_block"`](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking-controls) set from then on; after each prune, Claude continues without the thinking produced since the pruned screenshot, on that request and every later one. On Claude Sonnet 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With `between_tools`, keep the history append-only, or strip the thinking blocks from the edited turn on. On Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`; with `thinking: {"type": "disabled"}`, keep the history append-only, or strip the thinking blocks from the edited turn on. +* Prune old screenshots in *batches*, not one each turn. Dropping a screenshot every turn changes the prefix every turn and invalidates the cache. A reasonable default is to keep the last three screenshots and prune every 25 turns, so the prefix stays byte-identical between prune events; if your screenshots exceed the stricter limit, choose an interval that keeps each request at 20 or fewer images. +* On Claude 5.1 and later models, avoid pruning on the client: removing an earlier screenshot from a request [invalidates every later thinking block](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation) in that request and in every later request. Resize screenshots to stay under the stricter limit instead and use server-side [tool result clearing](https://platform.claude.com/docs/en/build-with-claude/context-editing#tool-result-clearing) to drop old ones from the context. If you must prune, keep [`prefix_mismatch_behavior: "drop_block"`](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking-controls) set from then on; after each prune, Claude continues without the thinking produced since the pruned screenshot, on that request and every later one. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With any other thinking setting on those models, keep the history append-only or strip every `thinking` and `redacted_thinking` block after the pruned screenshot. ### Diagnose click issues diff --git a/content/en/api/beta.md b/content/en/api/beta.md index d75d5b8e44..5b492b5101 100644 --- a/content/en/api/beta.md +++ b/content/en/api/beta.md @@ -9,7 +9,7 @@ url: https://platform.claude.com/docs/en/api/beta ### Anthropic Beta -- `AnthropicBeta = string or "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 49 more` +- `AnthropicBeta = string or "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 51 more` - `string` @@ -117,6 +117,10 @@ url: https://platform.claude.com/docs/en/api/beta - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Beta API Error - `BetaAPIError object` @@ -597,6 +601,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -935,7 +943,7 @@ curl https://api.anthropic.com/v1/models \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1080,6 +1088,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1404,7 +1416,7 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1542,6 +1554,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -5479,6 +5495,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `BetaThinkingConfigAdaptive object` +- `thread: optional BetaMessageThreadParam or null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice: optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -10119,6 +10155,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -14247,6 +14287,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -18204,6 +18248,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `BetaThinkingConfigAdaptive object` + - `thread: optional BetaMessageThreadParam or null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice: optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -18699,6 +18763,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18991,6 +19059,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19292,6 +19364,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19575,6 +19651,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19750,6 +19830,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23888,6 +23972,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -25906,6 +25994,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26958,6 +27050,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27993,6 +28089,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29986,6 +30086,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31036,6 +31140,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32076,6 +32184,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32555,6 +32667,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32890,6 +33006,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33216,6 +33336,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33664,6 +33788,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33833,6 +33961,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34166,6 +34298,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34432,6 +34568,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID": optional string` Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -34684,6 +34824,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaSelfHostedWork object` @@ -34943,6 +35087,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaSelfHostedWorkHeartbeatResponse object` @@ -35135,6 +35283,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35409,6 +35561,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaSelfHostedWorkListResponse object` @@ -35666,6 +35822,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35928,6 +36088,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -36113,6 +36277,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -38821,6 +38989,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -40320,6 +40492,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -41805,6 +41981,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43876,6 +44056,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -44039,6 +44223,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -45655,6 +45843,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -48760,6 +48952,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -49757,6 +49953,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52894,6 +53094,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53108,6 +53312,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53395,6 +53603,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53661,6 +53873,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53939,6 +54155,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -54130,6 +54350,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -55215,6 +55439,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56291,6 +56519,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -57378,6 +57610,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -60495,6 +60731,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -63628,6 +63868,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -64822,6 +65066,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -65563,6 +65811,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66295,6 +66547,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67437,6 +67693,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68170,6 +68430,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68565,6 +68829,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69298,6 +69566,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70083,6 +70355,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70486,6 +70762,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70876,6 +71156,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71104,6 +71388,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71312,6 +71600,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71511,6 +71803,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71729,6 +72025,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71896,6 +72196,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72098,6 +72402,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72626,6 +72934,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72961,6 +73273,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73287,6 +73603,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73762,6 +74082,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73933,6 +74257,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74260,6 +74588,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74533,6 +74865,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74795,6 +75131,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75014,6 +75354,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75228,6 +75572,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75466,6 +75814,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75635,6 +75987,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75866,6 +76222,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76155,6 +76515,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76426,6 +76790,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76672,6 +77040,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76938,6 +77310,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77185,6 +77561,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77517,6 +77897,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77830,6 +78214,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78136,6 +78524,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78395,6 +78787,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78633,6 +79029,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78777,6 +79177,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79004,6 +79408,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79170,6 +79578,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79435,6 +79847,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79680,6 +80096,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79912,6 +80332,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80088,6 +80512,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80313,6 +80741,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80533,6 +80965,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80685,6 +81121,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80892,6 +81332,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81059,6 +81503,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81500,6 +81948,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81808,6 +82260,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82109,6 +82565,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82512,6 +82972,10 @@ Delete User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82679,6 +83143,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82857,6 +83325,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83050,6 +83522,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83639,6 +84115,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84061,6 +84541,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84478,6 +84962,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84896,6 +85384,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85308,6 +85800,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85510,6 +86006,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85712,6 +86212,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85913,6 +86417,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86106,6 +86614,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86280,6 +86792,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86465,6 +86981,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86680,6 +87200,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86895,6 +87419,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -87107,6 +87635,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88839,6 +89371,10 @@ matched as the JWT's `iss` claim and is not fetched. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `issuer_url: string` @@ -89241,6 +89777,10 @@ Archived issuers are excluded unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationIssuer` @@ -89554,6 +90094,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationIssuer object` @@ -89870,6 +90414,10 @@ session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `check_jti: optional boolean or null` @@ -90264,6 +90812,10 @@ issuer cannot be changed), or recreate them against another issuer. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationIssuer object` @@ -90584,6 +91136,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `issuer_id: string` @@ -91011,6 +91567,10 @@ unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationRule` @@ -91324,6 +91884,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationRule object` @@ -91655,6 +92219,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `applies_to_all_workspaces: optional boolean or null` @@ -92058,6 +92626,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationRule object` @@ -92385,6 +92957,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_id: string` @@ -92596,6 +93172,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationRuleWorkspace` @@ -92797,6 +93377,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "federation_rule_workspace_deleted"` @@ -93470,6 +94054,10 @@ accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `name: string` @@ -93733,6 +94321,10 @@ archived service accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccount` @@ -93958,6 +94550,10 @@ Retrieve a service account by its ID (`svac_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaServiceAccount object` @@ -94184,6 +94780,10 @@ interactive credential (a user OAuth token or a Console session). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `description: optional string or null` @@ -94428,6 +95028,10 @@ those rules first or change their target to another service account. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaServiceAccount object` @@ -94659,6 +95263,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_id: string` @@ -94899,6 +95507,10 @@ page to recover. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -95111,6 +95723,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "service_account_workspace_member_deleted"` @@ -95859,6 +96475,10 @@ Create Workspace - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `name: string` @@ -97665,6 +98285,10 @@ omitted from the results. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -97874,6 +98498,10 @@ accounts cannot be added and are rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `service_account_id: string` @@ -98099,6 +98727,10 @@ account returns 404. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaServiceAccountWorkspaceMember object` @@ -98301,6 +98933,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_role: BetaNoBillingWorkspaceRole` @@ -98520,6 +99156,10 @@ membership. Archived workspaces return 400. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "service_account_workspace_member_deleted"` @@ -98923,7 +99563,9 @@ curl https://api.anthropic.com/v1/organizations/compliance_settings \ **GET** `/v1/organizations/usage_report/messages` -Get Messages Usage Report +[Legacy] Get a report of your organization's Messages API usage, aggregated into time buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). #### Query parameters @@ -99021,7 +99663,7 @@ Get Messages Usage Report Restrict usage returned to the specified service account ID(s). -- `service_tiers: optional array of "batch" or "flex" or "flex_discount" or 3 more` +- `service_tiers: optional array of BetaAnalyticsServiceTier` Restrict usage returned to the specified service tier(s). @@ -99167,6 +99809,10 @@ Get Messages Usage Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaMessagesUsageReport object` @@ -99252,7 +99898,7 @@ Get Messages Usage Report ID of the service account that made the request. `null` if not grouping by service account or for non-OIDC-federation requests. - - `service_tier: "batch" or "flex" or "flex_discount" or 3 more or null` + - `service_tier: BetaAnalyticsServiceTier or null` Service tier used. `null` if not grouping by service tier. @@ -99625,7 +100271,9 @@ curl https://api.anthropic.com/v1/organizations/usage_report/claude_code \ **GET** `/v1/organizations/cost_report` -Get Cost Report +[Legacy] Get a report of your organization's Claude API costs in USD, aggregated into daily buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). #### Query parameters @@ -99784,6 +100432,10 @@ Get Cost Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaCostReport object` @@ -100094,6 +100746,10 @@ archived tunnels are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaOrganizationTunnel` @@ -100302,6 +100958,10 @@ Retrieve a single tunnel in the caller's organization by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnel object` @@ -100506,6 +101166,10 @@ tunnel returns the existing record unchanged. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnel object` @@ -100711,190 +101375,198 @@ access logs. - `"webhooks-2026-10-07"` -#### Returns - -- `BetaOrganizationTunnelToken object` - - - `type: "tunnel_token"` - - Object type. Always `tunnel_token` for Tunnel Tokens. - - default: tunnel_token - - - `id: string` - - Stable identifier for the current token value. Changes when the token is - rotated. - - - `tunnel_token: string` - - The tunnel's connection token. - -#### Example - -```bash -curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/reveal_token \ - -X POST \ - -H 'anthropic-version: 2026-10-21' \ - -H 'anthropic-beta: mcp-tunnels-2026-05-19' \ - -H "Authorization: Bearer $ANTHROPIC_API_KEY" -``` - -##### Response (200) - -```json -{ - "id": "ttkn_bb97000eaec162831399ca9b6684a4fdf5be49ace5683057b017aab5c87e19e0", - "tunnel_token": "eyJhIjoiRVhBTVBMRSIsInQiOiJFWEFNUExFIiwicyI6IkVYQU1QTEUifQ==", - "type": "tunnel_token" -} -``` - -### Rotate Tunnel Token - -**POST** `/v1/organizations/tunnels/{tunnel_id}/rotate_token` - -**Deprecated** - -**Deprecated.** This Admin API endpoint is superseded by `/v1/tunnels` on the Claude API and will be removed after a migration window. New integrations should use [`/v1/tunnels`](https://platform.claude.com/docs/en/api/beta/tunnels?sdk_languages=http) with the `anthropic-beta: mcp-tunnels-2026-06-22` header and a WIF token carrying the `workspace:manage_tunnels` scope. Existing integrations continue to work with the `mcp-tunnels-2026-05-19` header and `org:manage_tunnels` scope during the migration window. - -Invalidate the tunnel's current token for new connections and return a fresh value. - -Established connections are not severed by rotation; a connector -restarted after rotation must use the new value. An optional -`reason` is captured for operational context. - -#### Path parameters + - `"message-threads-2026-08-12"` -- `tunnel_id: string` - - ID of the Tunnel. - -#### Headers - -- `"anthropic-version": optional string` - - The version of the Claude API you want to use. - - Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). - -- `"anthropic-beta": array of AnthropicBeta` - - This endpoint is in beta: requests must send `mcp-tunnels-2026-05-19` in this header. - - - `string` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` - -#### Body parameters - -- `reason: optional string or null` - - Optional free-text reason for the rotation, recorded for audit. - - maxLength: 1024 + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `BetaOrganizationTunnelToken object` + + - `type: "tunnel_token"` + + Object type. Always `tunnel_token` for Tunnel Tokens. + + default: tunnel_token + + - `id: string` + + Stable identifier for the current token value. Changes when the token is + rotated. + + - `tunnel_token: string` + + The tunnel's connection token. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/reveal_token \ + -X POST \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: mcp-tunnels-2026-05-19' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "id": "ttkn_bb97000eaec162831399ca9b6684a4fdf5be49ace5683057b017aab5c87e19e0", + "tunnel_token": "eyJhIjoiRVhBTVBMRSIsInQiOiJFWEFNUExFIiwicyI6IkVYQU1QTEUifQ==", + "type": "tunnel_token" +} +``` + +### Rotate Tunnel Token + +**POST** `/v1/organizations/tunnels/{tunnel_id}/rotate_token` + +**Deprecated** + +**Deprecated.** This Admin API endpoint is superseded by `/v1/tunnels` on the Claude API and will be removed after a migration window. New integrations should use [`/v1/tunnels`](https://platform.claude.com/docs/en/api/beta/tunnels?sdk_languages=http) with the `anthropic-beta: mcp-tunnels-2026-06-22` header and a WIF token carrying the `workspace:manage_tunnels` scope. Existing integrations continue to work with the `mcp-tunnels-2026-05-19` header and `org:manage_tunnels` scope during the migration window. + +Invalidate the tunnel's current token for new connections and return a fresh value. + +Established connections are not severed by rotation; a connector +restarted after rotation must use the new value. An optional +`reason` is captured for operational context. + +#### Path parameters + +- `tunnel_id: string` + + ID of the Tunnel. + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": array of AnthropicBeta` + + This endpoint is in beta: requests must send `mcp-tunnels-2026-05-19` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Body parameters + +- `reason: optional string or null` + + Optional free-text reason for the rotation, recorded for audit. + + maxLength: 1024 #### Returns @@ -101076,6 +101748,10 @@ holds at most two non-archived certificates. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `ca_certificate_pem: string` @@ -101310,6 +101986,10 @@ Archived certificates are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaOrganizationTunnelCertificate` @@ -101522,6 +102202,10 @@ Retrieve a single certificate registered on a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnelCertificate object` @@ -101729,6 +102413,10 @@ certificate is added. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnelCertificate object` @@ -103816,18 +104504,21 @@ curl https://api.anthropic.com/v1/organizations/analytics/artifacts \ } ``` -## Beta › Organization › Analytics › Usage Report +## Beta › Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Query parameters @@ -103837,21 +104528,41 @@ key with the `read:analytics` scope. format: date-time -- `bucket_width: optional "1d" or "1h" or "1m"` +- `actor_ids: optional array of string` - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: optional array of BetaAnalyticsActorType` - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -103881,24 +104592,54 @@ key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: optional string` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` +- `environment_ids: optional array of string` - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsUsageGroupBy` + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. maxItems: 100 + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` - `"context_window"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -103907,10 +104648,18 @@ key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` + - `"user_profile_id"` + + - `"workspace_id"` + - `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -103925,9 +104674,9 @@ key with the `read:analytics` scope. - `limit: optional number` - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + default: 20, minimum: 1, maximum: 1000 - `models: optional array of string` @@ -103935,13 +104684,35 @@ key with the `read:analytics` scope. maxItems: 100 +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsUsageOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` + - `page: optional string` Opaque cursor from a previous response's `next_page` field. -- `products: optional array of BetaAnalyticsProductFilter` +- `products: optional array of BetaAnalyticsUsageCostProductFilter` - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 @@ -103949,16 +104720,24 @@ key with the `read:analytics` scope. - `"chat_cowork_unified"` - - `"claude-tag"` - - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids: optional array of string` @@ -103967,13 +104746,37 @@ key with the `read:analytics` scope. maxItems: 100 +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids: optional array of string` Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 -- `speeds: optional array of "fast" or "standard"` +- `speeds: optional array of BetaAnalyticsSpeed` Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -103983,9 +104786,25 @@ key with the `read:analytics` scope. - `"standard"` -- `user_ids: optional array of string` +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. maxItems: 100 @@ -103997,45 +104816,1467 @@ key with the `read:analytics` scope. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns -- `data: array of BetaAnalyticsUsageReportTimeBucket` +- `data: array of BetaAnalyticsUsageItem` - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. - `ending_at: string` - End of the time bucket (exclusive) in RFC 3339 format. + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `results: array of BetaAnalyticsUsageBucketedResult` + - `group: BetaAnalyticsUsageGroup` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + The dimension values this row's usage is broken out by. - - `cache_creation: BetaCacheCreation` + - `actor: BetaAnalyticsActor or null` - The number of input tokens for cache creation. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `ephemeral_1h_input_tokens: number` + - `BetaAnalyticsReportUserActor object` - The number of input tokens used to create the 1 hour cache entry. + - `type: "user_actor"` - default: 0, minimum: 0 + Actor type. Always `"user_actor"`. - - `ephemeral_5m_input_tokens: number` + - `deleted: boolean` - The number of input tokens used to create the 5 minute cache entry. + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - default: 0, minimum: 0 + - `email_address: string or null` - - `cache_read_input_tokens: number` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - The number of input tokens read from the cache. + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType or null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string or null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string or null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string or null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow or null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `deployment_id: string or null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string or null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `output_tokens: number` + + The number of output tokens generated. + + - `requests: number or null` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. + + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/usage \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Query parameters + +- `starting_at: string` + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `actor_ids: optional array of string` + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + +- `actor_types: optional array of BetaAnalyticsActorType` + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: optional array of string` + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: optional array of BetaAnalyticsContextWindow` + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `ending_at: optional string` + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `environment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsCostGroupBy` + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"cost_type"` + + - `"deployment_id"` + + - `"environment_id"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"service_tier"` + + - `"session_id"` + + - `"slack_channel_id"` + + - `"speed"` + + - `"token_type"` + + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: optional number` + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + default: 20, minimum: 1, maximum: 1000 + +- `models: optional array of string` + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsCostOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `"amount"` + + - `"list_amount"` + + - `"time"` + +- `page: optional string` + + Opaque cursor from a previous response's `next_page` field. + +- `products: optional array of BetaAnalyticsUsageCostProductFilter` + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude_code"` + + - `"claude_console"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"claude_tag"` + + - `"cowork"` + + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + + - `"office_agent"` + +- `rbac_group_ids: optional array of string` + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `slack_channel_ids: optional array of string` + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: optional array of BetaAnalyticsSpeed` + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `data: array of BetaAnalyticsCostItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `cost: BetaAnalyticsCostMetrics` + + Cost for this row. + + - `amount: string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. + + - `requests: number or null` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType or null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string or null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string or null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string or null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow or null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `cost_type: BetaAnalyticsGroupedCostType or null` + + Cost component breakdown; null when returning the combined total. + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + + - `deployment_id: string or null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string or null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `token_type: BetaAnalyticsTokenType or null` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/cost \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). + +#### Query parameters + +- `starting_at: string` + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `bucket_width: optional "1d" or "1h" or "1m"` + + Time bucket granularity. + + default: 1d + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: optional array of string` + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: optional array of BetaAnalyticsContextWindow` + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `ending_at: optional string` + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"slack_channel_id"` + + - `"speed"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: optional number` + + Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + + minimum: 1 + +- `models: optional array of string` + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `page: optional string` + + Opaque cursor from a previous response's `next_page` field. + +- `products: optional array of BetaAnalyticsProductFilter` + + Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude-tag"` + + - `"claude_code"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"cowork"` + + - `"office_agent"` + +- `rbac_group_ids: optional array of string` + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `slack_channel_ids: optional array of string` + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: optional array of "fast" or "standard"` + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `user_ids: optional array of string` + + Filter to specific users by tagged user ID. + + maxItems: 100 + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +#### Returns + +- `data: array of BetaAnalyticsUsageReportTimeBucket` + + Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + + - `ending_at: string` + + End of the time bucket (exclusive) in RFC 3339 format. + + format: date-time + + - `results: array of BetaAnalyticsUsageBucketedResult` + + Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. - `"dm"` @@ -104190,15 +106431,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/usage_report \ **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -104617,12 +106854,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. + +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -104986,15 +107222,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/cost_report \ **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -105533,6 +107765,10 @@ Anthropic account team. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `amount: string or null` @@ -106140,6 +108376,10 @@ come in a fixed order that is not creation order. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaSpendLimit` @@ -109120,410 +111360,418 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` -#### Body parameters (form-data) - -- `files: array of file` - - The version's files: one part per file, the part's filename being the file's path within the Plugin (for example `skills/review-pr/SKILL.md`), or a single `.zip` or `.plugin` archive holding them all. On the wire each part is named `files[]`, and a part named plain `files` is not read; with cURL, `-F 'files[]=@SKILL.md;filename=skills/review-pr/SKILL.md'`. The files must include the manifest, `.claude-plugin/plugin.json`. - -- `marketplace_id: optional string` - - ID of the organization-owned plugin marketplace to create the Plugin in (prefixed `marketplace_`). It must be a `manual` marketplace, one whose Plugins are uploaded rather than synchronized from a repository. When omitted, the Plugin is created in the organization's library marketplace, an organization-owned `manual` marketplace created on first use. - -- `release_notes: optional string` - - Release notes stored with the version and shown in its version history in claude.ai; up to 5,000 characters. + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Body parameters (form-data) + +- `files: array of file` + + The version's files: one part per file, the part's filename being the file's path within the Plugin (for example `skills/review-pr/SKILL.md`), or a single `.zip` or `.plugin` archive holding them all. On the wire each part is named `files[]`, and a part named plain `files` is not read; with cURL, `-F 'files[]=@SKILL.md;filename=skills/review-pr/SKILL.md'`. The files must include the manifest, `.claude-plugin/plugin.json`. + +- `marketplace_id: optional string` + + ID of the organization-owned plugin marketplace to create the Plugin in (prefixed `marketplace_`). It must be a `manual` marketplace, one whose Plugins are uploaded rather than synchronized from a repository. When omitted, the Plugin is created in the organization's library marketplace, an organization-owned `manual` marketplace created on first use. + +- `release_notes: optional string` + + Release notes stored with the version and shown in its version history in claude.ai; up to 5,000 characters. + + maxLength: 5000 + +#### Returns + +- `BetaPlugin object` + + - `type: "plugin"` + + Always `plugin`. + + default: plugin + + - `id: string` + + The Plugin's ID. + + - `components: array of BetaPluginComponent or null` + + What the served version contains; null when not enumerated. + + - `type: "agent" or "cli" or "command" or 3 more` + + The kind of component. + + - `"agent"` + + - `"cli"` + + - `"command"` + + - `"hook"` + + - `"mcp_server"` + + - `"skill"` + + - `description: string or null` + + What the component declares about itself; always null for MCP servers, hooks, and CLIs. + + - `name: string` + + The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. + + - `content_scan: BetaPluginContentScan or null` + + The served version's content scan; null when it has not been scanned. + + - `assessment: "fail" or "pass" or "unknown" or "warn" or null` + + The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. + + - `"fail"` + + - `"pass"` + + - `"unknown"` + + - `"warn"` + + - `reason: string or null` + + The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. + + - `status: "completed" or "errored" or "processing"` + + `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. + + - `"completed"` + + - `"errored"` + + - `"processing"` + + - `created_at: string` + + RFC 3339. + + format: date-time + + - `created_by: BetaPluginUserActor or BetaPluginAPIActor or null` + + Who created the Plugin; null when no creator is recorded. + + - `BetaPluginUserActor object` + + - `type: "user_actor"` + + A member of the organization. + + default: user_actor + + - `email_address: string or null` + + The member's email address; may be null, for example when they are no longer a member of the organization. + + - `user_id: string` + + The member's User ID. + + - `BetaPluginAPIActor object` + + - `type: "api_actor"` + + An Admin API key, in the same form the Compliance API activity feed uses for it. + + default: api_actor + + - `api_key_id: string` + + The key's ID. + + - `description: string or null` + + The served version's description. + + - `display_name: string or null` + + The served version's display name. + + - `latest_version_id: string` + + The newest version. + + - `manifest_version: string or null` + + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). + + - `marketplace_id: string` + + The ID of the plugin marketplace the Plugin lives in. + + - `name: string` + + Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. + + - `organization_installation_preference: "auto_install" or "available" or "not_available" or "required" or null` + + Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. + + - `"auto_install"` + + - `"available"` + + - `"not_available"` + + - `"required"` + + - `organization_installation_preference_inherited: boolean or null` + + Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. + + - `owner: BetaPluginOwnerOrganization or BetaPluginOwnerUser` + + Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. + + - `BetaPluginOwnerOrganization object` + + - `type: "organization"` + + The Plugin lives in a plugin marketplace the organization owns. + + default: organization + + - `BetaPluginOwnerUser object` + + - `type: "user"` + + The Plugin lives in one member's personal plugin marketplace. + + default: user + + - `user_id: string` + + The member's User ID. + + - `reach: "contained" or "privileged" or "remote" or null` + + How far the served version reaches, or `null` if it is not classified. + + `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. + + If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. + + - `"contained"` + + - `"privileged"` + + - `"remote"` + + - `served_version_id: string` + + The version claude.ai serves to members. + + - `served_version_pinned: boolean` + + True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. + + - `updated_at: string` + + RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. + + format: date-time + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/plugins \ + -H 'Content-Type: multipart/form-data' \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: ce-plugins-2026-09-01' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" \ + -F 'files[]=@/path/to/file' +``` + +##### Response (200) + +```json +{ + "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "components": [ + { + "description": "description", + "name": "review-pr", + "type": "skill" + } + ], + "content_scan": { + "assessment": "warn", + "reason": "credential-exposure", + "status": "completed" + }, + "created_at": "2026-03-14T09:26:53.589793Z", + "created_by": { + "email_address": "user@example.com", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "description": "Reviews pull requests against your team's conventions.", + "display_name": "Code Review Helper", + "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", + "manifest_version": "1.2.0", + "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", + "name": "code-review-helper", + "organization_installation_preference": "available", + "organization_installation_preference_inherited": true, + "owner": { + "type": "organization" + }, + "reach": "contained", + "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", + "served_version_pinned": true, + "type": "plugin", + "updated_at": "2026-03-14T09:26:53.589793Z" +} +``` + +### Get Plugin + +**GET** `/v1/organizations/plugins/{plugin_id}` + +Retrieve a Plugin by ID. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Path parameters + +- `plugin_id: string` + + ID of the Plugin (prefixed `plugin_`). + +#### Query parameters + +- `organization_id: optional string` + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + +#### Headers + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` - maxLength: 5000 - -#### Returns - -- `BetaPlugin object` - - - `type: "plugin"` - - Always `plugin`. - - default: plugin - - - `id: string` - - The Plugin's ID. - - - `components: array of BetaPluginComponent or null` - - What the served version contains; null when not enumerated. - - - `type: "agent" or "cli" or "command" or 3 more` - - The kind of component. - - - `"agent"` - - - `"cli"` - - - `"command"` - - - `"hook"` - - - `"mcp_server"` - - - `"skill"` - - - `description: string or null` - - What the component declares about itself; always null for MCP servers, hooks, and CLIs. - - - `name: string` - - The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. - - - `content_scan: BetaPluginContentScan or null` - - The served version's content scan; null when it has not been scanned. - - - `assessment: "fail" or "pass" or "unknown" or "warn" or null` - - The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. - - - `"fail"` - - - `"pass"` - - - `"unknown"` - - - `"warn"` - - - `reason: string or null` - - The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. - - - `status: "completed" or "errored" or "processing"` - - `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. - - - `"completed"` - - - `"errored"` - - - `"processing"` - - - `created_at: string` - - RFC 3339. - - format: date-time - - - `created_by: BetaPluginUserActor or BetaPluginAPIActor or null` - - Who created the Plugin; null when no creator is recorded. - - - `BetaPluginUserActor object` - - - `type: "user_actor"` - - A member of the organization. - - default: user_actor - - - `email_address: string or null` - - The member's email address; may be null, for example when they are no longer a member of the organization. - - - `user_id: string` - - The member's User ID. - - - `BetaPluginAPIActor object` - - - `type: "api_actor"` - - An Admin API key, in the same form the Compliance API activity feed uses for it. - - default: api_actor - - - `api_key_id: string` - - The key's ID. - - - `description: string or null` - - The served version's description. - - - `display_name: string or null` - - The served version's display name. - - - `latest_version_id: string` - - The newest version. - - - `manifest_version: string or null` - - The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - - - `marketplace_id: string` - - The ID of the plugin marketplace the Plugin lives in. - - - `name: string` - - Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. - - - `organization_installation_preference: "auto_install" or "available" or "not_available" or "required" or null` - - Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. - - - `"auto_install"` - - - `"available"` - - - `"not_available"` - - - `"required"` - - - `organization_installation_preference_inherited: boolean or null` - - Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. - - - `owner: BetaPluginOwnerOrganization or BetaPluginOwnerUser` - - Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. - - - `BetaPluginOwnerOrganization object` - - - `type: "organization"` - - The Plugin lives in a plugin marketplace the organization owns. - - default: organization - - - `BetaPluginOwnerUser object` - - - `type: "user"` - - The Plugin lives in one member's personal plugin marketplace. - - default: user - - - `user_id: string` - - The member's User ID. - - - `reach: "contained" or "privileged" or "remote" or null` - - How far the served version reaches, or `null` if it is not classified. - - `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. - - If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. - - - `"contained"` - - - `"privileged"` - - - `"remote"` - - - `served_version_id: string` - - The version claude.ai serves to members. - - - `served_version_pinned: boolean` - - True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. - - - `updated_at: string` - - RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. - - format: date-time - -#### Example - -```bash -curl https://api.anthropic.com/v1/organizations/plugins \ - -H 'Content-Type: multipart/form-data' \ - -H 'anthropic-version: 2026-10-21' \ - -H 'anthropic-beta: ce-plugins-2026-09-01' \ - -H "Authorization: Bearer $ANTHROPIC_API_KEY" \ - -F 'files[]=@/path/to/file' -``` - -##### Response (200) - -```json -{ - "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "components": [ - { - "description": "description", - "name": "review-pr", - "type": "skill" - } - ], - "content_scan": { - "assessment": "warn", - "reason": "credential-exposure", - "status": "completed" - }, - "created_at": "2026-03-14T09:26:53.589793Z", - "created_by": { - "email_address": "user@example.com", - "type": "user_actor", - "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" - }, - "description": "Reviews pull requests against your team's conventions.", - "display_name": "Code Review Helper", - "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", - "manifest_version": "1.2.0", - "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", - "name": "code-review-helper", - "organization_installation_preference": "available", - "organization_installation_preference_inherited": true, - "owner": { - "type": "organization" - }, - "reach": "contained", - "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", - "served_version_pinned": true, - "type": "plugin", - "updated_at": "2026-03-14T09:26:53.589793Z" -} -``` - -### Get Plugin - -**GET** `/v1/organizations/plugins/{plugin_id}` - -Retrieve a Plugin by ID. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Path parameters - -- `plugin_id: string` - - ID of the Plugin (prefixed `plugin_`). - -#### Query parameters - -- `organization_id: optional string` - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - -#### Headers - -- `"anthropic-beta": optional array of AnthropicBeta` - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `string` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -109929,6 +112177,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `served_version_id: string` @@ -110380,6 +112632,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPlugin` @@ -110781,6 +113037,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedPlugin object` @@ -110963,6 +113223,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters (form-data) - `files: array of file` @@ -111310,6 +113574,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginVersion` @@ -111639,6 +113907,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaPluginVersion object` @@ -111975,6 +114247,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Example ```bash @@ -112147,6 +114423,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginInstallationSetting` @@ -112398,6 +114678,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `installation_preference: "auto_install" or "available" or "not_available" or "required"` @@ -112666,247 +114950,255 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` -#### Returns - -- `BetaDeletedPluginInstallationSetting object` - - Confirmation that one target's installation setting was removed, naming - the Plugin and the target in place of an ID. - - - `type: "plugin_installation_setting_deleted"` - - Always `plugin_installation_setting_deleted`. - - default: plugin_installation_setting_deleted - - - `plugin_id: string` - - The Plugin's ID. - - - `target: BetaPluginTargetOrganization or BetaPluginTargetRBACGroup or BetaPluginTargetOrganizationMember` - - Whose setting was removed. - - - `BetaPluginTargetOrganization object` - - - `type: "organization"` - - Every member of the organization. - - default: organization - - - `BetaPluginTargetRBACGroup object` - - - `type: "rbac_group"` - - An RBAC Group. - - default: rbac_group - - - `rbac_group_id: string` - - The RBAC Group's ID. - - - `BetaPluginTargetOrganizationMember object` - - - `type: "organization_member"` - - One member of the organization. - - default: organization_member - - - `user_id: string` - - The member's User ID. - -#### Example - -```bash -curl https://api.anthropic.com/v1/organizations/plugins/$PLUGIN_ID/installation_settings/$TARGET \ - -X DELETE \ - -H 'anthropic-version: 2026-10-21' \ - -H 'anthropic-beta: ce-plugins-2026-09-01' \ - -H "Authorization: Bearer $ANTHROPIC_API_KEY" -``` - -##### Response (200) - -```json -{ - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "target": { - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "type": "rbac_group" - }, - "type": "plugin_installation_setting_deleted" -} -``` - -## Beta › Organization › Plugins › Shares - -### List Plugin Shares - -**GET** `/v1/organizations/plugins/{plugin_id}/shares` - -List the shares the owner of a member-owned Plugin has given — to every member of -the organization, to an RBAC Group, or to one member — most recently granted first. - -Shares are read-only in this API: members give and withdraw them in claude.ai, and -who gave a share is recorded on the Compliance API activity feed rather than on the -share. An organization-owned Plugin has installation settings instead, so this path -returns 404 for one. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Path parameters - -- `plugin_id: string` - - ID of the Plugin (prefixed `plugin_`). - -#### Query parameters - -- `limit: optional number` - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `100`. - - default: 20, minimum: 1, maximum: 100 - -- `organization_id: optional string` - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - -- `page: optional string` - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - -- `target_type: optional "organization" or "organization_member" or "rbac_group"` - - Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). - - - `"organization"` - - - `"organization_member"` - - - `"rbac_group"` - -#### Headers + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `BetaDeletedPluginInstallationSetting object` + + Confirmation that one target's installation setting was removed, naming + the Plugin and the target in place of an ID. + + - `type: "plugin_installation_setting_deleted"` + + Always `plugin_installation_setting_deleted`. + + default: plugin_installation_setting_deleted + + - `plugin_id: string` + + The Plugin's ID. + + - `target: BetaPluginTargetOrganization or BetaPluginTargetRBACGroup or BetaPluginTargetOrganizationMember` + + Whose setting was removed. + + - `BetaPluginTargetOrganization object` + + - `type: "organization"` + + Every member of the organization. + + default: organization + + - `BetaPluginTargetRBACGroup object` + + - `type: "rbac_group"` + + An RBAC Group. + + default: rbac_group + + - `rbac_group_id: string` + + The RBAC Group's ID. + + - `BetaPluginTargetOrganizationMember object` + + - `type: "organization_member"` + + One member of the organization. + + default: organization_member + + - `user_id: string` + + The member's User ID. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/plugins/$PLUGIN_ID/installation_settings/$TARGET \ + -X DELETE \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: ce-plugins-2026-09-01' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "target": { + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "type": "rbac_group" + }, + "type": "plugin_installation_setting_deleted" +} +``` + +## Beta › Organization › Plugins › Shares + +### List Plugin Shares + +**GET** `/v1/organizations/plugins/{plugin_id}/shares` + +List the shares the owner of a member-owned Plugin has given — to every member of +the organization, to an RBAC Group, or to one member — most recently granted first. + +Shares are read-only in this API: members give and withdraw them in claude.ai, and +who gave a share is recorded on the Compliance API activity feed rather than on the +share. An organization-owned Plugin has installation settings instead, so this path +returns 404 for one. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Path parameters + +- `plugin_id: string` + + ID of the Plugin (prefixed `plugin_`). + +#### Query parameters + +- `limit: optional number` + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `100`. + + default: 20, minimum: 1, maximum: 100 + +- `organization_id: optional string` + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + +- `page: optional string` + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + +- `target_type: optional "organization" or "organization_member" or "rbac_group"` + + Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). + + - `"organization"` + + - `"organization_member"` + + - `"rbac_group"` + +#### Headers + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` -- `"anthropic-beta": optional array of AnthropicBeta` - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `string` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -113167,6 +115459,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginMarketplace` @@ -113438,6 +115734,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaPluginMarketplace object` @@ -113699,6 +115999,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `default_installation_preference: "auto_install" or "available" or "not_available" or "required"` @@ -113982,6 +116286,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `repository_url: string` @@ -114252,6 +116560,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters (form-data) - `archive: file` @@ -114506,6 +116818,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `endpoint_url: string` @@ -114981,6 +117297,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaTelemetryDestination` @@ -115334,6 +117654,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaTelemetryDestination object` @@ -115682,6 +118006,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `display_name: optional string or null` @@ -116164,6 +118492,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedTelemetryDestination object` @@ -116325,6 +118657,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaTelemetryDestinationTestResponse object` @@ -116522,6 +118858,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaTelemetryDestinationWorkspace` @@ -116713,6 +119053,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaTelemetryDestinationWorkspace object` @@ -116898,6 +119242,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedTelemetryDestinationWorkspace object` @@ -117068,275 +119416,283 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` -#### Body parameters - -- `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"` - - The event types to deliver to the endpoint. Must list at least one. - - - `"user_profile.enforcement_action_opened"` - - - `"user_profile.enforcement_action_resolved"` - -- `url: string` - - The HTTPS URL that deliveries are sent to. - - minLength: 1 - -- `description: optional string` - - Notes about the endpoint. - -- `name: optional string` - - A short label for the endpoint. - -#### Returns - -- `BetaNewOrganizationWebhookEndpoint object` - - A new organization webhook endpoint, with its signing secret. - - - `id: string` - - ID of the webhook endpoint. - - - `created_at: string` - - When the endpoint was created, in RFC 3339 format. - - format: date-time - - - `description: string` - - Notes about the endpoint. An empty string when none were given. - - - `disabled_reason: string` - - Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it. - - - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"` - - The event types delivered to the endpoint. - - - `"user_profile.enforcement_action_opened"` - - - `"user_profile.enforcement_action_resolved"` - - - `name: string` - - A short label for the endpoint. An empty string when none was given. - - - `signing_secret: string` - - The secret Anthropic signs deliveries to the endpoint with (prefix `whsec_`). No other response returns it, so store it now. To replace it, regenerate the signing secret. - - - `state: BetaOrganizationWebhookEndpointState` - - Whether deliveries are sent to the endpoint. - - - `"disabled"` - - - `"enabled"` - - - `updated_at: string` - - When the endpoint was last changed, in RFC 3339 format. - - format: date-time - - - `url: string` - - The HTTPS URL that deliveries are sent to. - -#### Example - -```bash -curl https://api.anthropic.com/v1/organizations/webhooks \ - -H 'Content-Type: application/json' \ - -H 'anthropic-version: 2026-10-21' \ - -H 'anthropic-beta: webhooks-2026-10-07' \ - -H "Authorization: Bearer $ANTHROPIC_API_KEY" \ - -d '{ - "enabled_events": [ - "user_profile.enforcement_action_opened" - ], - "url": "x" - }' -``` - -##### Response (200) - -```json -{ - "id": "id", - "created_at": "2019-12-27T18:11:19.117Z", - "description": "description", - "disabled_reason": "disabled_reason", - "enabled_events": [ - "user_profile.enforcement_action_opened" - ], - "name": "name", - "signing_secret": "signing_secret", - "state": "disabled", - "updated_at": "2019-12-27T18:11:19.117Z", - "url": "url" -} -``` - -### List Organization Webhook Endpoints - -**GET** `/v1/organizations/webhooks` - -List the organization's webhook endpoints. - -An organization webhook endpoint belongs to the organization rather than to one of its workspaces. The list does not include webhook endpoints that -belong to a workspace. - -Every request must include the beta header `anthropic-beta: webhooks-2026-10-07`. A request without it returns `404`, exactly as if this API did not exist. Anthropic turns organization webhook endpoints on for each organization; until yours is on, requests also return `404`. Organization webhook endpoints are in beta and are not available to organizations with HIPAA readiness enabled. - -#### Query parameters - -- `after_id: optional string` - - ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. - -- `before_id: optional string` - - ID of a webhook endpoint to use as a cursor. Returns the first `limit` endpoints that come before it in list order, not the `limit` endpoints just before it. - -- `limit: optional number` - - Number of items to return per page, up to `100`. The default, `0`, means `20`. - - default: 0, minimum: 0, maximum: 100 - -- `order: optional "asc" or "desc"` - - Sort order by `created_at`. Defaults to `desc`, newest first. - - - `"asc"` - - - `"desc"` - -#### Headers - -- `"anthropic-version": optional string` - - The version of the Claude API you want to use. - - Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). - -- `"anthropic-beta": optional array of AnthropicBeta` - - This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header. - - - `string` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Body parameters + +- `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"` + + The event types to deliver to the endpoint. Must list at least one. + + - `"user_profile.enforcement_action_opened"` + + - `"user_profile.enforcement_action_resolved"` + +- `url: string` + + The HTTPS URL that deliveries are sent to. + + minLength: 1 + +- `description: optional string` + + Notes about the endpoint. + +- `name: optional string` + + A short label for the endpoint. + +#### Returns + +- `BetaNewOrganizationWebhookEndpoint object` + + A new organization webhook endpoint, with its signing secret. + + - `id: string` + + ID of the webhook endpoint. + + - `created_at: string` + + When the endpoint was created, in RFC 3339 format. + + format: date-time + + - `description: string` + + Notes about the endpoint. An empty string when none were given. + + - `disabled_reason: string` + + Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it. + + - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"` + + The event types delivered to the endpoint. + + - `"user_profile.enforcement_action_opened"` + + - `"user_profile.enforcement_action_resolved"` + + - `name: string` + + A short label for the endpoint. An empty string when none was given. + + - `signing_secret: string` + + The secret Anthropic signs deliveries to the endpoint with (prefix `whsec_`). No other response returns it, so store it now. To replace it, regenerate the signing secret. + + - `state: BetaOrganizationWebhookEndpointState` + + Whether deliveries are sent to the endpoint. + + - `"disabled"` + + - `"enabled"` + + - `updated_at: string` + + When the endpoint was last changed, in RFC 3339 format. + + format: date-time + + - `url: string` + + The HTTPS URL that deliveries are sent to. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/webhooks \ + -H 'Content-Type: application/json' \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: webhooks-2026-10-07' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" \ + -d '{ + "enabled_events": [ + "user_profile.enforcement_action_opened" + ], + "url": "x" + }' +``` + +##### Response (200) + +```json +{ + "id": "id", + "created_at": "2019-12-27T18:11:19.117Z", + "description": "description", + "disabled_reason": "disabled_reason", + "enabled_events": [ + "user_profile.enforcement_action_opened" + ], + "name": "name", + "signing_secret": "signing_secret", + "state": "disabled", + "updated_at": "2019-12-27T18:11:19.117Z", + "url": "url" +} +``` + +### List Organization Webhook Endpoints + +**GET** `/v1/organizations/webhooks` + +List the organization's webhook endpoints. + +An organization webhook endpoint belongs to the organization rather than to one of its workspaces. The list does not include webhook endpoints that +belong to a workspace. + +Every request must include the beta header `anthropic-beta: webhooks-2026-10-07`. A request without it returns `404`, exactly as if this API did not exist. Anthropic turns organization webhook endpoints on for each organization; until yours is on, requests also return `404`. Organization webhook endpoints are in beta and are not available to organizations with HIPAA readiness enabled. + +#### Query parameters + +- `after_id: optional string` + + ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. + +- `before_id: optional string` + + ID of a webhook endpoint to use as a cursor. Returns the first `limit` endpoints that come before it in list order, not the `limit` endpoints just before it. + +- `limit: optional number` + + Number of items to return per page, up to `100`. The default, `0`, means `20`. + + default: 0, minimum: 0, maximum: 100 + +- `order: optional "asc" or "desc"` + + Sort order by `created_at`. Defaults to `desc`, newest first. + + - `"asc"` + + - `"desc"` + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -117572,6 +119928,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationWebhookEndpoint object` @@ -117788,6 +120148,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `description: optional string` @@ -118038,6 +120402,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedOrganizationWebhookEndpoint object` @@ -118208,6 +120576,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationWebhookEndpointSigningSecret object` diff --git a/content/en/api/beta/agents.md b/content/en/api/beta/agents.md index ae30c27945..22125b266d 100644 --- a/content/en/api/beta/agents.md +++ b/content/en/api/beta/agents.md @@ -129,6 +129,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2147,6 +2151,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3199,6 +3207,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4234,6 +4246,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -6227,6 +6243,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -13659,6 +13679,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/agents/archive.md b/content/en/api/beta/agents/archive.md index a00513a2a3..74cdf08fe8 100644 --- a/content/en/api/beta/agents/archive.md +++ b/content/en/api/beta/agents/archive.md @@ -133,6 +133,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/agents/create.md b/content/en/api/beta/agents/create.md index b950f594e3..e8413f36d8 100644 --- a/content/en/api/beta/agents/create.md +++ b/content/en/api/beta/agents/create.md @@ -127,6 +127,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/agents/list.md b/content/en/api/beta/agents/list.md index cd522a2a78..9516e8f83d 100644 --- a/content/en/api/beta/agents/list.md +++ b/content/en/api/beta/agents/list.md @@ -155,6 +155,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/agents/retrieve.md b/content/en/api/beta/agents/retrieve.md index 503239f05b..709a0b1d09 100644 --- a/content/en/api/beta/agents/retrieve.md +++ b/content/en/api/beta/agents/retrieve.md @@ -141,6 +141,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/agents/update.md b/content/en/api/beta/agents/update.md index b0343219fa..c68a6f24e1 100644 --- a/content/en/api/beta/agents/update.md +++ b/content/en/api/beta/agents/update.md @@ -133,6 +133,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/agents/versions.md b/content/en/api/beta/agents/versions.md index 9477abe0bf..134a292516 100644 --- a/content/en/api/beta/agents/versions.md +++ b/content/en/api/beta/agents/versions.md @@ -147,6 +147,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/agents/versions/list.md b/content/en/api/beta/agents/versions/list.md index cf99eabbf2..5f02168e32 100644 --- a/content/en/api/beta/agents/versions/list.md +++ b/content/en/api/beta/agents/versions/list.md @@ -145,6 +145,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployment_runs.md b/content/en/api/beta/deployment_runs.md index e1253dc5d8..739580b9e6 100644 --- a/content/en/api/beta/deployment_runs.md +++ b/content/en/api/beta/deployment_runs.md @@ -185,6 +185,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -588,6 +592,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployment_runs/list.md b/content/en/api/beta/deployment_runs/list.md index e7460f3a37..437bcbfdf8 100644 --- a/content/en/api/beta/deployment_runs/list.md +++ b/content/en/api/beta/deployment_runs/list.md @@ -183,6 +183,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployment_runs/retrieve.md b/content/en/api/beta/deployment_runs/retrieve.md index 001b236bf0..1278217a4a 100644 --- a/content/en/api/beta/deployment_runs/retrieve.md +++ b/content/en/api/beta/deployment_runs/retrieve.md @@ -133,6 +133,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments.md b/content/en/api/beta/deployments.md index c4ae5fd92c..300af75b99 100644 --- a/content/en/api/beta/deployments.md +++ b/content/en/api/beta/deployments.md @@ -129,6 +129,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1323,6 +1327,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2064,6 +2072,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2796,6 +2808,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3938,6 +3954,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4671,6 +4691,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5066,6 +5090,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5799,6 +5827,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/archive.md b/content/en/api/beta/deployments/archive.md index ce38d3a390..8c2cc2f333 100644 --- a/content/en/api/beta/deployments/archive.md +++ b/content/en/api/beta/deployments/archive.md @@ -133,6 +133,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/create.md b/content/en/api/beta/deployments/create.md index 92ad1e02b4..c002132f8b 100644 --- a/content/en/api/beta/deployments/create.md +++ b/content/en/api/beta/deployments/create.md @@ -127,6 +127,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/list.md b/content/en/api/beta/deployments/list.md index f0338dbf00..68afd44edf 100644 --- a/content/en/api/beta/deployments/list.md +++ b/content/en/api/beta/deployments/list.md @@ -171,6 +171,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/pause.md b/content/en/api/beta/deployments/pause.md index 5f3015658e..553a807484 100644 --- a/content/en/api/beta/deployments/pause.md +++ b/content/en/api/beta/deployments/pause.md @@ -133,6 +133,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/retrieve.md b/content/en/api/beta/deployments/retrieve.md index f841641785..92a3bd136c 100644 --- a/content/en/api/beta/deployments/retrieve.md +++ b/content/en/api/beta/deployments/retrieve.md @@ -133,6 +133,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/run.md b/content/en/api/beta/deployments/run.md index d7baf65395..a120a5e84c 100644 --- a/content/en/api/beta/deployments/run.md +++ b/content/en/api/beta/deployments/run.md @@ -133,6 +133,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/unpause.md b/content/en/api/beta/deployments/unpause.md index 5b731192ff..f5226fc146 100644 --- a/content/en/api/beta/deployments/unpause.md +++ b/content/en/api/beta/deployments/unpause.md @@ -133,6 +133,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/deployments/update.md b/content/en/api/beta/deployments/update.md index 06db2d893d..d7ed0ea323 100644 --- a/content/en/api/beta/deployments/update.md +++ b/content/en/api/beta/deployments/update.md @@ -133,6 +133,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/dreams.md b/content/en/api/beta/dreams.md index 19ba245e25..ec62af2bdd 100644 --- a/content/en/api/beta/dreams.md +++ b/content/en/api/beta/dreams.md @@ -133,6 +133,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -722,6 +726,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1144,6 +1152,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1561,6 +1573,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1979,6 +1995,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/dreams/archive.md b/content/en/api/beta/dreams/archive.md index fc917466d5..24f60a8572 100644 --- a/content/en/api/beta/dreams/archive.md +++ b/content/en/api/beta/dreams/archive.md @@ -137,6 +137,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/dreams/cancel.md b/content/en/api/beta/dreams/cancel.md index 9f58f1ea12..3b16d38faf 100644 --- a/content/en/api/beta/dreams/cancel.md +++ b/content/en/api/beta/dreams/cancel.md @@ -137,6 +137,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/dreams/create.md b/content/en/api/beta/dreams/create.md index 3b004a6830..b03d15e4f6 100644 --- a/content/en/api/beta/dreams/create.md +++ b/content/en/api/beta/dreams/create.md @@ -131,6 +131,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/dreams/list.md b/content/en/api/beta/dreams/list.md index be27f2ae37..5c89de2358 100644 --- a/content/en/api/beta/dreams/list.md +++ b/content/en/api/beta/dreams/list.md @@ -195,6 +195,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/dreams/retrieve.md b/content/en/api/beta/dreams/retrieve.md index f27084f67c..02aa743810 100644 --- a/content/en/api/beta/dreams/retrieve.md +++ b/content/en/api/beta/dreams/retrieve.md @@ -137,6 +137,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments.md b/content/en/api/beta/environments.md index b5b5699bd8..f0f0457a3a 100644 --- a/content/en/api/beta/environments.md +++ b/content/en/api/beta/environments.md @@ -129,6 +129,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -608,6 +612,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -943,6 +951,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1269,6 +1281,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1717,6 +1733,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1886,6 +1906,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2682,6 +2706,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2948,6 +2976,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID": optional string` Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -3200,6 +3232,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaSelfHostedWork object` @@ -3459,6 +3495,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaSelfHostedWorkHeartbeatResponse object` @@ -3651,6 +3691,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3925,6 +3969,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaSelfHostedWorkListResponse object` @@ -4182,6 +4230,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4444,6 +4496,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/archive.md b/content/en/api/beta/environments/archive.md index df14136c5f..aa9a563a72 100644 --- a/content/en/api/beta/environments/archive.md +++ b/content/en/api/beta/environments/archive.md @@ -131,6 +131,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/create.md b/content/en/api/beta/environments/create.md index 437d2f868b..c426379925 100644 --- a/content/en/api/beta/environments/create.md +++ b/content/en/api/beta/environments/create.md @@ -127,6 +127,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/delete.md b/content/en/api/beta/environments/delete.md index 0a2a5d3715..53c9f3628b 100644 --- a/content/en/api/beta/environments/delete.md +++ b/content/en/api/beta/environments/delete.md @@ -131,6 +131,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/list.md b/content/en/api/beta/environments/list.md index fd55aa865b..a31cbbf902 100644 --- a/content/en/api/beta/environments/list.md +++ b/content/en/api/beta/environments/list.md @@ -145,6 +145,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/retrieve.md b/content/en/api/beta/environments/retrieve.md index 53466a13ca..ed2aa6acae 100644 --- a/content/en/api/beta/environments/retrieve.md +++ b/content/en/api/beta/environments/retrieve.md @@ -131,6 +131,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/update.md b/content/en/api/beta/environments/update.md index 1360d92bd4..aee22702f4 100644 --- a/content/en/api/beta/environments/update.md +++ b/content/en/api/beta/environments/update.md @@ -131,6 +131,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/work.md b/content/en/api/beta/environments/work.md index ebf7b0679f..2c91cde5e0 100644 --- a/content/en/api/beta/environments/work.md +++ b/content/en/api/beta/environments/work.md @@ -137,6 +137,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -403,6 +407,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID": optional string` Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -655,6 +663,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaSelfHostedWork object` @@ -914,6 +926,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaSelfHostedWorkHeartbeatResponse object` @@ -1106,6 +1122,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1380,6 +1400,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaSelfHostedWorkListResponse object` @@ -1637,6 +1661,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1899,6 +1927,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/work/ack.md b/content/en/api/beta/environments/work/ack.md index 6b06801ddb..d43143712c 100644 --- a/content/en/api/beta/environments/work/ack.md +++ b/content/en/api/beta/environments/work/ack.md @@ -135,6 +135,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaSelfHostedWork object` diff --git a/content/en/api/beta/environments/work/heartbeat.md b/content/en/api/beta/environments/work/heartbeat.md index 88e385b824..f79e18731f 100644 --- a/content/en/api/beta/environments/work/heartbeat.md +++ b/content/en/api/beta/environments/work/heartbeat.md @@ -145,6 +145,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaSelfHostedWorkHeartbeatResponse object` diff --git a/content/en/api/beta/environments/work/list.md b/content/en/api/beta/environments/work/list.md index b7fcc0b126..95f57ac3ec 100644 --- a/content/en/api/beta/environments/work/list.md +++ b/content/en/api/beta/environments/work/list.md @@ -145,6 +145,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaSelfHostedWorkListResponse object` diff --git a/content/en/api/beta/environments/work/poll.md b/content/en/api/beta/environments/work/poll.md index 7b7b03f584..58cb7c698b 100644 --- a/content/en/api/beta/environments/work/poll.md +++ b/content/en/api/beta/environments/work/poll.md @@ -147,6 +147,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID": optional string` Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console diff --git a/content/en/api/beta/environments/work/retrieve.md b/content/en/api/beta/environments/work/retrieve.md index 4a8a9bc8c6..032169bd01 100644 --- a/content/en/api/beta/environments/work/retrieve.md +++ b/content/en/api/beta/environments/work/retrieve.md @@ -135,6 +135,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/work/stats.md b/content/en/api/beta/environments/work/stats.md index 6ee8d0e6cf..8e29497a6c 100644 --- a/content/en/api/beta/environments/work/stats.md +++ b/content/en/api/beta/environments/work/stats.md @@ -131,6 +131,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/work/stop.md b/content/en/api/beta/environments/work/stop.md index ca18f8edee..d935e4d7bc 100644 --- a/content/en/api/beta/environments/work/stop.md +++ b/content/en/api/beta/environments/work/stop.md @@ -135,6 +135,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/environments/work/update.md b/content/en/api/beta/environments/work/update.md index 003a2da419..0560bd944b 100644 --- a/content/en/api/beta/environments/work/update.md +++ b/content/en/api/beta/environments/work/update.md @@ -135,6 +135,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/files.md b/content/en/api/beta/files.md index ecfc06038e..a1ba054554 100644 --- a/content/en/api/beta/files.md +++ b/content/en/api/beta/files.md @@ -129,6 +129,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -388,6 +392,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -626,6 +634,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -770,6 +782,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -997,6 +1013,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/files/delete.md b/content/en/api/beta/files/delete.md index 1c0d9f6b00..d5fa301ae0 100644 --- a/content/en/api/beta/files/delete.md +++ b/content/en/api/beta/files/delete.md @@ -133,6 +133,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/files/download.md b/content/en/api/beta/files/download.md index 79091b9a8b..8ab9f2d590 100644 --- a/content/en/api/beta/files/download.md +++ b/content/en/api/beta/files/download.md @@ -133,6 +133,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/files/list.md b/content/en/api/beta/files/list.md index ea44700028..447b07f5ef 100644 --- a/content/en/api/beta/files/list.md +++ b/content/en/api/beta/files/list.md @@ -149,6 +149,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/files/retrieve_metadata.md b/content/en/api/beta/files/retrieve_metadata.md index 3eadec2708..308c2960e8 100644 --- a/content/en/api/beta/files/retrieve_metadata.md +++ b/content/en/api/beta/files/retrieve_metadata.md @@ -133,6 +133,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/files/upload.md b/content/en/api/beta/files/upload.md index 7aab41a801..0e119f148f 100644 --- a/content/en/api/beta/files/upload.md +++ b/content/en/api/beta/files/upload.md @@ -127,6 +127,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores.md b/content/en/api/beta/memory_stores.md index c4fd08063a..c05c9fa51d 100644 --- a/content/en/api/beta/memory_stores.md +++ b/content/en/api/beta/memory_stores.md @@ -129,6 +129,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -391,6 +395,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -610,6 +618,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -824,6 +836,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1062,6 +1078,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1231,6 +1251,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1526,6 +1550,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1815,6 +1843,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2086,6 +2118,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2332,6 +2368,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2598,6 +2638,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2845,6 +2889,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3177,6 +3225,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3490,6 +3542,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/archive.md b/content/en/api/beta/memory_stores/archive.md index 4106554ffd..f95771c73a 100644 --- a/content/en/api/beta/memory_stores/archive.md +++ b/content/en/api/beta/memory_stores/archive.md @@ -135,6 +135,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/create.md b/content/en/api/beta/memory_stores/create.md index f030decb39..d3588dcec3 100644 --- a/content/en/api/beta/memory_stores/create.md +++ b/content/en/api/beta/memory_stores/create.md @@ -127,6 +127,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/delete.md b/content/en/api/beta/memory_stores/delete.md index 55b9b3ae0d..4ce3e150a3 100644 --- a/content/en/api/beta/memory_stores/delete.md +++ b/content/en/api/beta/memory_stores/delete.md @@ -135,6 +135,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/list.md b/content/en/api/beta/memory_stores/list.md index 4902da5be0..6783eb5aa8 100644 --- a/content/en/api/beta/memory_stores/list.md +++ b/content/en/api/beta/memory_stores/list.md @@ -155,6 +155,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memories.md b/content/en/api/beta/memory_stores/memories.md index e1a23c140d..0e24afd822 100644 --- a/content/en/api/beta/memory_stores/memories.md +++ b/content/en/api/beta/memory_stores/memories.md @@ -151,6 +151,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -440,6 +444,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -711,6 +719,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -957,6 +969,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1223,6 +1239,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memories/create.md b/content/en/api/beta/memory_stores/memories/create.md index f732533edd..95977e25ee 100644 --- a/content/en/api/beta/memory_stores/memories/create.md +++ b/content/en/api/beta/memory_stores/memories/create.md @@ -149,6 +149,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memories/delete.md b/content/en/api/beta/memory_stores/memories/delete.md index 05e821e9af..380bb4586d 100644 --- a/content/en/api/beta/memory_stores/memories/delete.md +++ b/content/en/api/beta/memory_stores/memories/delete.md @@ -145,6 +145,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memories/list.md b/content/en/api/beta/memory_stores/memories/list.md index 0061405ee9..1ad03394ca 100644 --- a/content/en/api/beta/memory_stores/memories/list.md +++ b/content/en/api/beta/memory_stores/memories/list.md @@ -175,6 +175,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memories/retrieve.md b/content/en/api/beta/memory_stores/memories/retrieve.md index 09a375dbf6..0ee8eab658 100644 --- a/content/en/api/beta/memory_stores/memories/retrieve.md +++ b/content/en/api/beta/memory_stores/memories/retrieve.md @@ -153,6 +153,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memories/update.md b/content/en/api/beta/memory_stores/memories/update.md index 8c60e6d054..6d8be00a21 100644 --- a/content/en/api/beta/memory_stores/memories/update.md +++ b/content/en/api/beta/memory_stores/memories/update.md @@ -153,6 +153,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memory_versions.md b/content/en/api/beta/memory_stores/memory_versions.md index 84ec8302f1..cf6bc52349 100644 --- a/content/en/api/beta/memory_stores/memory_versions.md +++ b/content/en/api/beta/memory_stores/memory_versions.md @@ -209,6 +209,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -541,6 +545,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -854,6 +862,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memory_versions/list.md b/content/en/api/beta/memory_stores/memory_versions/list.md index 28ecfe4eda..bac9e90bb9 100644 --- a/content/en/api/beta/memory_stores/memory_versions/list.md +++ b/content/en/api/beta/memory_stores/memory_versions/list.md @@ -207,6 +207,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memory_versions/redact.md b/content/en/api/beta/memory_stores/memory_versions/redact.md index ec3645dafb..9ec5ce245d 100644 --- a/content/en/api/beta/memory_stores/memory_versions/redact.md +++ b/content/en/api/beta/memory_stores/memory_versions/redact.md @@ -137,6 +137,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/memory_versions/retrieve.md b/content/en/api/beta/memory_stores/memory_versions/retrieve.md index e30b9ab826..8114c4aa7f 100644 --- a/content/en/api/beta/memory_stores/memory_versions/retrieve.md +++ b/content/en/api/beta/memory_stores/memory_versions/retrieve.md @@ -153,6 +153,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/retrieve.md b/content/en/api/beta/memory_stores/retrieve.md index fc038657d6..0ade93a7ac 100644 --- a/content/en/api/beta/memory_stores/retrieve.md +++ b/content/en/api/beta/memory_stores/retrieve.md @@ -133,6 +133,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/memory_stores/update.md b/content/en/api/beta/memory_stores/update.md index b7956e70a5..2d72a6e7a7 100644 --- a/content/en/api/beta/memory_stores/update.md +++ b/content/en/api/beta/memory_stores/update.md @@ -135,6 +135,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages.md b/content/en/api/beta/messages.md index 3ea098613d..0473b9e2f5 100644 --- a/content/en/api/beta/messages.md +++ b/content/en/api/beta/messages.md @@ -133,6 +133,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -4070,6 +4074,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `BetaThinkingConfigAdaptive object` +- `thread: optional BetaMessageThreadParam or null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice: optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -8710,6 +8734,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -51477,6 +51505,28 @@ curl https://api.anthropic.com/v1/messages/count_tokens \ - `"max"` +### Beta Message Thread Param + +- `BetaMessageThreadParam = BetaThreadCreateParams or BetaThreadContinueParams` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `BetaMessageTokensCount object` @@ -74697,6 +74747,26 @@ curl https://api.anthropic.com/v1/messages/count_tokens \ minimum: 1 +### Beta Thread Continue Params + +- `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + ### Beta Token Task Budget - `BetaTokenTaskBudget object` @@ -90435,6 +90505,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -94392,6 +94466,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `BetaThinkingConfigAdaptive object` + - `thread: optional BetaMessageThreadParam or null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice: optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -94887,6 +94981,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95179,6 +95277,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95480,6 +95582,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95763,6 +95869,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95938,6 +96048,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages/batches.md b/content/en/api/beta/messages/batches.md index 6d48c7069c..bbdf3edf6e 100644 --- a/content/en/api/beta/messages/batches.md +++ b/content/en/api/beta/messages/batches.md @@ -133,6 +133,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4090,6 +4094,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `BetaThinkingConfigAdaptive object` + - `thread: optional BetaMessageThreadParam or null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice: optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4585,6 +4609,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4877,6 +4905,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5178,6 +5210,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5461,6 +5497,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5636,6 +5676,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages/batches/cancel.md b/content/en/api/beta/messages/batches/cancel.md index 4cdb9492fa..181c655257 100644 --- a/content/en/api/beta/messages/batches/cancel.md +++ b/content/en/api/beta/messages/batches/cancel.md @@ -137,6 +137,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages/batches/create.md b/content/en/api/beta/messages/batches/create.md index 2dd1e2f338..8ad8571b1f 100644 --- a/content/en/api/beta/messages/batches/create.md +++ b/content/en/api/beta/messages/batches/create.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4088,6 +4092,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `BetaThinkingConfigAdaptive object` + - `thread: optional BetaMessageThreadParam or null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice: optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. diff --git a/content/en/api/beta/messages/batches/delete.md b/content/en/api/beta/messages/batches/delete.md index c960ce3a45..e42f0c8647 100644 --- a/content/en/api/beta/messages/batches/delete.md +++ b/content/en/api/beta/messages/batches/delete.md @@ -137,6 +137,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages/batches/list.md b/content/en/api/beta/messages/batches/list.md index b017112245..da1372fce4 100644 --- a/content/en/api/beta/messages/batches/list.md +++ b/content/en/api/beta/messages/batches/list.md @@ -147,6 +147,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages/batches/results.md b/content/en/api/beta/messages/batches/results.md index 0984407cd3..af64838966 100644 --- a/content/en/api/beta/messages/batches/results.md +++ b/content/en/api/beta/messages/batches/results.md @@ -137,6 +137,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages/batches/retrieve.md b/content/en/api/beta/messages/batches/retrieve.md index 186d1b7631..5d099ab724 100644 --- a/content/en/api/beta/messages/batches/retrieve.md +++ b/content/en/api/beta/messages/batches/retrieve.md @@ -135,6 +135,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/messages/count_tokens.md b/content/en/api/beta/messages/count_tokens.md index ea2f24e82d..baef5651ff 100644 --- a/content/en/api/beta/messages/count_tokens.md +++ b/content/en/api/beta/messages/count_tokens.md @@ -131,6 +131,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/beta/messages/create.md b/content/en/api/beta/messages/create.md index 5decc757a8..64c9fe231d 100644 --- a/content/en/api/beta/messages/create.md +++ b/content/en/api/beta/messages/create.md @@ -131,6 +131,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-user-profile-id": optional string` The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -4068,6 +4072,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `BetaThinkingConfigAdaptive object` +- `thread: optional BetaMessageThreadParam or null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `BetaThreadCreateParams object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `BetaThreadContinueParams object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice: optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. diff --git a/content/en/api/beta/models.md b/content/en/api/beta/models.md index b3ec5b9448..0f21495ee5 100644 --- a/content/en/api/beta/models.md +++ b/content/en/api/beta/models.md @@ -161,6 +161,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -499,7 +503,7 @@ curl https://api.anthropic.com/v1/models \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -644,6 +648,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -968,7 +976,7 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/beta/models/list.md b/content/en/api/beta/models/list.md index 31e611ddd9..37b55b8ec5 100644 --- a/content/en/api/beta/models/list.md +++ b/content/en/api/beta/models/list.md @@ -159,6 +159,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -497,7 +501,7 @@ curl https://api.anthropic.com/v1/models \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/beta/models/retrieve.md b/content/en/api/beta/models/retrieve.md index 8c15f850cc..8e2972fd35 100644 --- a/content/en/api/beta/models/retrieve.md +++ b/content/en/api/beta/models/retrieve.md @@ -135,6 +135,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -459,7 +463,7 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/beta/organization.md b/content/en/api/beta/organization.md index 146cc8b821..02ebb6d083 100644 --- a/content/en/api/beta/organization.md +++ b/content/en/api/beta/organization.md @@ -1713,6 +1713,10 @@ matched as the JWT's `iss` claim and is not fetched. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `issuer_url: string` @@ -2115,6 +2119,10 @@ Archived issuers are excluded unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationIssuer` @@ -2428,6 +2436,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationIssuer object` @@ -2744,6 +2756,10 @@ session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `check_jti: optional boolean or null` @@ -3138,6 +3154,10 @@ issuer cannot be changed), or recreate them against another issuer. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationIssuer object` @@ -3458,6 +3478,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `issuer_id: string` @@ -3885,6 +3909,10 @@ unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationRule` @@ -4198,6 +4226,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationRule object` @@ -4529,6 +4561,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `applies_to_all_workspaces: optional boolean or null` @@ -4932,6 +4968,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationRule object` @@ -5259,6 +5299,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_id: string` @@ -5470,6 +5514,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationRuleWorkspace` @@ -5671,6 +5719,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "federation_rule_workspace_deleted"` @@ -6344,6 +6396,10 @@ accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `name: string` @@ -6607,6 +6663,10 @@ archived service accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccount` @@ -6832,6 +6892,10 @@ Retrieve a service account by its ID (`svac_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaServiceAccount object` @@ -7058,6 +7122,10 @@ interactive credential (a user OAuth token or a Console session). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `description: optional string or null` @@ -7302,6 +7370,10 @@ those rules first or change their target to another service account. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaServiceAccount object` @@ -7533,6 +7605,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_id: string` @@ -7773,6 +7849,10 @@ page to recover. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -7985,6 +8065,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "service_account_workspace_member_deleted"` @@ -8733,6 +8817,10 @@ Create Workspace - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `name: string` @@ -10539,6 +10627,10 @@ omitted from the results. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -10748,6 +10840,10 @@ accounts cannot be added and are rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `service_account_id: string` @@ -10973,6 +11069,10 @@ account returns 404. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaServiceAccountWorkspaceMember object` @@ -11175,6 +11275,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_role: BetaNoBillingWorkspaceRole` @@ -11394,6 +11498,10 @@ membership. Archived workspaces return 400. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "service_account_workspace_member_deleted"` @@ -11797,7 +11905,9 @@ curl https://api.anthropic.com/v1/organizations/compliance_settings \ **GET** `/v1/organizations/usage_report/messages` -Get Messages Usage Report +[Legacy] Get a report of your organization's Messages API usage, aggregated into time buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). #### Query parameters @@ -11895,7 +12005,7 @@ Get Messages Usage Report Restrict usage returned to the specified service account ID(s). -- `service_tiers: optional array of "batch" or "flex" or "flex_discount" or 3 more` +- `service_tiers: optional array of BetaAnalyticsServiceTier` Restrict usage returned to the specified service tier(s). @@ -12041,6 +12151,10 @@ Get Messages Usage Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaMessagesUsageReport object` @@ -12126,7 +12240,7 @@ Get Messages Usage Report ID of the service account that made the request. `null` if not grouping by service account or for non-OIDC-federation requests. - - `service_tier: "batch" or "flex" or "flex_discount" or 3 more or null` + - `service_tier: BetaAnalyticsServiceTier or null` Service tier used. `null` if not grouping by service tier. @@ -12499,7 +12613,9 @@ curl https://api.anthropic.com/v1/organizations/usage_report/claude_code \ **GET** `/v1/organizations/cost_report` -Get Cost Report +[Legacy] Get a report of your organization's Claude API costs in USD, aggregated into daily buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). #### Query parameters @@ -12658,6 +12774,10 @@ Get Cost Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaCostReport object` @@ -12968,6 +13088,10 @@ archived tunnels are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaOrganizationTunnel` @@ -13176,6 +13300,10 @@ Retrieve a single tunnel in the caller's organization by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnel object` @@ -13380,6 +13508,10 @@ tunnel returns the existing record unchanged. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnel object` @@ -13585,6 +13717,10 @@ access logs. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnelToken object` @@ -13762,6 +13898,10 @@ restarted after rotation must use the new value. An optional - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `reason: optional string or null` @@ -13950,6 +14090,10 @@ holds at most two non-archived certificates. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `ca_certificate_pem: string` @@ -14184,6 +14328,10 @@ Archived certificates are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaOrganizationTunnelCertificate` @@ -14396,6 +14544,10 @@ Retrieve a single certificate registered on a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnelCertificate object` @@ -14603,6 +14755,10 @@ certificate is added. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnelCertificate object` @@ -16690,18 +16846,21 @@ curl https://api.anthropic.com/v1/organizations/analytics/artifacts \ } ``` -## Organization › Analytics › Usage Report +## Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Query parameters @@ -16711,21 +16870,41 @@ key with the `read:analytics` scope. format: date-time -- `bucket_width: optional "1d" or "1h" or "1m"` +- `actor_ids: optional array of string` - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: optional array of BetaAnalyticsActorType` - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -16755,24 +16934,54 @@ key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: optional string` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` +- `environment_ids: optional array of string` - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsUsageGroupBy` + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. maxItems: 100 + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` - `"context_window"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -16781,10 +16990,18 @@ key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` + - `"user_profile_id"` + + - `"workspace_id"` + - `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -16799,9 +17016,9 @@ key with the `read:analytics` scope. - `limit: optional number` - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + default: 20, minimum: 1, maximum: 1000 - `models: optional array of string` @@ -16809,13 +17026,35 @@ key with the `read:analytics` scope. maxItems: 100 +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsUsageOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` + - `page: optional string` Opaque cursor from a previous response's `next_page` field. -- `products: optional array of BetaAnalyticsProductFilter` +- `products: optional array of BetaAnalyticsUsageCostProductFilter` - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 @@ -16823,16 +17062,24 @@ key with the `read:analytics` scope. - `"chat_cowork_unified"` - - `"claude-tag"` - - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids: optional array of string` @@ -16841,113 +17088,1575 @@ key with the `read:analytics` scope. maxItems: 100 -- `slack_channel_ids: optional array of string` +- `service_tiers: optional array of BetaAnalyticsServiceTier` - Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. maxItems: 100 -- `speeds: optional array of "fast" or "standard"` + - `"batch"` - Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + - `"flex"` - maxItems: 100 + - `"flex_discount"` - - `"fast"` + - `"priority"` + + - `"priority_on_demand"` - `"standard"` -- `user_ids: optional array of string` +- `session_ids: optional array of string` - Filter to specific users by tagged user ID. + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. maxItems: 100 -#### Headers +- `slack_channel_ids: optional array of string` -- `"anthropic-version": optional string` + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. - The version of the Claude API you want to use. + maxItems: 100 - Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). +- `speeds: optional array of BetaAnalyticsSpeed` -#### Returns + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. -- `data: array of BetaAnalyticsUsageReportTimeBucket` + maxItems: 100 - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + - `"fast"` - - `ending_at: string` + - `"standard"` - End of the time bucket (exclusive) in RFC 3339 format. +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` - format: date-time + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. - - `results: array of BetaAnalyticsUsageBucketedResult` + - `"1d"` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + - `"1h"` - - `cache_creation: BetaCacheCreation` + - `"1m"` - The number of input tokens for cache creation. +- `user_profile_ids: optional array of string` - - `ephemeral_1h_input_tokens: number` + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. - The number of input tokens used to create the 1 hour cache entry. + maxItems: 100 - default: 0, minimum: 0 +- `workspace_ids: optional array of string` - - `ephemeral_5m_input_tokens: number` + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. - The number of input tokens used to create the 5 minute cache entry. + maxItems: 100 - default: 0, minimum: 0 +#### Headers - - `cache_read_input_tokens: number` +- `"anthropic-version": optional string` - The number of input tokens read from the cache. + The version of the Claude API you want to use. - - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. +- `"anthropic-beta": optional array of AnthropicBeta` - - `"dm"` + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. - - `"engaged"` + - `string` - - `"monitoring"` + - `"message-batches-2024-09-24"` - - `"proactive"` + - `"prompt-caching-2024-07-31"` - - `"scheduled"` + - `"computer-use-2024-10-22"` - - `claude_tag_user_id: string or null` + - `"computer-use-2025-01-24"` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + - `"pdfs-2024-09-25"` - - `context_window: BetaAnalyticsContextWindow or null` + - `"token-counting-2024-11-01"` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `"token-efficient-tools-2025-02-19"` - - `"0-200k"` + - `"output-128k-2025-02-19"` - - `"200k-1M"` + - `"files-api-2025-04-14"` - - `inference_geo: "global" or "us" or null` + - `"mcp-client-2025-04-04"` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `"mcp-client-2025-11-20"` - - `"global"` + - `"dev-full-thinking-2025-05-14"` - - `"us"` + - `"interleaved-thinking-2025-05-14"` - - `model: string or null` + - `"code-execution-2025-05-22"` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + - `"extended-cache-ttl-2025-04-11"` - - `output_tokens: number` + - `"context-1m-2025-08-07"` - The number of output tokens generated. + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `data: array of BetaAnalyticsUsageItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsUsageGroup` + + The dimension values this row's usage is broken out by. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType or null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string or null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string or null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string or null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow or null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `deployment_id: string or null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string or null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `output_tokens: number` + + The number of output tokens generated. + + - `requests: number or null` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. + + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/usage \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Organization › Analytics › Cost + +### Get Cost By Dimension + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Query parameters + +- `starting_at: string` + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `actor_ids: optional array of string` + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + +- `actor_types: optional array of BetaAnalyticsActorType` + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: optional array of string` + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: optional array of BetaAnalyticsContextWindow` + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `ending_at: optional string` + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `environment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsCostGroupBy` + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"cost_type"` + + - `"deployment_id"` + + - `"environment_id"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"service_tier"` + + - `"session_id"` + + - `"slack_channel_id"` + + - `"speed"` + + - `"token_type"` + + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: optional number` + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + default: 20, minimum: 1, maximum: 1000 + +- `models: optional array of string` + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsCostOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `"amount"` + + - `"list_amount"` + + - `"time"` + +- `page: optional string` + + Opaque cursor from a previous response's `next_page` field. + +- `products: optional array of BetaAnalyticsUsageCostProductFilter` + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude_code"` + + - `"claude_console"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"claude_tag"` + + - `"cowork"` + + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + + - `"office_agent"` + +- `rbac_group_ids: optional array of string` + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `slack_channel_ids: optional array of string` + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: optional array of BetaAnalyticsSpeed` + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `data: array of BetaAnalyticsCostItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `cost: BetaAnalyticsCostMetrics` + + Cost for this row. + + - `amount: string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. + + - `requests: number or null` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType or null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string or null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string or null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string or null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow or null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `cost_type: BetaAnalyticsGroupedCostType or null` + + Cost component breakdown; null when returning the combined total. + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + + - `deployment_id: string or null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string or null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `token_type: BetaAnalyticsTokenType or null` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/cost \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). + +#### Query parameters + +- `starting_at: string` + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `bucket_width: optional "1d" or "1h" or "1m"` + + Time bucket granularity. + + default: 1d + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: optional array of string` + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: optional array of BetaAnalyticsContextWindow` + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `ending_at: optional string` + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"slack_channel_id"` + + - `"speed"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: optional number` + + Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + + minimum: 1 + +- `models: optional array of string` + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `page: optional string` + + Opaque cursor from a previous response's `next_page` field. + +- `products: optional array of BetaAnalyticsProductFilter` + + Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude-tag"` + + - `"claude_code"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"cowork"` + + - `"office_agent"` + +- `rbac_group_ids: optional array of string` + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `slack_channel_ids: optional array of string` + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: optional array of "fast" or "standard"` + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `user_ids: optional array of string` + + Filter to specific users by tagged user ID. + + maxItems: 100 + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +#### Returns + +- `data: array of BetaAnalyticsUsageReportTimeBucket` + + Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + + - `ending_at: string` + + End of the time bucket (exclusive) in RFC 3339 format. + + format: date-time + + - `results: array of BetaAnalyticsUsageBucketedResult` + + Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string or null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow or null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `inference_geo: "global" or "us" or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `output_tokens: number` + + The number of output tokens generated. - `product: string or null` @@ -17064,15 +18773,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/usage_report \ **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -17491,12 +19196,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -17860,15 +19564,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/cost_report \ **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -18407,6 +20107,10 @@ Anthropic account team. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `amount: string or null` @@ -19014,6 +20718,10 @@ come in a fixed order that is not creation order. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaSpendLimit` @@ -21994,6 +23702,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters (form-data) - `files: array of file` @@ -22399,6 +24111,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaPlugin object` @@ -22803,6 +24519,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `served_version_id: string` @@ -23254,6 +24974,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPlugin` @@ -23655,6 +25379,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedPlugin object` @@ -23837,6 +25565,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters (form-data) - `files: array of file` @@ -24184,6 +25916,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginVersion` @@ -24513,6 +26249,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaPluginVersion object` @@ -24849,6 +26589,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Example ```bash @@ -25021,6 +26765,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginInstallationSetting` @@ -25272,6 +27020,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `installation_preference: "auto_install" or "available" or "not_available" or "required"` @@ -25540,6 +27292,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedPluginInstallationSetting object` @@ -25782,6 +27538,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginShare` @@ -26041,6 +27801,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginMarketplace` @@ -26312,6 +28076,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaPluginMarketplace object` @@ -26573,6 +28341,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `default_installation_preference: "auto_install" or "available" or "not_available" or "required"` @@ -26856,6 +28628,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `repository_url: string` @@ -27126,6 +28902,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters (form-data) - `archive: file` @@ -27380,6 +29160,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `endpoint_url: string` @@ -27855,6 +29639,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaTelemetryDestination` @@ -28208,6 +29996,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaTelemetryDestination object` @@ -28556,6 +30348,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `display_name: optional string or null` @@ -29038,6 +30834,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedTelemetryDestination object` @@ -29199,6 +30999,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaTelemetryDestinationTestResponse object` @@ -29396,6 +31200,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaTelemetryDestinationWorkspace` @@ -29587,6 +31395,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaTelemetryDestinationWorkspace object` @@ -29772,6 +31584,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedTelemetryDestinationWorkspace object` @@ -29942,6 +31758,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"` @@ -30212,6 +32032,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaOrganizationWebhookEndpoint` @@ -30446,6 +32270,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationWebhookEndpoint object` @@ -30662,6 +32490,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `description: optional string` @@ -30912,6 +32744,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedOrganizationWebhookEndpoint object` @@ -31082,6 +32918,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationWebhookEndpointSigningSecret object` diff --git a/content/en/api/beta/organization/analytics.md b/content/en/api/beta/organization/analytics.md index 2f88a0ed95..8efdf9f176 100644 --- a/content/en/api/beta/organization/analytics.md +++ b/content/en/api/beta/organization/analytics.md @@ -7,6 +7,120 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics ## Domain types +### Beta Analytics Actor + +- `BetaAnalyticsActor = BetaAnalyticsReportUserActor or BetaAnalyticsServiceAccountActor or BetaAnalyticsFederatedActor or BetaAnalyticsAPIActor` + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + +### Beta Analytics Actor Type + +- `BetaAnalyticsActorType = "api_actor" or "federated_actor" or "service_account_actor" or "user_actor"` + + Kind of identity a row's usage is attributed to. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +### Beta Analytics API Actor + +- `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + ### Beta Analytics Artifact Activity - `BetaAnalyticsArtifactActivity object` @@ -1046,6 +1160,152 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics Number of messages sent in Claude Design sessions +### Beta Analytics Federated Actor + +- `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + +### Beta Analytics Federated Actor AWS Provider + +- `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + +### Beta Analytics Federated Actor Azure Provider + +- `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + +### Beta Analytics Federated Actor GCP Provider + +- `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + +### Beta Analytics Federated Actor OIDC Provider + +- `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + +### Beta Analytics Federated Actor Provider + +- `BetaAnalyticsFederatedActorProvider = BetaAnalyticsFederatedActorAWSProvider or BetaAnalyticsFederatedActorAzureProvider or BetaAnalyticsFederatedActorGCPProvider or BetaAnalyticsFederatedActorOIDCProvider` + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + +### Beta Analytics Grouped Cost Type + +- `BetaAnalyticsGroupedCostType = "code_execution" or "session_usage" or "tokens" or "web_search"` + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + ### Beta Analytics Inference Geo Filter - `BetaAnalyticsInferenceGeoFilter = "global" or "not_available" or "us"` @@ -1326,6 +1586,30 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics Tagged user identifier (e.g. `user_...`). Present only when the request grouped by `user_id`. +### Beta Analytics Report User Actor + +- `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + ### Beta Analytics Science Metrics - `BetaAnalyticsScienceMetrics object` @@ -1360,6 +1644,32 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics The number of web search requests made. +### Beta Analytics Service Account Actor + +- `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + +### Beta Analytics Service Tier + +- `BetaAnalyticsServiceTier = "batch" or "flex" or "flex_discount" or 3 more` + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + ### Beta Analytics Single Day Activity Summary - `BetaAnalyticsSingleDayActivitySummary object` @@ -1720,6 +2030,24 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics Number of distinct Office Agent sessions in which the skill was used. A skill counts as used only when it is explicitly activated — the model (or the user, via the skill's slash command) invokes it, reading its instructions into context as part of that activation. Skills that are merely installed or listed as available, or whose content reaches the context without an activation (preloaded, hook-injected, or read as a plain file), are not counted. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed. +### Beta Analytics Speed + +- `BetaAnalyticsSpeed = "fast" or "standard"` + + - `"fast"` + + - `"standard"` + +### Beta Analytics Time Bucket Width + +- `BetaAnalyticsTimeBucketWidth = "1d" or "1h" or "1m"` + + - `"1d"` + + - `"1h"` + + - `"1m"` + ### Beta Analytics Token Type - `BetaAnalyticsTokenType = "cache_creation.ephemeral_1h_input_tokens" or "cache_creation.ephemeral_5m_input_tokens" or "cache_read_input_tokens" or 2 more` @@ -1880,6 +2208,52 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics The number of uncached input tokens processed. +### Beta Analytics Usage Cost Inference Geo + +- `BetaAnalyticsUsageCostInferenceGeo = "global" or "us"` + + - `"global"` + + - `"us"` + +### Beta Analytics Usage Cost Product Filter + +- `BetaAnalyticsUsageCostProductFilter = "chat" or "chat_cowork_unified" or "claude_code" or 9 more` + + Publicly documented product surfaces. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude_code"` + + - `"claude_console"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"claude_tag"` + + - `"cowork"` + + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + + - `"office_agent"` + +### Beta Analytics Usage Cost Sort Order + +- `BetaAnalyticsUsageCostSortOrder = "asc" or "desc"` + + - `"asc"` + + - `"desc"` + ### Beta Analytics Usage Report Time Bucket - `BetaAnalyticsUsageReportTimeBucket object` @@ -4657,18 +5031,21 @@ curl https://api.anthropic.com/v1/organizations/analytics/artifacts \ } ``` -## Analytics › Usage Report +## Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Query parameters @@ -4678,21 +5055,41 @@ key with the `read:analytics` scope. format: date-time -- `bucket_width: optional "1d" or "1h" or "1m"` +- `actor_ids: optional array of string` - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: optional array of BetaAnalyticsActorType` - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -4722,19 +5119,1549 @@ key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: optional string` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` +- `environment_ids: optional array of string` - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. maxItems: 100 - - `"claude_tag_category"` +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsUsageGroupBy` + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"deployment_id"` + + - `"environment_id"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"service_tier"` + + - `"session_id"` + + - `"slack_channel_id"` + + - `"speed"` + + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: optional number` + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + default: 20, minimum: 1, maximum: 1000 + +- `models: optional array of string` + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsUsageOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` + +- `page: optional string` + + Opaque cursor from a previous response's `next_page` field. + +- `products: optional array of BetaAnalyticsUsageCostProductFilter` + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude_code"` + + - `"claude_console"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"claude_tag"` + + - `"cowork"` + + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + + - `"office_agent"` + +- `rbac_group_ids: optional array of string` + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `slack_channel_ids: optional array of string` + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: optional array of BetaAnalyticsSpeed` + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `data: array of BetaAnalyticsUsageItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsUsageGroup` + + The dimension values this row's usage is broken out by. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType or null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string or null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string or null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string or null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow or null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `deployment_id: string or null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string or null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `output_tokens: number` + + The number of output tokens generated. + + - `requests: number or null` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. + + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/usage \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Analytics › Cost + +### Get Cost By Dimension + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Query parameters + +- `starting_at: string` + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `actor_ids: optional array of string` + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + +- `actor_types: optional array of BetaAnalyticsActorType` + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: optional array of string` + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: optional array of BetaAnalyticsContextWindow` + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `ending_at: optional string` + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `environment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsCostGroupBy` + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"cost_type"` + + - `"deployment_id"` + + - `"environment_id"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"service_tier"` + + - `"session_id"` + + - `"slack_channel_id"` + + - `"speed"` + + - `"token_type"` + + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: optional number` + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + default: 20, minimum: 1, maximum: 1000 + +- `models: optional array of string` + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsCostOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `"amount"` + + - `"list_amount"` + + - `"time"` + +- `page: optional string` + + Opaque cursor from a previous response's `next_page` field. + +- `products: optional array of BetaAnalyticsUsageCostProductFilter` + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude_code"` + + - `"claude_console"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"claude_tag"` + + - `"cowork"` + + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + + - `"office_agent"` + +- `rbac_group_ids: optional array of string` + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `slack_channel_ids: optional array of string` + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: optional array of BetaAnalyticsSpeed` + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +#### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `data: array of BetaAnalyticsCostItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `cost: BetaAnalyticsCostMetrics` + + Cost for this row. + + - `amount: string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. + + - `requests: number or null` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `BetaAnalyticsFederatedActor object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `BetaAnalyticsFederatedActorAWSProvider object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType or null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string or null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string or null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string or null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow or null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `cost_type: BetaAnalyticsGroupedCostType or null` + + Cost component breakdown; null when returning the combined total. + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + + - `deployment_id: string or null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string or null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `token_type: BetaAnalyticsTokenType or null` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/cost \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Analytics › Usage Report + +### Get Token Usage Over Time + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). + +#### Query parameters + +- `starting_at: string` + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `bucket_width: optional "1d" or "1h" or "1m"` + + Time bucket granularity. + + default: 1d + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: optional array of string` + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: optional array of BetaAnalyticsContextWindow` + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `ending_at: optional string` + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `"claude_tag_category"` - `"claude_tag_user_id"` @@ -5031,15 +6958,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/usage_report \ **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -5458,12 +7381,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters @@ -5827,15 +7749,11 @@ curl https://api.anthropic.com/v1/organizations/analytics/cost_report \ **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). #### Query parameters diff --git a/content/en/api/beta/organization/analytics/cost.md b/content/en/api/beta/organization/analytics/cost.md index 580a9a63a2..9f218a50f9 100644 --- a/content/en/api/beta/organization/analytics/cost.md +++ b/content/en/api/beta/organization/analytics/cost.md @@ -5,16 +5,19 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/cost # Cost -## Get Cost Over Time +## Get Cost By Dimension -**GET** `/v1/organizations/analytics/cost_report` +**GET** `/v1/organizations/analytics/cost` -Get cost in USD over time across a date range. +Get cost in USD across a date range, broken out by dimension. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. ### Query parameters @@ -24,21 +27,41 @@ Requires an API key with the `read:analytics` scope. format: date-time -- `bucket_width: optional "1d" or "1h" or "1m"` +- `actor_ids: optional array of string` - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: optional array of BetaAnalyticsActorType` - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` -- `claude_tag_categories: optional array of "dm" or "engaged" or "monitoring" or 2 more` + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + maxItems: 100 + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -58,7 +81,7 @@ Requires an API key with the `read:analytics` scope. maxItems: 100 -- `context_windows: optional array of "0-200k" or "200k-1M"` +- `context_windows: optional array of BetaAnalyticsContextWindow` Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. @@ -68,18 +91,44 @@ Requires an API key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: optional string` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 8 more` +- `environment_ids: optional array of string` - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. maxItems: 100 +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsCostGroupBy` + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` @@ -88,6 +137,10 @@ Requires an API key with the `read:analytics` scope. - `"cost_type"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -96,13 +149,21 @@ Requires an API key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` - `"token_type"` -- `inference_geos: optional array of "global" or "not_available" or "us"` + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -116,9 +177,9 @@ Requires an API key with the `read:analytics` scope. - `limit: optional number` - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + default: 20, minimum: 1, maximum: 1000 - `models: optional array of string` @@ -126,28 +187,56 @@ Requires an API key with the `read:analytics` scope. maxItems: 100 +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsCostOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `"amount"` + + - `"list_amount"` + + - `"time"` + - `page: optional string` Opaque cursor from a previous response's `next_page` field. -- `products: optional array of "chat" or "claude-tag" or "claude_code" or 4 more` +- `products: optional array of BetaAnalyticsUsageCostProductFilter` - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 - `"chat"` - - `"claude-tag"` + - `"chat_cowork_unified"` - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids: optional array of string` @@ -156,13 +245,37 @@ Requires an API key with the `read:analytics` scope. maxItems: 100 +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids: optional array of string` Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 -- `speeds: optional array of "fast" or "standard"` +- `speeds: optional array of BetaAnalyticsSpeed` Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -172,409 +285,512 @@ Requires an API key with the `read:analytics` scope. - `"standard"` -- `user_ids: optional array of string` +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` - Filter to specific users by tagged user ID. + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. maxItems: 100 -### Returns +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +### Headers + +- `"anthropic-version": optional string` -- `BetaCostBucket object` + The version of the Claude API you want to use. - - `data: array of object` + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. +- `"anthropic-beta": optional array of AnthropicBeta` - - `ending_at: string` + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. - End of the time bucket (exclusive) in RFC 3339 format. + - `string` - format: date-time + - `"message-batches-2024-09-24"` - - `results: array of object` + - `"prompt-caching-2024-07-31"` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + - `"computer-use-2024-10-22"` - - `amount: string` + - `"computer-use-2025-01-24"` - Amount (post-discount, pre-credit) in fractional cents. + - `"pdfs-2024-09-25"` - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `"token-counting-2024-11-01"` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `"token-efficient-tools-2025-02-19"` - - `"dm"` + - `"output-128k-2025-02-19"` - - `"engaged"` + - `"files-api-2025-04-14"` - - `"monitoring"` + - `"mcp-client-2025-04-04"` - - `"proactive"` + - `"mcp-client-2025-11-20"` - - `"scheduled"` + - `"dev-full-thinking-2025-05-14"` - - `claude_tag_user_id: string or null` + - `"interleaved-thinking-2025-05-14"` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + - `"code-execution-2025-05-22"` - - `context_window: "0-200k" or "200k-1M" or null` + - `"extended-cache-ttl-2025-04-11"` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `"context-1m-2025-08-07"` - - `"0-200k"` + - `"context-management-2025-06-27"` - - `"200k-1M"` + - `"model-context-window-exceeded-2025-08-26"` - - `cost_type: "code_execution" or "tokens" or "web_search" or null` + - `"skills-2025-10-02"` - Cost component when `group_by[]=cost_type`; null otherwise (amount is the combined total). + - `"fast-mode-2026-02-01"` - - `"code_execution"` + - `"output-300k-2026-03-24"` - - `"tokens"` + - `"user-profiles-2026-03-24"` - - `"web_search"` + - `"user-profiles-2026-08-18"` - - `currency: string` + - `"user-profiles-2026-09-04"` - Currency code for the cost amount. Currently always `"USD"`. + - `"advisor-tool-2026-03-01"` - default: USD + - `"managed-agents-2026-04-01"` - - `inference_geo: "global" or "us" or null` + - `"cache-diagnosis-2026-04-07"` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `"dreaming-2026-04-21"` - - `"global"` + - `"thinking-token-count-2026-05-13"` - - `"us"` + - `"server-side-fallback-2026-06-01"` - - `list_amount: string` + - `"server-side-fallback-2026-07-01"` - List-price amount (pre-discount) in fractional cents. + - `"fallback-credit-2026-06-01"` - - `model: string or null` + - `"fallback-credit-2026-07-01"` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + - `"agent-memory-2026-07-22"` - - `product: string or null` + - `"mid-conversation-tool-changes-2026-07-01"` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + - `"compact-2026-01-12"` - - `rbac_group_id: string or null` + - `"computer-use-2025-11-24"` - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + - `"mcp-tunnels-2026-06-22"` - - `requests: number or null` + - `"structured-outputs-2025-11-13"` - Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + - `"task-budgets-2026-03-13"` - - `slack_channel_id: string or null` + - `"thinking-display-updates-2026-08-18"` - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `"ce-user-management-2026-07-13"` - - `speed: "fast" or "standard" or null` + - `"mid-conversation-output-config-2026-07-01"` - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + - `"thinking-binding-controls-2026-08-01"` - - `"fast"` + - `"mid-conversation-system-clear-at-2026-08-21"` - - `"standard"` + - `"compact-2026-09-04"` - - `token_type: "cache_creation.ephemeral_1h_input_tokens" or "cache_creation.ephemeral_5m_input_tokens" or "cache_read_input_tokens" or 2 more or null` + - `"inline-tools-2026-09-15"` - Token type when `group_by[]=token_type` and `cost_type=tokens`; null otherwise. + - `"mcp-client-2026-09-15"` - - `"cache_creation.ephemeral_1h_input_tokens"` + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +### Returns - - `"cache_creation.ephemeral_5m_input_tokens"` +- `data: array of BetaAnalyticsCostItem` - - `"cache_read_input_tokens"` + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. - - `"output_tokens"` + - `cost: BetaAnalyticsCostMetrics` - - `"uncached_input_tokens"` + Cost for this row. - - `starting_at: string` + - `amount: string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. - Start of the time bucket (inclusive) in RFC 3339 format. + - `requests: number or null` - format: date-time + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). - - `data_refreshed_at: string or null` + - `ending_at: string` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case every bucket's `results` list is empty. Buckets beyond this watermark are incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `has_more: boolean` + - `group: BetaAnalyticsCostGroup` - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + The dimension values this row's cost is broken out by. - - `next_page: string or null` + - `actor: BetaAnalyticsActor or null` - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `organization_id: string` + - `BetaAnalyticsReportUserActor object` - ID of the Organization. + - `type: "user_actor"` -### Example + Actor type. Always `"user_actor"`. -```bash -curl https://api.anthropic.com/v1/organizations/analytics/cost_report \ - -H 'anthropic-version: 2023-06-01' \ - -H "X-Api-Key: $ANTHROPIC_API_KEY" -``` + - `deleted: boolean` -#### Response (200) + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. -```json -{ - "data": [ - { - "ending_at": "2019-12-27T18:11:19.117Z", - "results": [ - { - "amount": "amount", - "claude_tag_category": "dm", - "claude_tag_user_id": "U0123ABCDEF", - "context_window": "0-200k", - "cost_type": "code_execution", - "currency": "USD", - "inference_geo": "global", - "list_amount": "list_amount", - "model": "claude-opus-5", - "product": "chat", - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "requests": 0, - "slack_channel_id": "C0123ABCDEF", - "speed": "fast", - "token_type": "cache_creation.ephemeral_1h_input_tokens" - } - ], - "starting_at": "2019-12-27T18:11:19.117Z" - } - ], - "data_refreshed_at": "2019-12-27T18:11:19.117Z", - "has_more": true, - "next_page": "next_page", - "organization_id": "org_013FP9SaFPBg7Kw7fetjn6cF" -} -``` + - `email_address: string or null` -## Get Per-User Cost + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. -**GET** `/v1/organizations/analytics/user_cost_report` + - `name: string or null` -Get per-user cost in USD across a date range. + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. + - `user_id: string` -### Query parameters + Tagged user ID. -- `starting_at: string` + - `BetaAnalyticsServiceAccountActor object` - Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + - `type: "service_account_actor"` - format: date-time + - `service_account_id: string` -- `bucket_width: optional "1d" or "1h" or "1m"` + Tagged service account ID. - Time-bucket granularity. When set, each row's `starting_at` and `ending_at` are populated and one actor may span several rows (one per time bucket with usage). The time bucket counts toward `limit`, so one page can return multiple rows for the same actor. `ending_at` is required when `bucket_width` is set, and with `bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the full `[starting_at, ending_at)` range. + - `BetaAnalyticsFederatedActor object` - - `"1d"` + - `type: "federated_actor"` - - `"1h"` + - `provider: BetaAnalyticsFederatedActorProvider` - - `"1m"` + The trusted provider that asserted the caller's identity. -- `claude_tag_categories: optional array of "dm" or "engaged" or "monitoring" or 2 more` + - `BetaAnalyticsFederatedActorAWSProvider object` - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + - `type: "aws"` - maxItems: 100 + - `account_id: string` - - `"dm"` + The AWS account the organization is bound to. - - `"engaged"` + - `signed_principal: string` - - `"monitoring"` + The AWS-signed ARN of the IAM principal that made the requests. - - `"proactive"` + - `BetaAnalyticsFederatedActorAzureProvider object` - - `"scheduled"` + - `type: "azure"` -- `claude_tag_user_ids: optional array of string` + - `subscription_id: string` - Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + The Azure subscription the organization is bound to. - maxItems: 100 + - `BetaAnalyticsFederatedActorGCPProvider object` -- `context_windows: optional array of "0-200k" or "200k-1M"` + - `type: "gcp"` - Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + - `project_number: string` - maxItems: 100 + The Google Cloud project the organization is bound to. - - `"0-200k"` + - `BetaAnalyticsFederatedActorOIDCProvider object` - - `"200k-1M"` + - `type: "oidc"` -- `ending_at: optional string` + - `issuer: string or null` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + The federation issuer's URL. - format: date-time + - `subject: string or null` -- `exclude_deleted_users: optional boolean` + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. - If true, omit rows for users who are deleted (`deleted: true`). A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + - `BetaAnalyticsAPIActor object` - default: false + - `type: "api_actor"` -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 8 more` + - `api_key_id: string` - Break each actor's row out by the given dimensions. Accepts the same values as the bucketed `/cost_report` endpoint. The `product`, `model`, `context_window`, `inference_geo`, and `speed` dimensions — and the time bucket, when `bucket_width` is set — count toward `limit`. `cost_type` and `token_type` do not: `cost_type` returns one row per cost component (tokens, web search, code execution); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search and code-execution rows. A page can therefore contain more rows than `limit` when `cost_type` or `token_type` is requested. + Tagged API key ID. - maxItems: 100 + - `actor_type: BetaAnalyticsActorType or null` - - `"claude_tag_category"` + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. - - `"claude_tag_user_id"` + - `"api_actor"` - - `"context_window"` + - `"federated_actor"` - - `"cost_type"` + - `"service_account_actor"` - - `"inference_geo"` + - `"user_actor"` - - `"model"` + - `agent_id: string or null` - - `"product"` + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. - - `"rbac_group_id"` + - `api_key_id: string or null` - - `"slack_channel_id"` + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - - `"speed"` + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - - `"token_type"` + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. -- `inference_geos: optional array of "global" or "not_available" or "us"` + - `"dm"` - Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + - `"engaged"` - maxItems: 100 + - `"monitoring"` - - `"global"` + - `"proactive"` - - `"not_available"` + - `"scheduled"` - - `"us"` + - `claude_tag_user_id: string or null` -- `limit: optional number` + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. - Number of rows per page (1-1000, default 20). One row per actor unless `group_by[]` or `bucket_width` splits an actor across rows; `cost_type`/`token_type` fan-out rows (cost endpoint only) are the exception — they do not count toward this limit, so `data` can exceed it. + - `context_window: BetaAnalyticsContextWindow or null` - default: 20, minimum: 1, maximum: 1000 + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. -- `models: optional array of string` + - `"0-200k"` - Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + - `"200k-1M"` - maxItems: 100 + - `cost_type: BetaAnalyticsGroupedCostType or null` -- `order: optional "asc" or "desc"` + Cost component breakdown; null when returning the combined total. - Sort direction. Defaults to `desc`. + - `"code_execution"` - default: desc + - `"session_usage"` - - `"asc"` + - `"tokens"` - - `"desc"` + - `"web_search"` -- `order_by: optional "amount" or "list_amount"` + - `deployment_id: string or null` - Metric to rank actors by. Defaults to `amount`. + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. - default: amount + - `environment_id: string or null` - - `"amount"` + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. - - `"list_amount"` + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` -- `page: optional string` + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). - Opaque cursor from a previous response's `next_page` field. + - `"global"` -- `products: optional array of "chat" or "claude-tag" or "claude_code" or 4 more` + - `"us"` - Product surfaces to include. Defaults to all products. + - `model: string or null` - maxItems: 100 + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. - - `"chat"` + - `product: string or null` - - `"claude-tag"` + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". - - `"claude_code"` + - `rbac_group_id: string or null` - - `"claude_design"` + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. - - `"claude_in_chrome"` + - `service_tier: BetaAnalyticsServiceTier or null` - - `"cowork"` + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. - - `"office_agent"` + - `"batch"` -- `rbac_group_ids: optional array of string` + - `"flex"` - Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + - `"flex_discount"` - maxItems: 100 + - `"priority"` -- `slack_channel_ids: optional array of string` + - `"priority_on_demand"` - Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + - `"standard"` - maxItems: 100 + - `session_id: string or null` -- `speeds: optional array of "fast" or "standard"` + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. - Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + - `slack_channel_id: string or null` - maxItems: 100 + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). - - `"fast"` + - `speed: BetaAnalyticsSpeed or null` - - `"standard"` + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. -- `user_ids: optional array of string` + - `"fast"` - Filter to specific users by tagged user ID. + - `"standard"` - maxItems: 100 + - `token_type: BetaAnalyticsTokenType or null` -### Returns + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/cost \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +#### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Domain types -- `BetaUserCost object` +### Beta Analytics Cost Group - - `data: array of object` +- `BetaAnalyticsCostGroup object` - Rows for this page, ranked by `order_by` in the `order` direction. One row per user, or several per user when `group_by[]` or `bucket_width` breaks that user's usage or cost out across rows. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + The dimension values one cost row is broken out by, including + `cost_type` and `token_type`. - - `actor: BetaAnalyticsUserActor` + - `actor: BetaAnalyticsActor or null` - The user this row's usage or cost is attributed to. Always a `user_actor`. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` - `type: "user_actor"` @@ -586,389 +802,415 @@ organizations on a Claude Enterprise plan. Requires an API key with the - `email_address: string or null` - The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`). + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - `name: string or null` - The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"` for usage by Anthropic's security-patching service) or null. + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. - `user_id: string` Tagged user ID. - - `email: string or null` + - `BetaAnalyticsServiceAccountActor object` - **Deprecated** + - `type: "service_account_actor"` - Deprecated: use `email_address`, which carries the same value. + - `service_account_id: string` - - `amount: string` + Tagged service account ID. - Amount (post-discount, pre-credit) in fractional cents (minor units). + - `BetaAnalyticsFederatedActor object` - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `type: "federated_actor"` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `provider: BetaAnalyticsFederatedActorProvider` - - `"dm"` + The trusted provider that asserted the caller's identity. - - `"engaged"` + - `BetaAnalyticsFederatedActorAWSProvider object` - - `"monitoring"` + - `type: "aws"` - - `"proactive"` + - `account_id: string` - - `"scheduled"` + The AWS account the organization is bound to. - - `claude_tag_user_id: string or null` + - `signed_principal: string` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + The AWS-signed ARN of the IAM principal that made the requests. - - `context_window: "0-200k" or "200k-1M" or null` + - `BetaAnalyticsFederatedActorAzureProvider object` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `type: "azure"` - - `"0-200k"` + - `subscription_id: string` - - `"200k-1M"` + The Azure subscription the organization is bound to. - - `cost_type: "code_execution" or "tokens" or "web_search" or null` + - `BetaAnalyticsFederatedActorGCPProvider object` - Cost component breakdown; null when returning the combined total. + - `type: "gcp"` - - `"code_execution"` + - `project_number: string` - - `"tokens"` + The Google Cloud project the organization is bound to. - - `"web_search"` + - `BetaAnalyticsFederatedActorOIDCProvider object` - - `currency: string` + - `type: "oidc"` - Currency code for the cost amount. Currently always `"USD"`. + - `issuer: string or null` - default: USD + The federation issuer's URL. - - `ending_at: string or null` + - `subject: string or null` - End of the row's UTC time bucket (exclusive), as an RFC 3339 timestamp; equal to `starting_at` plus one `bucket_width`. Null unless `bucket_width` is set. + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. - format: date-time + - `BetaAnalyticsAPIActor object` - - `inference_geo: "global" or "us" or null` + - `type: "api_actor"` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `api_key_id: string` - - `"global"` + Tagged API key ID. - - `"us"` + - `actor_type: BetaAnalyticsActorType or null` - - `list_amount: string` + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. - List-price amount (pre-discount) in fractional cents. + - `"api_actor"` - - `model: string or null` + - `"federated_actor"` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + - `"service_account_actor"` - - `product: string or null` + - `"user_actor"` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + - `agent_id: string or null` - - `rbac_group_id: string or null` + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + - `api_key_id: string or null` - - `requests: number or null` + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - - `slack_channel_id: string or null` + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `"dm"` - - `speed: "fast" or "standard" or null` + - `"engaged"` - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + - `"monitoring"` - - `"fast"` + - `"proactive"` - - `"standard"` + - `"scheduled"` - - `starting_at: string or null` + - `claude_tag_user_id: string or null` - Start of the row's UTC time bucket (inclusive), as an RFC 3339 timestamp. Null unless `bucket_width` is set; without `bucket_width`, each row aggregates the full requested range. + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. - format: date-time + - `context_window: BetaAnalyticsContextWindow or null` - - `token_type: "cache_creation.ephemeral_1h_input_tokens" or "cache_creation.ephemeral_5m_input_tokens" or "cache_read_input_tokens" or 2 more or null` + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. - Token type when `cost_type` is `tokens`; null otherwise. + - `"0-200k"` - - `"cache_creation.ephemeral_1h_input_tokens"` + - `"200k-1M"` - - `"cache_creation.ephemeral_5m_input_tokens"` + - `cost_type: BetaAnalyticsGroupedCostType or null` - - `"cache_read_input_tokens"` + Cost component breakdown; null when returning the combined total. - - `"output_tokens"` + - `"code_execution"` - - `"uncached_input_tokens"` + - `"session_usage"` - - `data_refreshed_at: string or null` + - `"tokens"` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + - `"web_search"` - format: date-time + - `deployment_id: string or null` - - `has_more: boolean` + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + - `environment_id: string or null` - - `next_page: string or null` + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` - - `organization_id: string` + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). - ID of the Organization. + - `"global"` -### Example + - `"us"` -```bash -curl https://api.anthropic.com/v1/organizations/analytics/user_cost_report \ - -H 'anthropic-version: 2023-06-01' \ - -H "X-Api-Key: $ANTHROPIC_API_KEY" -``` + - `model: string or null` -#### Response (200) + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. -```json -{ - "data": [ - { - "actor": { - "deleted": true, - "email": "jane@example.com", - "email_address": "jane@example.com", - "name": "Jane Smith", - "type": "user_actor", - "user_id": "user_01AbCdEfGhIjKlMnOpQrSt" - }, - "amount": "41280.000000", - "claude_tag_category": "dm", - "claude_tag_user_id": "U0123ABCDEF", - "context_window": "0-200k", - "cost_type": "code_execution", - "currency": "USD", - "ending_at": "2019-12-27T18:11:19.117Z", - "inference_geo": "global", - "list_amount": "51600.000000", - "model": "claude-opus-5", - "product": "chat", - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "requests": 128, - "slack_channel_id": "C0123ABCDEF", - "speed": "fast", - "starting_at": "2019-12-27T18:11:19.117Z", - "token_type": "cache_creation.ephemeral_1h_input_tokens" - } - ], - "data_refreshed_at": "2019-12-27T18:11:19.117Z", - "has_more": true, - "next_page": "next_page", - "organization_id": "org_013FP9SaFPBg7Kw7fetjn6cF" -} -``` + - `product: string or null` -## Domain types + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. -### Beta Cost Bucket + - `service_tier: BetaAnalyticsServiceTier or null` -- `BetaCostBucket object` + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. - - `data: array of object` + - `"batch"` - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + - `"flex"` - - `ending_at: string` + - `"flex_discount"` - End of the time bucket (exclusive) in RFC 3339 format. + - `"priority"` - format: date-time + - `"priority_on_demand"` - - `results: array of object` + - `"standard"` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + - `session_id: string or null` - - `amount: string` + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. - Amount (post-discount, pre-credit) in fractional cents. + - `slack_channel_id: string or null` - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `speed: BetaAnalyticsSpeed or null` - - `"dm"` + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. - - `"engaged"` + - `"fast"` - - `"monitoring"` + - `"standard"` - - `"proactive"` + - `token_type: BetaAnalyticsTokenType or null` - - `"scheduled"` + Token type when `cost_type` is `tokens`; null otherwise. - - `claude_tag_user_id: string or null` + - `"cache_creation.ephemeral_1h_input_tokens"` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + - `"cache_creation.ephemeral_5m_input_tokens"` - - `context_window: "0-200k" or "200k-1M" or null` + - `"cache_read_input_tokens"` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `"output_tokens"` - - `"0-200k"` + - `"uncached_input_tokens"` - - `"200k-1M"` + - `user_profile_id: string or null` - - `cost_type: "code_execution" or "tokens" or "web_search" or null` + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. - Cost component when `group_by[]=cost_type`; null otherwise (amount is the combined total). + - `workspace_id: string or null` - - `"code_execution"` + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. - - `"tokens"` +### Beta Analytics Cost Group By - - `"web_search"` +- `BetaAnalyticsCostGroupBy = "actor" or "actor_type" or "agent_id" or 18 more` - - `currency: string` + - `"actor"` - Currency code for the cost amount. Currently always `"USD"`. + - `"actor_type"` - default: USD + - `"agent_id"` - - `inference_geo: "global" or "us" or null` + - `"api_key_id"` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `"claude_tag_category"` - - `"global"` + - `"claude_tag_user_id"` - - `"us"` + - `"context_window"` - - `list_amount: string` + - `"cost_type"` - List-price amount (pre-discount) in fractional cents. + - `"deployment_id"` - - `model: string or null` + - `"environment_id"` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + - `"inference_geo"` + + - `"model"` - - `product: string or null` + - `"product"` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + - `"rbac_group_id"` - - `rbac_group_id: string or null` + - `"service_tier"` - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + - `"session_id"` - - `requests: number or null` + - `"slack_channel_id"` - Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + - `"speed"` - - `slack_channel_id: string or null` + - `"token_type"` - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `"user_profile_id"` - - `speed: "fast" or "standard" or null` + - `"workspace_id"` - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. +### Beta Analytics Cost Item - - `"fast"` +- `BetaAnalyticsCostItem object` - - `"standard"` + - `cost: BetaAnalyticsCostMetrics` - - `token_type: "cache_creation.ephemeral_1h_input_tokens" or "cache_creation.ephemeral_5m_input_tokens" or "cache_read_input_tokens" or 2 more or null` + Cost for this row. - Token type when `group_by[]=token_type` and `cost_type=tokens`; null otherwise. + - `amount: string` - - `"cache_creation.ephemeral_1h_input_tokens"` + Amount (post-discount, pre-credit) in fractional cents (minor units). - - `"cache_creation.ephemeral_5m_input_tokens"` + - `currency: string` - - `"cache_read_input_tokens"` + Currency code for the cost amount. Currently always `"USD"`. - - `"output_tokens"` + default: USD - - `"uncached_input_tokens"` + - `list_amount: string` - - `starting_at: string` + List-price amount (pre-discount) in fractional cents. - Start of the time bucket (inclusive) in RFC 3339 format. + - `requests: number or null` - format: date-time + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). - - `data_refreshed_at: string or null` + - `ending_at: string` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case every bucket's `results` list is empty. Buckets beyond this watermark are incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `has_more: boolean` + - `group: BetaAnalyticsCostGroup` - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + The dimension values this row's cost is broken out by. - - `next_page: string or null` + - `actor: BetaAnalyticsActor or null` - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `organization_id: string` + - `BetaAnalyticsReportUserActor object` - ID of the Organization. + - `type: "user_actor"` -### Beta User Cost + Actor type. Always `"user_actor"`. -- `BetaUserCost object` + - `deleted: boolean` - - `data: array of object` + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - Rows for this page, ranked by `order_by` in the `order` direction. One row per user, or several per user when `group_by[]` or `bucket_width` breaks that user's usage or cost out across rows. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + - `email_address: string or null` - - `actor: BetaAnalyticsUserActor` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - The user this row's usage or cost is attributed to. Always a `user_actor`. + - `name: string or null` - - `type: "user_actor"` + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. - Actor type. Always `"user_actor"`. + - `user_id: string` - - `deleted: boolean` + Tagged user ID. - True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + - `BetaAnalyticsServiceAccountActor object` - - `email_address: string or null` + - `type: "service_account_actor"` - The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`). + - `service_account_id: string` - - `name: string or null` + Tagged service account ID. - The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"` for usage by Anthropic's security-patching service) or null. + - `BetaAnalyticsFederatedActor object` - - `user_id: string` + - `type: "federated_actor"` - Tagged user ID. + - `provider: BetaAnalyticsFederatedActorProvider` - - `email: string or null` + The trusted provider that asserted the caller's identity. - **Deprecated** + - `BetaAnalyticsFederatedActorAWSProvider object` - Deprecated: use `email_address`, which carries the same value. + - `type: "aws"` - - `amount: string` + - `account_id: string` - Amount (post-discount, pre-credit) in fractional cents (minor units). + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `BetaAnalyticsFederatedActorAzureProvider object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `BetaAnalyticsFederatedActorGCPProvider object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `BetaAnalyticsFederatedActorOIDCProvider object` + + - `type: "oidc"` + + - `issuer: string or null` + + The federation issuer's URL. + + - `subject: string or null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `BetaAnalyticsAPIActor object` - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `type: "api_actor"` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType or null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string or null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string or null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. - `"dm"` @@ -984,7 +1226,7 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_cost_report \ Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. - - `context_window: "0-200k" or "200k-1M" or null` + - `context_window: BetaAnalyticsContextWindow or null` Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. @@ -992,29 +1234,27 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_cost_report \ - `"200k-1M"` - - `cost_type: "code_execution" or "tokens" or "web_search" or null` + - `cost_type: BetaAnalyticsGroupedCostType or null` Cost component breakdown; null when returning the combined total. - `"code_execution"` + - `"session_usage"` + - `"tokens"` - `"web_search"` - - `currency: string` - - Currency code for the cost amount. Currently always `"USD"`. + - `deployment_id: string or null` - default: USD + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. - - `ending_at: string or null` + - `environment_id: string or null` - End of the row's UTC time bucket (exclusive), as an RFC 3339 timestamp; equal to `starting_at` plus one `bucket_width`. Null unless `bucket_width` is set. + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. - format: date-time - - - `inference_geo: "global" or "us" or null` + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). @@ -1022,31 +1262,43 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_cost_report \ - `"us"` - - `list_amount: string` - - List-price amount (pre-discount) in fractional cents. - - `model: string or null` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. - `product: string or null` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". - `rbac_group_id: string or null` RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. - - `requests: number or null` + - `service_tier: BetaAnalyticsServiceTier or null` - Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. - `slack_channel_id: string or null` Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). - - `speed: "fast" or "standard" or null` + - `speed: BetaAnalyticsSpeed or null` Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. @@ -1054,13 +1306,7 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_cost_report \ - `"standard"` - - `starting_at: string or null` - - Start of the row's UTC time bucket (inclusive), as an RFC 3339 timestamp. Null unless `bucket_width` is set; without `bucket_width`, each row aggregates the full requested range. - - format: date-time - - - `token_type: "cache_creation.ephemeral_1h_input_tokens" or "cache_creation.ephemeral_5m_input_tokens" or "cache_read_input_tokens" or 2 more or null` + - `token_type: BetaAnalyticsTokenType or null` Token type when `cost_type` is `tokens`; null otherwise. @@ -1074,20 +1320,50 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_cost_report \ - `"uncached_input_tokens"` - - `data_refreshed_at: string or null` + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. format: date-time - - `has_more: boolean` +### Beta Analytics Cost Metrics - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. +- `BetaAnalyticsCostMetrics object` - - `next_page: string or null` + The cost of one row. - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + - `amount: string` - - `organization_id: string` + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. + + - `requests: number or null` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + +### Beta Analytics Cost Order By + +- `BetaAnalyticsCostOrderBy = "amount" or "list_amount" or "time"` + + - `"amount"` + + - `"list_amount"` - ID of the Organization. + - `"time"` diff --git a/content/en/api/beta/organization/analytics/cost/list.md b/content/en/api/beta/organization/analytics/cost/list.md index 4a048b51e1..3bd492e900 100644 --- a/content/en/api/beta/organization/analytics/cost/list.md +++ b/content/en/api/beta/organization/analytics/cost/list.md @@ -1,18 +1,21 @@ --- -title: Get Cost Over Time +title: Get Cost By Dimension url: https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list --- -# Get Cost Over Time +# Get Cost By Dimension -**GET** `/v1/organizations/analytics/cost_report` +**GET** `/v1/organizations/analytics/cost` -Get cost in USD over time across a date range. +Get cost in USD across a date range, broken out by dimension. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. ## Query parameters @@ -22,21 +25,41 @@ Requires an API key with the `read:analytics` scope. format: date-time -- `bucket_width: optional "1d" or "1h" or "1m"` +- `actor_ids: optional array of string` - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: optional array of BetaAnalyticsActorType` - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` -- `claude_tag_categories: optional array of "dm" or "engaged" or "monitoring" or 2 more` + - `"service_account_actor"` - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -56,7 +79,7 @@ Requires an API key with the `read:analytics` scope. maxItems: 100 -- `context_windows: optional array of "0-200k" or "200k-1M"` +- `context_windows: optional array of BetaAnalyticsContextWindow` Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. @@ -66,18 +89,44 @@ Requires an API key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: optional string` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 8 more` +- `environment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. +- `group_by: optional array of BetaAnalyticsCostGroupBy` + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. maxItems: 100 + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` @@ -86,6 +135,10 @@ Requires an API key with the `read:analytics` scope. - `"cost_type"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -94,13 +147,21 @@ Requires an API key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` - `"token_type"` -- `inference_geos: optional array of "global" or "not_available" or "us"` + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -114,9 +175,9 @@ Requires an API key with the `read:analytics` scope. - `limit: optional number` - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + default: 20, minimum: 1, maximum: 1000 - `models: optional array of string` @@ -124,28 +185,56 @@ Requires an API key with the `read:analytics` scope. maxItems: 100 +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsCostOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `"amount"` + + - `"list_amount"` + + - `"time"` + - `page: optional string` Opaque cursor from a previous response's `next_page` field. -- `products: optional array of "chat" or "claude-tag" or "claude_code" or 4 more` +- `products: optional array of BetaAnalyticsUsageCostProductFilter` - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 - `"chat"` - - `"claude-tag"` + - `"chat_cowork_unified"` - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids: optional array of string` @@ -154,13 +243,37 @@ Requires an API key with the `read:analytics` scope. maxItems: 100 +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids: optional array of string` Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 -- `speeds: optional array of "fast" or "standard"` +- `speeds: optional array of BetaAnalyticsSpeed` Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -170,160 +283,445 @@ Requires an API key with the `read:analytics` scope. - `"standard"` -- `user_ids: optional array of string` +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. maxItems: 100 +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +## Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns -- `BetaCostBucket object` +- `data: array of BetaAnalyticsCostItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `cost: BetaAnalyticsCostMetrics` + + Cost for this row. + + - `amount: string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. + + - `requests: number or null` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` - - `data: array of object` + Actor type. Always `"user_actor"`. - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + - `deleted: boolean` - - `ending_at: string` + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - End of the time bucket (exclusive) in RFC 3339 format. + - `email_address: string or null` - format: date-time + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - - `results: array of object` + - `name: string or null` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. - - `amount: string` + - `user_id: string` - Amount (post-discount, pre-credit) in fractional cents. + Tagged user ID. - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `BetaAnalyticsServiceAccountActor object` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `type: "service_account_actor"` - - `"dm"` + - `service_account_id: string` - - `"engaged"` + Tagged service account ID. - - `"monitoring"` + - `BetaAnalyticsFederatedActor object` - - `"proactive"` + - `type: "federated_actor"` - - `"scheduled"` + - `provider: BetaAnalyticsFederatedActorProvider` - - `claude_tag_user_id: string or null` + The trusted provider that asserted the caller's identity. - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + - `BetaAnalyticsFederatedActorAWSProvider object` - - `context_window: "0-200k" or "200k-1M" or null` + - `type: "aws"` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `account_id: string` - - `"0-200k"` + The AWS account the organization is bound to. - - `"200k-1M"` + - `signed_principal: string` - - `cost_type: "code_execution" or "tokens" or "web_search" or null` + The AWS-signed ARN of the IAM principal that made the requests. - Cost component when `group_by[]=cost_type`; null otherwise (amount is the combined total). + - `BetaAnalyticsFederatedActorAzureProvider object` - - `"code_execution"` + - `type: "azure"` - - `"tokens"` + - `subscription_id: string` - - `"web_search"` + The Azure subscription the organization is bound to. - - `currency: string` + - `BetaAnalyticsFederatedActorGCPProvider object` - Currency code for the cost amount. Currently always `"USD"`. + - `type: "gcp"` - default: USD + - `project_number: string` - - `inference_geo: "global" or "us" or null` + The Google Cloud project the organization is bound to. - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `BetaAnalyticsFederatedActorOIDCProvider object` - - `"global"` + - `type: "oidc"` - - `"us"` + - `issuer: string or null` - - `list_amount: string` + The federation issuer's URL. - List-price amount (pre-discount) in fractional cents. + - `subject: string or null` - - `model: string or null` + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + - `BetaAnalyticsAPIActor object` - - `product: string or null` + - `type: "api_actor"` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + - `api_key_id: string` - - `rbac_group_id: string or null` + Tagged API key ID. - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + - `actor_type: BetaAnalyticsActorType or null` - - `requests: number or null` + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. - Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + - `"api_actor"` - - `slack_channel_id: string or null` + - `"federated_actor"` - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `"service_account_actor"` - - `speed: "fast" or "standard" or null` + - `"user_actor"` - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + - `agent_id: string or null` - - `"fast"` + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. - - `"standard"` + - `api_key_id: string or null` - - `token_type: "cache_creation.ephemeral_1h_input_tokens" or "cache_creation.ephemeral_5m_input_tokens" or "cache_read_input_tokens" or 2 more or null` + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - Token type when `group_by[]=token_type` and `cost_type=tokens`; null otherwise. + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - - `"cache_creation.ephemeral_1h_input_tokens"` + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. - - `"cache_creation.ephemeral_5m_input_tokens"` + - `"dm"` - - `"cache_read_input_tokens"` + - `"engaged"` - - `"output_tokens"` + - `"monitoring"` - - `"uncached_input_tokens"` + - `"proactive"` - - `starting_at: string` + - `"scheduled"` - Start of the time bucket (inclusive) in RFC 3339 format. + - `claude_tag_user_id: string or null` - format: date-time + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. - - `data_refreshed_at: string or null` + - `context_window: BetaAnalyticsContextWindow or null` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case every bucket's `results` list is empty. Buckets beyond this watermark are incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `cost_type: BetaAnalyticsGroupedCostType or null` + + Cost component breakdown; null when returning the combined total. + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + + - `deployment_id: string or null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string or null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `token_type: BetaAnalyticsTokenType or null` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. format: date-time - - `has_more: boolean` +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + format: date-time - - `next_page: string or null` +- `has_more: boolean` - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. - - `organization_id: string` +- `next_page: string or null` - ID of the Organization. + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. ## Example ```bash -curl https://api.anthropic.com/v1/organizations/analytics/cost_report \ - -H 'anthropic-version: 2023-06-01' \ - -H "X-Api-Key: $ANTHROPIC_API_KEY" +curl https://api.anthropic.com/v1/organizations/analytics/cost \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" ``` ### Response (200) @@ -332,32 +730,47 @@ curl https://api.anthropic.com/v1/organizations/analytics/cost_report \ { "data": [ { - "ending_at": "2019-12-27T18:11:19.117Z", - "results": [ - { - "amount": "amount", - "claude_tag_category": "dm", - "claude_tag_user_id": "U0123ABCDEF", - "context_window": "0-200k", - "cost_type": "code_execution", - "currency": "USD", - "inference_geo": "global", - "list_amount": "list_amount", - "model": "claude-opus-5", - "product": "chat", - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "requests": 0, - "slack_channel_id": "C0123ABCDEF", - "speed": "fast", - "token_type": "cache_creation.ephemeral_1h_input_tokens" - } - ], - "starting_at": "2019-12-27T18:11:19.117Z" + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" } ], "data_refreshed_at": "2019-12-27T18:11:19.117Z", "has_more": true, - "next_page": "next_page", - "organization_id": "org_013FP9SaFPBg7Kw7fetjn6cF" + "next_page": "next_page" } ``` diff --git a/content/en/api/beta/organization/analytics/cost_report.md b/content/en/api/beta/organization/analytics/cost_report.md index dbb4e2d632..a0a46adc86 100644 --- a/content/en/api/beta/organization/analytics/cost_report.md +++ b/content/en/api/beta/organization/analytics/cost_report.md @@ -9,12 +9,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_re **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ### Query parameters diff --git a/content/en/api/beta/organization/analytics/cost_report/list.md b/content/en/api/beta/organization/analytics/cost_report/list.md index f1af7cc808..a343657bc4 100644 --- a/content/en/api/beta/organization/analytics/cost_report/list.md +++ b/content/en/api/beta/organization/analytics/cost_report/list.md @@ -7,12 +7,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_re **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ## Query parameters diff --git a/content/en/api/beta/organization/analytics/usage.md b/content/en/api/beta/organization/analytics/usage.md index ad273cccc4..8686afdfb5 100644 --- a/content/en/api/beta/organization/analytics/usage.md +++ b/content/en/api/beta/organization/analytics/usage.md @@ -5,16 +5,19 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/usage # Usage -## Get Token Usage Over Time +## Get Token Usage By Dimension -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. ### Query parameters @@ -24,21 +27,41 @@ key with the `read:analytics` scope. format: date-time -- `bucket_width: optional "1d" or "1h" or "1m"` +- `actor_ids: optional array of string` - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: optional array of BetaAnalyticsActorType` - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` -- `claude_tag_categories: optional array of "dm" or "engaged" or "monitoring" or 2 more` + - `"user_actor"` - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -58,7 +81,7 @@ key with the `read:analytics` scope. maxItems: 100 -- `context_windows: optional array of "0-200k" or "200k-1M"` +- `context_windows: optional array of BetaAnalyticsContextWindow` Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. @@ -68,24 +91,54 @@ key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: optional string` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` +- `environment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsUsageGroupBy` - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. maxItems: 100 + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` - `"context_window"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -94,11 +147,19 @@ key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` -- `inference_geos: optional array of "global" or "not_available" or "us"` + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -112,9 +173,9 @@ key with the `read:analytics` scope. - `limit: optional number` - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + default: 20, minimum: 1, maximum: 1000 - `models: optional array of string` @@ -122,28 +183,60 @@ key with the `read:analytics` scope. maxItems: 100 +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsUsageOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` + - `page: optional string` Opaque cursor from a previous response's `next_page` field. -- `products: optional array of "chat" or "claude-tag" or "claude_code" or 4 more` +- `products: optional array of BetaAnalyticsUsageCostProductFilter` - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 - `"chat"` - - `"claude-tag"` + - `"chat_cowork_unified"` - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids: optional array of string` @@ -152,13 +245,37 @@ key with the `read:analytics` scope. maxItems: 100 +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids: optional array of string` Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 -- `speeds: optional array of "fast" or "standard"` +- `speeds: optional array of BetaAnalyticsSpeed` Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -168,412 +285,518 @@ key with the `read:analytics` scope. - `"standard"` -- `user_ids: optional array of string` +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` - Filter to specific users by tagged user ID. + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. maxItems: 100 -### Returns +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +### Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. -- `BetaUsageBucket object` + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). - - `data: array of object` +- `"anthropic-beta": optional array of AnthropicBeta` - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. - - `ending_at: string` + - `string` - End of the time bucket (exclusive) in RFC 3339 format. + - `"message-batches-2024-09-24"` - format: date-time + - `"prompt-caching-2024-07-31"` - - `results: array of object` + - `"computer-use-2024-10-22"` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + - `"computer-use-2025-01-24"` - - `cache_creation: BetaCacheCreation` + - `"pdfs-2024-09-25"` - The number of input tokens for cache creation. + - `"token-counting-2024-11-01"` - - `ephemeral_1h_input_tokens: number` + - `"token-efficient-tools-2025-02-19"` - The number of input tokens used to create the 1 hour cache entry. + - `"output-128k-2025-02-19"` - default: 0, minimum: 0 + - `"files-api-2025-04-14"` - - `ephemeral_5m_input_tokens: number` + - `"mcp-client-2025-04-04"` - The number of input tokens used to create the 5 minute cache entry. + - `"mcp-client-2025-11-20"` - default: 0, minimum: 0 + - `"dev-full-thinking-2025-05-14"` - - `cache_read_input_tokens: number` + - `"interleaved-thinking-2025-05-14"` - The number of input tokens read from the cache. + - `"code-execution-2025-05-22"` - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `"extended-cache-ttl-2025-04-11"` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `"context-1m-2025-08-07"` - - `"dm"` + - `"context-management-2025-06-27"` - - `"engaged"` + - `"model-context-window-exceeded-2025-08-26"` - - `"monitoring"` + - `"skills-2025-10-02"` - - `"proactive"` + - `"fast-mode-2026-02-01"` - - `"scheduled"` + - `"output-300k-2026-03-24"` - - `claude_tag_user_id: string or null` + - `"user-profiles-2026-03-24"` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + - `"user-profiles-2026-08-18"` - - `context_window: "0-200k" or "200k-1M" or null` + - `"user-profiles-2026-09-04"` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `"advisor-tool-2026-03-01"` - - `"0-200k"` + - `"managed-agents-2026-04-01"` - - `"200k-1M"` + - `"cache-diagnosis-2026-04-07"` - - `inference_geo: "global" or "us" or null` + - `"dreaming-2026-04-21"` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `"thinking-token-count-2026-05-13"` - - `"global"` + - `"server-side-fallback-2026-06-01"` - - `"us"` + - `"server-side-fallback-2026-07-01"` - - `model: string or null` + - `"fallback-credit-2026-06-01"` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + - `"fallback-credit-2026-07-01"` - - `output_tokens: number` + - `"agent-memory-2026-07-22"` - The number of output tokens generated. + - `"mid-conversation-tool-changes-2026-07-01"` - - `product: string or null` + - `"compact-2026-01-12"` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + - `"computer-use-2025-11-24"` - - `rbac_group_id: string or null` + - `"mcp-tunnels-2026-06-22"` - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + - `"structured-outputs-2025-11-13"` - - `requests: number or null` + - `"task-budgets-2026-03-13"` - Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + - `"thinking-display-updates-2026-08-18"` - - `server_tool_use: object` + - `"ce-user-management-2026-07-13"` - Server-side tool usage metrics. + - `"mid-conversation-output-config-2026-07-01"` - - `web_search_requests: number` + - `"thinking-binding-controls-2026-08-01"` - The number of web search requests made. + - `"mid-conversation-system-clear-at-2026-08-21"` - - `slack_channel_id: string or null` + - `"compact-2026-09-04"` - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `"inline-tools-2026-09-15"` - - `speed: "fast" or "standard" or null` + - `"mcp-client-2026-09-15"` - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + - `"ce-plugins-2026-09-01"` - - `"fast"` + - `"spend-limit-reads-2026-09-26"` - - `"standard"` + - `"telemetry-destinations-2026-08-11"` - - `uncached_input_tokens: number` + - `"webhooks-2026-10-07"` - The number of uncached input tokens processed. + - `"message-threads-2026-08-12"` - - `starting_at: string` + - `"analytics-usage-cost-2026-08-24"` - Start of the time bucket (inclusive) in RFC 3339 format. +### Returns + +- `data: array of BetaAnalyticsUsageItem` - format: date-time + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. - - `data_refreshed_at: string or null` + - `ending_at: string` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case every bucket's `results` list is empty. Buckets beyond this watermark are incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `has_more: boolean` + - `group: BetaAnalyticsUsageGroup` - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + The dimension values this row's usage is broken out by. - - `next_page: string or null` + - `actor: BetaAnalyticsActor or null` - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `organization_id: string` + - `BetaAnalyticsReportUserActor object` - ID of the Organization. + - `type: "user_actor"` -### Example + Actor type. Always `"user_actor"`. -```bash -curl https://api.anthropic.com/v1/organizations/analytics/usage_report \ - -H 'anthropic-version: 2023-06-01' \ - -H "X-Api-Key: $ANTHROPIC_API_KEY" -``` + - `deleted: boolean` -#### Response (200) + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. -```json -{ - "data": [ - { - "ending_at": "2019-12-27T18:11:19.117Z", - "results": [ - { - "cache_creation": { - "ephemeral_1h_input_tokens": 0, - "ephemeral_5m_input_tokens": 0 - }, - "cache_read_input_tokens": 0, - "claude_tag_category": "dm", - "claude_tag_user_id": "U0123ABCDEF", - "context_window": "0-200k", - "inference_geo": "global", - "model": "claude-opus-5", - "output_tokens": 0, - "product": "chat", - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "requests": 0, - "server_tool_use": { - "web_search_requests": 10 - }, - "slack_channel_id": "C0123ABCDEF", - "speed": "fast", - "uncached_input_tokens": 0 - } - ], - "starting_at": "2019-12-27T18:11:19.117Z" - } - ], - "data_refreshed_at": "2019-12-27T18:11:19.117Z", - "has_more": true, - "next_page": "next_page", - "organization_id": "org_013FP9SaFPBg7Kw7fetjn6cF" -} -``` + - `email_address: string or null` -## Get Per-User Token Usage + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. -**GET** `/v1/organizations/analytics/user_usage_report` + - `name: string or null` -Get per-user token usage across a date range. + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. + - `user_id: string` -### Query parameters + Tagged user ID. -- `starting_at: string` + - `BetaAnalyticsServiceAccountActor object` - Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + - `type: "service_account_actor"` - format: date-time + - `service_account_id: string` -- `bucket_width: optional "1d" or "1h" or "1m"` + Tagged service account ID. - Time-bucket granularity. When set, each row's `starting_at` and `ending_at` are populated and one actor may span several rows (one per time bucket with usage). The time bucket counts toward `limit`, so one page can return multiple rows for the same actor. `ending_at` is required when `bucket_width` is set, and with `bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the full `[starting_at, ending_at)` range. + - `BetaAnalyticsFederatedActor object` - - `"1d"` + - `type: "federated_actor"` - - `"1h"` + - `provider: BetaAnalyticsFederatedActorProvider` - - `"1m"` + The trusted provider that asserted the caller's identity. -- `claude_tag_categories: optional array of "dm" or "engaged" or "monitoring" or 2 more` + - `BetaAnalyticsFederatedActorAWSProvider object` - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + - `type: "aws"` - maxItems: 100 + - `account_id: string` - - `"dm"` + The AWS account the organization is bound to. - - `"engaged"` + - `signed_principal: string` - - `"monitoring"` + The AWS-signed ARN of the IAM principal that made the requests. - - `"proactive"` + - `BetaAnalyticsFederatedActorAzureProvider object` - - `"scheduled"` + - `type: "azure"` -- `claude_tag_user_ids: optional array of string` + - `subscription_id: string` - Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + The Azure subscription the organization is bound to. - maxItems: 100 + - `BetaAnalyticsFederatedActorGCPProvider object` -- `context_windows: optional array of "0-200k" or "200k-1M"` + - `type: "gcp"` - Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + - `project_number: string` - maxItems: 100 + The Google Cloud project the organization is bound to. - - `"0-200k"` + - `BetaAnalyticsFederatedActorOIDCProvider object` - - `"200k-1M"` + - `type: "oidc"` -- `ending_at: optional string` + - `issuer: string or null` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + The federation issuer's URL. - format: date-time + - `subject: string or null` -- `exclude_deleted_users: optional boolean` + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. - If true, omit rows for users who are deleted (`deleted: true`). A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + - `BetaAnalyticsAPIActor object` - default: false + - `type: "api_actor"` -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` + - `api_key_id: string` - Break each actor's row out by the given dimensions. Accepts the same values as the bucketed `/usage_report` endpoint. `limit` bounds (actor × time bucket × dimension) rows — with dimensions or `bucket_width` present, one actor may span several rows. + Tagged API key ID. - maxItems: 100 + - `actor_type: BetaAnalyticsActorType or null` - - `"claude_tag_category"` + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. - - `"claude_tag_user_id"` + - `"api_actor"` - - `"context_window"` + - `"federated_actor"` - - `"inference_geo"` + - `"service_account_actor"` - - `"model"` + - `"user_actor"` - - `"product"` + - `agent_id: string or null` - - `"rbac_group_id"` + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. - - `"slack_channel_id"` + - `api_key_id: string or null` - - `"speed"` + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. -- `inference_geos: optional array of "global" or "not_available" or "us"` + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. - maxItems: 100 + - `"dm"` - - `"global"` + - `"engaged"` - - `"not_available"` + - `"monitoring"` - - `"us"` + - `"proactive"` -- `limit: optional number` + - `"scheduled"` - Number of rows per page (1-1000, default 20). One row per actor unless `group_by[]` or `bucket_width` splits an actor across rows; `cost_type`/`token_type` fan-out rows (cost endpoint only) are the exception — they do not count toward this limit, so `data` can exceed it. + - `claude_tag_user_id: string or null` - default: 20, minimum: 1, maximum: 1000 + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. -- `models: optional array of string` + - `context_window: BetaAnalyticsContextWindow or null` - Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. - maxItems: 100 + - `"0-200k"` -- `order: optional "asc" or "desc"` + - `"200k-1M"` - Sort direction. Defaults to `desc`. + - `deployment_id: string or null` - default: desc + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. - - `"asc"` + - `environment_id: string or null` - - `"desc"` + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. -- `order_by: optional "output_tokens" or "requests" or "total_tokens" or "uncached_input_tokens"` + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` - Metric to rank actors by. Defaults to `total_tokens`. + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). - default: total_tokens + - `"global"` - - `"output_tokens"` + - `"us"` - - `"requests"` + - `model: string or null` - - `"total_tokens"` + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. - - `"uncached_input_tokens"` + - `product: string or null` -- `page: optional string` + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". - Opaque cursor from a previous response's `next_page` field. + - `rbac_group_id: string or null` -- `products: optional array of "chat" or "claude-tag" or "claude_code" or 4 more` + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. - Product surfaces to include. Defaults to all products. + - `service_tier: BetaAnalyticsServiceTier or null` - maxItems: 100 + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. - - `"chat"` + - `"batch"` - - `"claude-tag"` + - `"flex"` - - `"claude_code"` + - `"flex_discount"` - - `"claude_design"` + - `"priority"` - - `"claude_in_chrome"` + - `"priority_on_demand"` - - `"cowork"` + - `"standard"` - - `"office_agent"` + - `session_id: string or null` -- `rbac_group_ids: optional array of string` + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. - Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + - `slack_channel_id: string or null` - maxItems: 100 + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). -- `slack_channel_ids: optional array of string` + - `speed: BetaAnalyticsSpeed or null` - Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. - maxItems: 100 + - `"fast"` -- `speeds: optional array of "fast" or "standard"` + - `"standard"` - Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + - `user_profile_id: string or null` - maxItems: 100 + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. - - `"fast"` + - `workspace_id: string or null` - - `"standard"` + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. -- `user_ids: optional array of string` + - `starting_at: string` - Filter to specific users by tagged user ID. + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. - maxItems: 100 + format: date-time -### Returns + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. -- `BetaUserUsage object` + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 - - `data: array of object` + - `cache_read_input_tokens: number` - Rows for this page, ranked by `order_by` in the `order` direction. One row per user, or several per user when `group_by[]` or `bucket_width` breaks that user's usage or cost out across rows. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + The number of input tokens read from the cache. - - `actor: BetaAnalyticsUserActor` + - `output_tokens: number` - The user this row's usage or cost is attributed to. Always a `user_actor`. + The number of output tokens generated. + + - `requests: number or null` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. + + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + +- `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + +- `next_page: string or null` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +### Example + +```bash +curl https://api.anthropic.com/v1/organizations/analytics/usage \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" +``` + +#### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Domain types + +### Beta Analytics Usage Group + +- `BetaAnalyticsUsageGroup object` + + The dimension values one usage row is broken out by; each is null + unless its dimension is in `group_by[]`. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` - `type: "user_actor"` @@ -585,411 +808,363 @@ organizations on a Claude Enterprise plan. Requires an API key with the - `email_address: string or null` - The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`). + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - `name: string or null` - The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"` for usage by Anthropic's security-patching service) or null. + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. - `user_id: string` Tagged user ID. - - `email: string or null` + - `BetaAnalyticsServiceAccountActor object` - **Deprecated** + - `type: "service_account_actor"` - Deprecated: use `email_address`, which carries the same value. + - `service_account_id: string` - - `cache_creation: BetaCacheCreation` + Tagged service account ID. - The number of input tokens for cache creation. + - `BetaAnalyticsFederatedActor object` - - `ephemeral_1h_input_tokens: number` + - `type: "federated_actor"` - The number of input tokens used to create the 1 hour cache entry. - - default: 0, minimum: 0 + - `provider: BetaAnalyticsFederatedActorProvider` - - `ephemeral_5m_input_tokens: number` + The trusted provider that asserted the caller's identity. - The number of input tokens used to create the 5 minute cache entry. + - `BetaAnalyticsFederatedActorAWSProvider object` - default: 0, minimum: 0 + - `type: "aws"` - - `cache_read_input_tokens: number` + - `account_id: string` - The number of input tokens read from the cache. + The AWS account the organization is bound to. - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `signed_principal: string` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + The AWS-signed ARN of the IAM principal that made the requests. - - `"dm"` + - `BetaAnalyticsFederatedActorAzureProvider object` - - `"engaged"` + - `type: "azure"` - - `"monitoring"` + - `subscription_id: string` - - `"proactive"` + The Azure subscription the organization is bound to. - - `"scheduled"` + - `BetaAnalyticsFederatedActorGCPProvider object` - - `claude_tag_user_id: string or null` + - `type: "gcp"` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + - `project_number: string` - - `context_window: "0-200k" or "200k-1M" or null` + The Google Cloud project the organization is bound to. - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `BetaAnalyticsFederatedActorOIDCProvider object` - - `"0-200k"` + - `type: "oidc"` - - `"200k-1M"` + - `issuer: string or null` - - `ending_at: string or null` + The federation issuer's URL. - End of the row's UTC time bucket (exclusive), as an RFC 3339 timestamp; equal to `starting_at` plus one `bucket_width`. Null unless `bucket_width` is set. + - `subject: string or null` - format: date-time + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. - - `inference_geo: "global" or "us" or null` + - `BetaAnalyticsAPIActor object` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `type: "api_actor"` - - `"global"` + - `api_key_id: string` - - `"us"` + Tagged API key ID. - - `model: string or null` + - `actor_type: BetaAnalyticsActorType or null` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. - - `output_tokens: number` + - `"api_actor"` - The number of output tokens generated. + - `"federated_actor"` - - `product: string or null` + - `"service_account_actor"` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + - `"user_actor"` - - `rbac_group_id: string or null` + - `agent_id: string or null` - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. - - `requests: number or null` + - `api_key_id: string or null` - Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - - `server_tool_use: object` + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - Server-side tool usage metrics. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. - - `web_search_requests: number` + - `"dm"` - The number of web search requests made. + - `"engaged"` - - `slack_channel_id: string or null` + - `"monitoring"` - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `"proactive"` - - `speed: "fast" or "standard" or null` + - `"scheduled"` - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + - `claude_tag_user_id: string or null` - - `"fast"` + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. - - `"standard"` + - `context_window: BetaAnalyticsContextWindow or null` - - `starting_at: string or null` + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. - Start of the row's UTC time bucket (inclusive), as an RFC 3339 timestamp. Null unless `bucket_width` is set; without `bucket_width`, each row aggregates the full requested range. + - `"0-200k"` - format: date-time + - `"200k-1M"` - - `total_tokens: number` + - `deployment_id: string or null` - Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. - - `uncached_input_tokens: number` + - `environment_id: string or null` - The number of uncached input tokens processed. + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. - - `data_refreshed_at: string or null` + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). - format: date-time + - `"global"` - - `has_more: boolean` + - `"us"` - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + - `model: string or null` - - `next_page: string or null` + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + - `product: string or null` - - `organization_id: string` + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". - ID of the Organization. + - `rbac_group_id: string or null` -### Example + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. -```bash -curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ - -H 'anthropic-version: 2023-06-01' \ - -H "X-Api-Key: $ANTHROPIC_API_KEY" -``` + - `service_tier: BetaAnalyticsServiceTier or null` -#### Response (200) + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. -```json -{ - "data": [ - { - "actor": { - "deleted": true, - "email": "jane@example.com", - "email_address": "jane@example.com", - "name": "Jane Smith", - "type": "user_actor", - "user_id": "user_01AbCdEfGhIjKlMnOpQrSt" - }, - "cache_creation": { - "ephemeral_1h_input_tokens": 0, - "ephemeral_5m_input_tokens": 0 - }, - "cache_read_input_tokens": 3200000, - "claude_tag_category": "dm", - "claude_tag_user_id": "U0123ABCDEF", - "context_window": "0-200k", - "ending_at": "2019-12-27T18:11:19.117Z", - "inference_geo": "global", - "model": "claude-opus-5", - "output_tokens": 891000, - "product": "chat", - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "requests": 128, - "server_tool_use": { - "web_search_requests": 10 - }, - "slack_channel_id": "C0123ABCDEF", - "speed": "fast", - "starting_at": "2019-12-27T18:11:19.117Z", - "total_tokens": 5377000, - "uncached_input_tokens": 1284500 - } - ], - "data_refreshed_at": "2019-12-27T18:11:19.117Z", - "has_more": true, - "next_page": "next_page", - "organization_id": "org_013FP9SaFPBg7Kw7fetjn6cF" -} -``` + - `"batch"` -## Domain types + - `"flex"` -### Beta Usage Bucket + - `"flex_discount"` -- `BetaUsageBucket object` + - `"priority"` - - `data: array of object` + - `"priority_on_demand"` - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + - `"standard"` - - `ending_at: string` + - `session_id: string or null` - End of the time bucket (exclusive) in RFC 3339 format. + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. - format: date-time + - `slack_channel_id: string or null` - - `results: array of object` + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + - `speed: BetaAnalyticsSpeed or null` - - `cache_creation: BetaCacheCreation` + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. - The number of input tokens for cache creation. + - `"fast"` - - `ephemeral_1h_input_tokens: number` + - `"standard"` - The number of input tokens used to create the 1 hour cache entry. + - `user_profile_id: string or null` - default: 0, minimum: 0 + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. - - `ephemeral_5m_input_tokens: number` + - `workspace_id: string or null` - The number of input tokens used to create the 5 minute cache entry. + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. - default: 0, minimum: 0 +### Beta Analytics Usage Group By - - `cache_read_input_tokens: number` +- `BetaAnalyticsUsageGroupBy = "actor" or "actor_type" or "agent_id" or 16 more` - The number of input tokens read from the cache. + - `"actor"` - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `"actor_type"` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `"agent_id"` - - `"dm"` + - `"api_key_id"` - - `"engaged"` + - `"claude_tag_category"` - - `"monitoring"` + - `"claude_tag_user_id"` - - `"proactive"` + - `"context_window"` - - `"scheduled"` + - `"deployment_id"` - - `claude_tag_user_id: string or null` + - `"environment_id"` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + - `"inference_geo"` - - `context_window: "0-200k" or "200k-1M" or null` + - `"model"` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `"product"` - - `"0-200k"` + - `"rbac_group_id"` - - `"200k-1M"` + - `"service_tier"` - - `inference_geo: "global" or "us" or null` + - `"session_id"` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + - `"slack_channel_id"` - - `"global"` + - `"speed"` - - `"us"` + - `"user_profile_id"` - - `model: string or null` + - `"workspace_id"` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. +### Beta Analytics Usage Item - - `output_tokens: number` +- `BetaAnalyticsUsageItem object` - The number of output tokens generated. + - `ending_at: string` - - `product: string or null` + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + format: date-time - - `rbac_group_id: string or null` + - `group: BetaAnalyticsUsageGroup` - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + The dimension values this row's usage is broken out by. - - `requests: number or null` + - `actor: BetaAnalyticsActor or null` - Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `server_tool_use: object` + - `BetaAnalyticsReportUserActor object` - Server-side tool usage metrics. + - `type: "user_actor"` - - `web_search_requests: number` + Actor type. Always `"user_actor"`. - The number of web search requests made. + - `deleted: boolean` - - `slack_channel_id: string or null` + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `email_address: string or null` - - `speed: "fast" or "standard" or null` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + - `name: string or null` - - `"fast"` + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. - - `"standard"` + - `user_id: string` - - `uncached_input_tokens: number` + Tagged user ID. - The number of uncached input tokens processed. + - `BetaAnalyticsServiceAccountActor object` - - `starting_at: string` + - `type: "service_account_actor"` - Start of the time bucket (inclusive) in RFC 3339 format. + - `service_account_id: string` - format: date-time + Tagged service account ID. - - `data_refreshed_at: string or null` + - `BetaAnalyticsFederatedActor object` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case every bucket's `results` list is empty. Buckets beyond this watermark are incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + - `type: "federated_actor"` - format: date-time + - `provider: BetaAnalyticsFederatedActorProvider` - - `has_more: boolean` + The trusted provider that asserted the caller's identity. - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + - `BetaAnalyticsFederatedActorAWSProvider object` - - `next_page: string or null` + - `type: "aws"` - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + - `account_id: string` - - `organization_id: string` + The AWS account the organization is bound to. - ID of the Organization. + - `signed_principal: string` -### Beta User Usage + The AWS-signed ARN of the IAM principal that made the requests. -- `BetaUserUsage object` + - `BetaAnalyticsFederatedActorAzureProvider object` - - `data: array of object` + - `type: "azure"` - Rows for this page, ranked by `order_by` in the `order` direction. One row per user, or several per user when `group_by[]` or `bucket_width` breaks that user's usage or cost out across rows. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + - `subscription_id: string` - - `actor: BetaAnalyticsUserActor` + The Azure subscription the organization is bound to. - The user this row's usage or cost is attributed to. Always a `user_actor`. + - `BetaAnalyticsFederatedActorGCPProvider object` - - `type: "user_actor"` + - `type: "gcp"` - Actor type. Always `"user_actor"`. + - `project_number: string` - - `deleted: boolean` + The Google Cloud project the organization is bound to. - True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + - `BetaAnalyticsFederatedActorOIDCProvider object` - - `email_address: string or null` + - `type: "oidc"` - The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`). + - `issuer: string or null` - - `name: string or null` + The federation issuer's URL. - The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"` for usage by Anthropic's security-patching service) or null. + - `subject: string or null` - - `user_id: string` + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. - Tagged user ID. + - `BetaAnalyticsAPIActor object` - - `email: string or null` + - `type: "api_actor"` - **Deprecated** + - `api_key_id: string` - Deprecated: use `email_address`, which carries the same value. + Tagged API key ID. - - `cache_creation: BetaCacheCreation` + - `actor_type: BetaAnalyticsActorType or null` - The number of input tokens for cache creation. + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. - - `ephemeral_1h_input_tokens: number` + - `"api_actor"` - The number of input tokens used to create the 1 hour cache entry. + - `"federated_actor"` - default: 0, minimum: 0 + - `"service_account_actor"` - - `ephemeral_5m_input_tokens: number` + - `"user_actor"` - The number of input tokens used to create the 5 minute cache entry. + - `agent_id: string or null` - default: 0, minimum: 0 + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. - - `cache_read_input_tokens: number` + - `api_key_id: string or null` - The number of input tokens read from the cache. + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. - `"dm"` @@ -1005,7 +1180,7 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. - - `context_window: "0-200k" or "200k-1M" or null` + - `context_window: BetaAnalyticsContextWindow or null` Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. @@ -1013,13 +1188,15 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ - `"200k-1M"` - - `ending_at: string or null` + - `deployment_id: string or null` - End of the row's UTC time bucket (exclusive), as an RFC 3339 timestamp; equal to `starting_at` plus one `bucket_width`. Null unless `bucket_width` is set. + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. - format: date-time + - `environment_id: string or null` - - `inference_geo: "global" or "us" or null` + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). @@ -1029,37 +1206,41 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ - `model: string or null` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. - - - `output_tokens: number` - - The number of output tokens generated. + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. - `product: string or null` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". - `rbac_group_id: string or null` RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. - - `requests: number or null` + - `service_tier: BetaAnalyticsServiceTier or null` - Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. - - `server_tool_use: object` + - `"batch"` - Server-side tool usage metrics. + - `"flex"` - - `web_search_requests: number` + - `"flex_discount"` - The number of web search requests made. + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. - `slack_channel_id: string or null` Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). - - `speed: "fast" or "standard" or null` + - `speed: BetaAnalyticsSpeed or null` Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. @@ -1067,11 +1248,59 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ - `"standard"` - - `starting_at: string or null` + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` - Start of the row's UTC time bucket (inclusive), as an RFC 3339 timestamp. Null unless `bucket_width` is set; without `bucket_width`, each row aggregates the full requested range. + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. - format: date-time + - `output_tokens: number` + + The number of output tokens generated. + + - `requests: number or null` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. - `total_tokens: number` @@ -1081,20 +1310,66 @@ curl https://api.anthropic.com/v1/organizations/analytics/user_usage_report \ The number of uncached input tokens processed. - - `data_refreshed_at: string or null` +### Beta Analytics Usage Metrics - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). +- `BetaAnalyticsUsageMetrics object` - format: date-time + The token usage of one row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `output_tokens: number` + + The number of output tokens generated. + + - `requests: number or null` - - `has_more: boolean` + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + - `server_tool_use: BetaAnalyticsServerToolUse` - - `next_page: string or null` + Server-side tool usage metrics. - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + - `web_search_requests: number` - - `organization_id: string` + The number of web search requests made. - ID of the Organization. + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + +### Beta Analytics Usage Order By + +- `BetaAnalyticsUsageOrderBy = "output_tokens" or "requests" or "time" or 2 more` + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` diff --git a/content/en/api/beta/organization/analytics/usage/list.md b/content/en/api/beta/organization/analytics/usage/list.md index 541fa480ab..8af2c17653 100644 --- a/content/en/api/beta/organization/analytics/usage/list.md +++ b/content/en/api/beta/organization/analytics/usage/list.md @@ -1,18 +1,21 @@ --- -title: Get Token Usage Over Time +title: Get Token Usage By Dimension url: https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list --- -# Get Token Usage Over Time +# Get Token Usage By Dimension -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. ## Query parameters @@ -22,21 +25,41 @@ key with the `read:analytics` scope. format: date-time -- `bucket_width: optional "1d" or "1h" or "1m"` +- `actor_ids: optional array of string` - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: optional array of BetaAnalyticsActorType` - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: optional array of string` + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: optional array of string` -- `claude_tag_categories: optional array of "dm" or "engaged" or "monitoring" or 2 more` + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + maxItems: 100 + +- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory` + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -56,7 +79,7 @@ key with the `read:analytics` scope. maxItems: 100 -- `context_windows: optional array of "0-200k" or "200k-1M"` +- `context_windows: optional array of BetaAnalyticsContextWindow` Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. @@ -66,24 +89,54 @@ key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: optional string` - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: optional array of "claude_tag_category" or "claude_tag_user_id" or "context_window" or 6 more` +- `environment_ids: optional array of string` + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: optional boolean` + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: optional array of BetaAnalyticsUsageGroupBy` - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. maxItems: 100 + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` - `"context_window"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -92,11 +145,19 @@ key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` -- `inference_geos: optional array of "global" or "not_available" or "us"` + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: optional array of BetaAnalyticsInferenceGeoFilter` Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -110,9 +171,9 @@ key with the `read:analytics` scope. - `limit: optional number` - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + default: 20, minimum: 1, maximum: 1000 - `models: optional array of string` @@ -120,28 +181,60 @@ key with the `read:analytics` scope. maxItems: 100 +- `order: optional BetaAnalyticsUsageCostSortOrder` + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: optional BetaAnalyticsUsageOrderBy` + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` + - `page: optional string` Opaque cursor from a previous response's `next_page` field. -- `products: optional array of "chat" or "claude-tag" or "claude_code" or 4 more` +- `products: optional array of BetaAnalyticsUsageCostProductFilter` - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 - `"chat"` - - `"claude-tag"` + - `"chat_cowork_unified"` - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids: optional array of string` @@ -150,13 +243,37 @@ key with the `read:analytics` scope. maxItems: 100 +- `service_tiers: optional array of BetaAnalyticsServiceTier` + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: optional array of string` + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids: optional array of string` Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 -- `speeds: optional array of "fast" or "standard"` +- `speeds: optional array of BetaAnalyticsSpeed` Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -166,158 +283,445 @@ key with the `read:analytics` scope. - `"standard"` -- `user_ids: optional array of string` +- `time_bucket_width: optional BetaAnalyticsTimeBucketWidth` - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: optional array of string` + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: optional array of string` + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. maxItems: 100 +## Headers + +- `"anthropic-version": optional string` + + The version of the Claude API you want to use. + + Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http). + +- `"anthropic-beta": optional array of AnthropicBeta` + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `string` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns -- `BetaUsageBucket object` +- `data: array of BetaAnalyticsUsageItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsUsageGroup` + + The dimension values this row's usage is broken out by. + + - `actor: BetaAnalyticsActor or null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `BetaAnalyticsReportUserActor object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string or null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string or null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `BetaAnalyticsServiceAccountActor object` + + - `type: "service_account_actor"` - - `data: array of object` + - `service_account_id: string` - Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets. + Tagged service account ID. - - `ending_at: string` + - `BetaAnalyticsFederatedActor object` - End of the time bucket (exclusive) in RFC 3339 format. + - `type: "federated_actor"` - format: date-time + - `provider: BetaAnalyticsFederatedActorProvider` - - `results: array of object` + The trusted provider that asserted the caller's identity. - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + - `BetaAnalyticsFederatedActorAWSProvider object` - - `cache_creation: BetaCacheCreation` + - `type: "aws"` - The number of input tokens for cache creation. + - `account_id: string` - - `ephemeral_1h_input_tokens: number` + The AWS account the organization is bound to. - The number of input tokens used to create the 1 hour cache entry. + - `signed_principal: string` - default: 0, minimum: 0 + The AWS-signed ARN of the IAM principal that made the requests. - - `ephemeral_5m_input_tokens: number` + - `BetaAnalyticsFederatedActorAzureProvider object` - The number of input tokens used to create the 5 minute cache entry. + - `type: "azure"` - default: 0, minimum: 0 + - `subscription_id: string` - - `cache_read_input_tokens: number` + The Azure subscription the organization is bound to. - The number of input tokens read from the cache. + - `BetaAnalyticsFederatedActorGCPProvider object` - - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more or null` + - `type: "gcp"` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + - `project_number: string` - - `"dm"` + The Google Cloud project the organization is bound to. - - `"engaged"` + - `BetaAnalyticsFederatedActorOIDCProvider object` - - `"monitoring"` + - `type: "oidc"` - - `"proactive"` + - `issuer: string or null` - - `"scheduled"` + The federation issuer's URL. - - `claude_tag_user_id: string or null` + - `subject: string or null` - Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. - - `context_window: "0-200k" or "200k-1M" or null` + - `BetaAnalyticsAPIActor object` - Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + - `type: "api_actor"` - - `"0-200k"` + - `api_key_id: string` - - `"200k-1M"` + Tagged API key ID. - - `inference_geo: "global" or "us" or null` + - `actor_type: BetaAnalyticsActorType or null` - Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. - - `"global"` + - `"api_actor"` - - `"us"` + - `"federated_actor"` - - `model: string or null` + - `"service_account_actor"` - Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + - `"user_actor"` - - `output_tokens: number` + - `agent_id: string or null` - The number of output tokens generated. + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. - - `product: string or null` + - `api_key_id: string or null` - Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other". + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - - `rbac_group_id: string or null` + - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null` - RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. - - `requests: number or null` + - `"dm"` - Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + - `"engaged"` - - `server_tool_use: object` + - `"monitoring"` - Server-side tool usage metrics. + - `"proactive"` - - `web_search_requests: number` + - `"scheduled"` - The number of web search requests made. + - `claude_tag_user_id: string or null` - - `slack_channel_id: string or null` + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. - Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + - `context_window: BetaAnalyticsContextWindow or null` - - `speed: "fast" or "standard" or null` + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. - Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + - `"0-200k"` - - `"fast"` + - `"200k-1M"` - - `"standard"` + - `deployment_id: string or null` - - `uncached_input_tokens: number` + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. - The number of uncached input tokens processed. + - `environment_id: string or null` - - `starting_at: string` + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. - Start of the time bucket (inclusive) in RFC 3339 format. + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo or null` - format: date-time + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). - - `data_refreshed_at: string or null` + - `"global"` - RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case every bucket's `results` list is empty. Buckets beyond this watermark are incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments). + - `"us"` + + - `model: string or null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string or null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string or null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier or null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string or null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string or null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed or null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `user_profile_id: string or null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string or null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. format: date-time - - `has_more: boolean` + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `output_tokens: number` + + The number of output tokens generated. - Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + - `requests: number or null` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. + + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + +- `data_refreshed_at: string or null` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time - - `next_page: string or null` +- `has_more: boolean` - Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. - - `organization_id: string` +- `next_page: string or null` - ID of the Organization. + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. ## Example ```bash -curl https://api.anthropic.com/v1/organizations/analytics/usage_report \ - -H 'anthropic-version: 2023-06-01' \ - -H "X-Api-Key: $ANTHROPIC_API_KEY" +curl https://api.anthropic.com/v1/organizations/analytics/usage \ + -H 'anthropic-version: 2026-10-21' \ + -H 'anthropic-beta: analytics-usage-cost-2026-08-24' \ + -H "Authorization: Bearer $ANTHROPIC_API_KEY" ``` ### Response (200) @@ -326,37 +730,53 @@ curl https://api.anthropic.com/v1/organizations/analytics/usage_report \ { "data": [ { - "ending_at": "2019-12-27T18:11:19.117Z", - "results": [ - { - "cache_creation": { - "ephemeral_1h_input_tokens": 0, - "ephemeral_5m_input_tokens": 0 - }, - "cache_read_input_tokens": 0, - "claude_tag_category": "dm", - "claude_tag_user_id": "U0123ABCDEF", - "context_window": "0-200k", - "inference_geo": "global", - "model": "claude-opus-5", - "output_tokens": 0, - "product": "chat", - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "requests": 0, - "server_tool_use": { - "web_search_requests": 10 - }, - "slack_channel_id": "C0123ABCDEF", - "speed": "fast", - "uncached_input_tokens": 0 - } - ], - "starting_at": "2019-12-27T18:11:19.117Z" + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } } ], "data_refreshed_at": "2019-12-27T18:11:19.117Z", "has_more": true, - "next_page": "next_page", - "organization_id": "org_013FP9SaFPBg7Kw7fetjn6cF" + "next_page": "next_page" } ``` diff --git a/content/en/api/beta/organization/analytics/usage_report.md b/content/en/api/beta/organization/analytics/usage_report.md index a04b0297c4..f9eb123bce 100644 --- a/content/en/api/beta/organization/analytics/usage_report.md +++ b/content/en/api/beta/organization/analytics/usage_report.md @@ -9,12 +9,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_r **GET** `/v1/organizations/analytics/usage_report` -Get token usage over time across a date range. +[Legacy] Get token usage over time across a date range. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ### Query parameters diff --git a/content/en/api/beta/organization/analytics/usage_report/list.md b/content/en/api/beta/organization/analytics/usage_report/list.md index 4a43488022..dd37bf919f 100644 --- a/content/en/api/beta/organization/analytics/usage_report/list.md +++ b/content/en/api/beta/organization/analytics/usage_report/list.md @@ -7,12 +7,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_r **GET** `/v1/organizations/analytics/usage_report` -Get token usage over time across a date range. +[Legacy] Get token usage over time across a date range. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ## Query parameters diff --git a/content/en/api/beta/organization/analytics/user_cost_report.md b/content/en/api/beta/organization/analytics/user_cost_report.md index b1a2874c1d..3c9af3de23 100644 --- a/content/en/api/beta/organization/analytics/user_cost_report.md +++ b/content/en/api/beta/organization/analytics/user_cost_report.md @@ -9,15 +9,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/user_co **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. - -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +[Legacy] Get per-user cost in USD across a date range. + +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ### Query parameters diff --git a/content/en/api/beta/organization/analytics/user_cost_report/list.md b/content/en/api/beta/organization/analytics/user_cost_report/list.md index 625266bede..3d37b3eb80 100644 --- a/content/en/api/beta/organization/analytics/user_cost_report/list.md +++ b/content/en/api/beta/organization/analytics/user_cost_report/list.md @@ -7,15 +7,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/user_co **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. - -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +[Legacy] Get per-user cost in USD across a date range. + +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ## Query parameters diff --git a/content/en/api/beta/organization/analytics/user_usage_report.md b/content/en/api/beta/organization/analytics/user_usage_report.md index 06badf78b4..e68966f8d7 100644 --- a/content/en/api/beta/organization/analytics/user_usage_report.md +++ b/content/en/api/beta/organization/analytics/user_usage_report.md @@ -9,15 +9,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/user_us **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. - -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +[Legacy] Get per-user token usage across a date range. + +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ### Query parameters diff --git a/content/en/api/beta/organization/analytics/user_usage_report/list.md b/content/en/api/beta/organization/analytics/user_usage_report/list.md index 515754026e..5bb5fced79 100644 --- a/content/en/api/beta/organization/analytics/user_usage_report/list.md +++ b/content/en/api/beta/organization/analytics/user_usage_report/list.md @@ -7,15 +7,11 @@ url: https://platform.claude.com/docs/en/api/beta/organization/analytics/user_us **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. - -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +[Legacy] Get per-user token usage across a date range. + +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports). ## Query parameters diff --git a/content/en/api/beta/organization/cost_report.md b/content/en/api/beta/organization/cost_report.md index 9e1251e792..9f827b557e 100644 --- a/content/en/api/beta/organization/cost_report.md +++ b/content/en/api/beta/organization/cost_report.md @@ -9,7 +9,9 @@ url: https://platform.claude.com/docs/en/api/beta/organization/cost_report **GET** `/v1/organizations/cost_report` -Get Cost Report +[Legacy] Get a report of your organization's Claude API costs in USD, aggregated into daily buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). ### Query parameters @@ -168,6 +170,10 @@ Get Cost Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaCostReport object` diff --git a/content/en/api/beta/organization/cost_report/retrieve.md b/content/en/api/beta/organization/cost_report/retrieve.md index ce9771fd8b..ec0188dd87 100644 --- a/content/en/api/beta/organization/cost_report/retrieve.md +++ b/content/en/api/beta/organization/cost_report/retrieve.md @@ -7,7 +7,9 @@ url: https://platform.claude.com/docs/en/api/beta/organization/cost_report/retri **GET** `/v1/organizations/cost_report` -Get Cost Report +[Legacy] Get a report of your organization's Claude API costs in USD, aggregated into daily buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). ## Query parameters @@ -166,6 +168,10 @@ Get Cost Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaCostReport object` diff --git a/content/en/api/beta/organization/federation.md b/content/en/api/beta/organization/federation.md index 33dc6c21d1..97a9d40485 100644 --- a/content/en/api/beta/organization/federation.md +++ b/content/en/api/beta/organization/federation.md @@ -143,6 +143,10 @@ matched as the JWT's `iss` claim and is not fetched. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `issuer_url: string` @@ -545,6 +549,10 @@ Archived issuers are excluded unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationIssuer` @@ -858,6 +866,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationIssuer object` @@ -1174,6 +1186,10 @@ session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `check_jti: optional boolean or null` @@ -1568,6 +1584,10 @@ issuer cannot be changed), or recreate them against another issuer. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationIssuer object` @@ -1888,6 +1908,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `issuer_id: string` @@ -2315,6 +2339,10 @@ unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationRule` @@ -2628,6 +2656,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationRule object` @@ -2959,6 +2991,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `applies_to_all_workspaces: optional boolean or null` @@ -3362,6 +3398,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaFederationRule object` @@ -3689,6 +3729,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_id: string` @@ -3900,6 +3944,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationRuleWorkspace` @@ -4101,6 +4149,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "federation_rule_workspace_deleted"` diff --git a/content/en/api/beta/organization/federation/issuers.md b/content/en/api/beta/organization/federation/issuers.md index 8052d8a98c..fb2cdebcc6 100644 --- a/content/en/api/beta/organization/federation/issuers.md +++ b/content/en/api/beta/organization/federation/issuers.md @@ -141,6 +141,10 @@ matched as the JWT's `iss` claim and is not fetched. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `issuer_url: string` @@ -543,6 +547,10 @@ Archived issuers are excluded unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaFederationIssuer` @@ -856,6 +864,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaFederationIssuer object` @@ -1172,6 +1184,10 @@ session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `check_jti: optional boolean or null` @@ -1566,6 +1582,10 @@ issuer cannot be changed), or recreate them against another issuer. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaFederationIssuer object` diff --git a/content/en/api/beta/organization/federation/issuers/archive.md b/content/en/api/beta/organization/federation/issuers/archive.md index 5b4a66f0e7..32f28f9909 100644 --- a/content/en/api/beta/organization/federation/issuers/archive.md +++ b/content/en/api/beta/organization/federation/issuers/archive.md @@ -140,6 +140,10 @@ issuer cannot be changed), or recreate them against another issuer. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaFederationIssuer object` diff --git a/content/en/api/beta/organization/federation/issuers/create.md b/content/en/api/beta/organization/federation/issuers/create.md index 64b77a38f0..6b6feafbc9 100644 --- a/content/en/api/beta/organization/federation/issuers/create.md +++ b/content/en/api/beta/organization/federation/issuers/create.md @@ -139,6 +139,10 @@ matched as the JWT's `iss` claim and is not fetched. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `issuer_url: string` diff --git a/content/en/api/beta/organization/federation/issuers/list.md b/content/en/api/beta/organization/federation/issuers/list.md index fcf18e7178..83be79c002 100644 --- a/content/en/api/beta/organization/federation/issuers/list.md +++ b/content/en/api/beta/organization/federation/issuers/list.md @@ -149,6 +149,10 @@ Archived issuers are excluded unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaFederationIssuer` diff --git a/content/en/api/beta/organization/federation/issuers/retrieve.md b/content/en/api/beta/organization/federation/issuers/retrieve.md index 5a0ae2cfc8..c1d0c53d73 100644 --- a/content/en/api/beta/organization/federation/issuers/retrieve.md +++ b/content/en/api/beta/organization/federation/issuers/retrieve.md @@ -135,6 +135,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaFederationIssuer object` diff --git a/content/en/api/beta/organization/federation/issuers/update.md b/content/en/api/beta/organization/federation/issuers/update.md index 745518afcc..4e581bda7c 100644 --- a/content/en/api/beta/organization/federation/issuers/update.md +++ b/content/en/api/beta/organization/federation/issuers/update.md @@ -142,6 +142,10 @@ session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `check_jti: optional boolean or null` diff --git a/content/en/api/beta/organization/federation/rules.md b/content/en/api/beta/organization/federation/rules.md index 8cc7e9770d..4d95928415 100644 --- a/content/en/api/beta/organization/federation/rules.md +++ b/content/en/api/beta/organization/federation/rules.md @@ -145,6 +145,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `issuer_id: string` @@ -572,6 +576,10 @@ unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaFederationRule` @@ -885,6 +893,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaFederationRule object` @@ -1216,6 +1228,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `applies_to_all_workspaces: optional boolean or null` @@ -1619,6 +1635,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaFederationRule object` @@ -2159,6 +2179,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_id: string` @@ -2370,6 +2394,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaFederationRuleWorkspace` @@ -2571,6 +2599,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "federation_rule_workspace_deleted"` diff --git a/content/en/api/beta/organization/federation/rules/archive.md b/content/en/api/beta/organization/federation/rules/archive.md index 1b316a8cb4..8eb4d382ca 100644 --- a/content/en/api/beta/organization/federation/rules/archive.md +++ b/content/en/api/beta/organization/federation/rules/archive.md @@ -143,6 +143,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaFederationRule object` diff --git a/content/en/api/beta/organization/federation/rules/create.md b/content/en/api/beta/organization/federation/rules/create.md index b5a2fbfa13..1aa3c0188d 100644 --- a/content/en/api/beta/organization/federation/rules/create.md +++ b/content/en/api/beta/organization/federation/rules/create.md @@ -143,6 +143,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `issuer_id: string` diff --git a/content/en/api/beta/organization/federation/rules/list.md b/content/en/api/beta/organization/federation/rules/list.md index 43680f74e9..c46852f286 100644 --- a/content/en/api/beta/organization/federation/rules/list.md +++ b/content/en/api/beta/organization/federation/rules/list.md @@ -154,6 +154,10 @@ unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaFederationRule` diff --git a/content/en/api/beta/organization/federation/rules/retrieve.md b/content/en/api/beta/organization/federation/rules/retrieve.md index 33588f135b..d3393eedee 100644 --- a/content/en/api/beta/organization/federation/rules/retrieve.md +++ b/content/en/api/beta/organization/federation/rules/retrieve.md @@ -135,6 +135,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaFederationRule object` diff --git a/content/en/api/beta/organization/federation/rules/update.md b/content/en/api/beta/organization/federation/rules/update.md index 0d7b53fa15..5825018656 100644 --- a/content/en/api/beta/organization/federation/rules/update.md +++ b/content/en/api/beta/organization/federation/rules/update.md @@ -151,6 +151,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `applies_to_all_workspaces: optional boolean or null` diff --git a/content/en/api/beta/organization/federation/rules/workspaces.md b/content/en/api/beta/organization/federation/rules/workspaces.md index 99aaa03efc..e8ad85ef15 100644 --- a/content/en/api/beta/organization/federation/rules/workspaces.md +++ b/content/en/api/beta/organization/federation/rules/workspaces.md @@ -146,6 +146,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `workspace_id: string` @@ -357,6 +361,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaFederationRuleWorkspace` @@ -558,6 +566,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `type: "federation_rule_workspace_deleted"` diff --git a/content/en/api/beta/organization/federation/rules/workspaces/add.md b/content/en/api/beta/organization/federation/rules/workspaces/add.md index 9edfe8db4a..afb5a098c9 100644 --- a/content/en/api/beta/organization/federation/rules/workspaces/add.md +++ b/content/en/api/beta/organization/federation/rules/workspaces/add.md @@ -144,6 +144,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `workspace_id: string` diff --git a/content/en/api/beta/organization/federation/rules/workspaces/list.md b/content/en/api/beta/organization/federation/rules/workspaces/list.md index f0332d8e54..b434e9fd0a 100644 --- a/content/en/api/beta/organization/federation/rules/workspaces/list.md +++ b/content/en/api/beta/organization/federation/rules/workspaces/list.md @@ -153,6 +153,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaFederationRuleWorkspace` diff --git a/content/en/api/beta/organization/federation/rules/workspaces/remove.md b/content/en/api/beta/organization/federation/rules/workspaces/remove.md index 70e76cee38..21d3561cf9 100644 --- a/content/en/api/beta/organization/federation/rules/workspaces/remove.md +++ b/content/en/api/beta/organization/federation/rules/workspaces/remove.md @@ -144,6 +144,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `type: "federation_rule_workspace_deleted"` diff --git a/content/en/api/beta/organization/mcp_tunnels.md b/content/en/api/beta/organization/mcp_tunnels.md index 87d2978873..da90e95c9a 100644 --- a/content/en/api/beta/organization/mcp_tunnels.md +++ b/content/en/api/beta/organization/mcp_tunnels.md @@ -162,6 +162,10 @@ archived tunnels are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaOrganizationTunnel` @@ -370,6 +374,10 @@ Retrieve a single tunnel in the caller's organization by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaOrganizationTunnel object` @@ -574,6 +582,10 @@ tunnel returns the existing record unchanged. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaOrganizationTunnel object` @@ -779,6 +791,10 @@ access logs. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaOrganizationTunnelToken object` @@ -956,6 +972,10 @@ restarted after rotation must use the new value. An optional - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `reason: optional string or null` @@ -1207,6 +1227,10 @@ holds at most two non-archived certificates. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `ca_certificate_pem: string` @@ -1441,6 +1465,10 @@ Archived certificates are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaOrganizationTunnelCertificate` @@ -1653,6 +1681,10 @@ Retrieve a single certificate registered on a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnelCertificate object` @@ -1860,6 +1892,10 @@ certificate is added. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaOrganizationTunnelCertificate object` diff --git a/content/en/api/beta/organization/mcp_tunnels/archive.md b/content/en/api/beta/organization/mcp_tunnels/archive.md index 17a3324c1c..c2c8c54450 100644 --- a/content/en/api/beta/organization/mcp_tunnels/archive.md +++ b/content/en/api/beta/organization/mcp_tunnels/archive.md @@ -142,6 +142,10 @@ tunnel returns the existing record unchanged. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaOrganizationTunnel object` diff --git a/content/en/api/beta/organization/mcp_tunnels/list.md b/content/en/api/beta/organization/mcp_tunnels/list.md index 0dcbadb2dc..af6ffe8a0c 100644 --- a/content/en/api/beta/organization/mcp_tunnels/list.md +++ b/content/en/api/beta/organization/mcp_tunnels/list.md @@ -160,6 +160,10 @@ archived tunnels are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaOrganizationTunnel` diff --git a/content/en/api/beta/organization/mcp_tunnels/retrieve.md b/content/en/api/beta/organization/mcp_tunnels/retrieve.md index 382d5b1436..ab7651acab 100644 --- a/content/en/api/beta/organization/mcp_tunnels/retrieve.md +++ b/content/en/api/beta/organization/mcp_tunnels/retrieve.md @@ -137,6 +137,10 @@ Retrieve a single tunnel in the caller's organization by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaOrganizationTunnel object` diff --git a/content/en/api/beta/organization/mcp_tunnels/reveal_token.md b/content/en/api/beta/organization/mcp_tunnels/reveal_token.md index e648566c03..78a3f35479 100644 --- a/content/en/api/beta/organization/mcp_tunnels/reveal_token.md +++ b/content/en/api/beta/organization/mcp_tunnels/reveal_token.md @@ -142,6 +142,10 @@ access logs. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaOrganizationTunnelToken object` diff --git a/content/en/api/beta/organization/mcp_tunnels/rotate_token.md b/content/en/api/beta/organization/mcp_tunnels/rotate_token.md index becd7efc91..55a6e89f8a 100644 --- a/content/en/api/beta/organization/mcp_tunnels/rotate_token.md +++ b/content/en/api/beta/organization/mcp_tunnels/rotate_token.md @@ -141,6 +141,10 @@ restarted after rotation must use the new value. An optional - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `reason: optional string or null` diff --git a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates.md b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates.md index a4f3edeabf..7d3da7eac0 100644 --- a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates.md +++ b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates.md @@ -144,6 +144,10 @@ holds at most two non-archived certificates. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `ca_certificate_pem: string` @@ -378,6 +382,10 @@ Archived certificates are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaOrganizationTunnelCertificate` @@ -590,6 +598,10 @@ Retrieve a single certificate registered on a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaOrganizationTunnelCertificate object` @@ -797,6 +809,10 @@ certificate is added. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaOrganizationTunnelCertificate object` diff --git a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive.md b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive.md index ace8887195..51893ed9bd 100644 --- a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive.md +++ b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive.md @@ -145,6 +145,10 @@ certificate is added. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaOrganizationTunnelCertificate object` diff --git a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/create.md b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/create.md index 0e535fc5a4..3f384ac342 100644 --- a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/create.md +++ b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/create.md @@ -142,6 +142,10 @@ holds at most two non-archived certificates. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `ca_certificate_pem: string` diff --git a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/list.md b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/list.md index 6dfcb3ba79..6e246379a4 100644 --- a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/list.md +++ b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/list.md @@ -159,6 +159,10 @@ Archived certificates are excluded unless `include_archived` is set. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaOrganizationTunnelCertificate` diff --git a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve.md b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve.md index 77b44f636c..6d8b915e18 100644 --- a/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve.md +++ b/content/en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve.md @@ -141,6 +141,10 @@ Retrieve a single certificate registered on a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaOrganizationTunnelCertificate object` diff --git a/content/en/api/beta/organization/plugin_marketplaces.md b/content/en/api/beta/organization/plugin_marketplaces.md index 09cd972679..6c77a3a4a1 100644 --- a/content/en/api/beta/organization/plugin_marketplaces.md +++ b/content/en/api/beta/organization/plugin_marketplaces.md @@ -175,6 +175,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaPluginMarketplace` @@ -446,6 +450,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaPluginMarketplace object` @@ -707,6 +715,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `default_installation_preference: "auto_install" or "available" or "not_available" or "required"` @@ -990,6 +1002,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `repository_url: string` @@ -1260,6 +1276,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters (form-data) - `archive: file` diff --git a/content/en/api/beta/organization/plugin_marketplaces/list.md b/content/en/api/beta/organization/plugin_marketplaces/list.md index 5b78430a9e..65740bf48f 100644 --- a/content/en/api/beta/organization/plugin_marketplaces/list.md +++ b/content/en/api/beta/organization/plugin_marketplaces/list.md @@ -173,6 +173,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaPluginMarketplace` diff --git a/content/en/api/beta/organization/plugin_marketplaces/retrieve.md b/content/en/api/beta/organization/plugin_marketplaces/retrieve.md index 88429585aa..5ec09a4569 100644 --- a/content/en/api/beta/organization/plugin_marketplaces/retrieve.md +++ b/content/en/api/beta/organization/plugin_marketplaces/retrieve.md @@ -137,6 +137,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaPluginMarketplace object` diff --git a/content/en/api/beta/organization/plugin_marketplaces/update.md b/content/en/api/beta/organization/plugin_marketplaces/update.md index f46d1bf886..667f5dac2b 100644 --- a/content/en/api/beta/organization/plugin_marketplaces/update.md +++ b/content/en/api/beta/organization/plugin_marketplaces/update.md @@ -136,6 +136,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `default_installation_preference: "auto_install" or "available" or "not_available" or "required"` diff --git a/content/en/api/beta/organization/plugin_marketplaces/validate_archive.md b/content/en/api/beta/organization/plugin_marketplaces/validate_archive.md index bf66c264e7..dc0afb419c 100644 --- a/content/en/api/beta/organization/plugin_marketplaces/validate_archive.md +++ b/content/en/api/beta/organization/plugin_marketplaces/validate_archive.md @@ -140,6 +140,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters (form-data) - `archive: file` diff --git a/content/en/api/beta/organization/plugin_marketplaces/validate_repository.md b/content/en/api/beta/organization/plugin_marketplaces/validate_repository.md index 5d71986da5..7ceb6c659b 100644 --- a/content/en/api/beta/organization/plugin_marketplaces/validate_repository.md +++ b/content/en/api/beta/organization/plugin_marketplaces/validate_repository.md @@ -140,6 +140,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `repository_url: string` diff --git a/content/en/api/beta/organization/plugins.md b/content/en/api/beta/organization/plugins.md index e1dda866b9..13a1084be1 100644 --- a/content/en/api/beta/organization/plugins.md +++ b/content/en/api/beta/organization/plugins.md @@ -153,6 +153,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters (form-data) - `files: array of file` @@ -558,6 +562,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaPlugin object` @@ -962,6 +970,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `served_version_id: string` @@ -1413,6 +1425,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaPlugin` @@ -1814,6 +1830,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaDeletedPlugin object` @@ -2366,6 +2386,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters (form-data) - `files: array of file` @@ -2713,6 +2737,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginVersion` @@ -3042,6 +3070,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaPluginVersion object` @@ -3378,6 +3410,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Example ```bash @@ -3550,6 +3586,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginInstallationSetting` @@ -3801,6 +3841,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `installation_preference: "auto_install" or "available" or "not_available" or "required"` @@ -4069,6 +4113,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedPluginInstallationSetting object` @@ -4311,6 +4359,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaPluginShare` diff --git a/content/en/api/beta/organization/plugins/create.md b/content/en/api/beta/organization/plugins/create.md index 09ae516c25..c9aa9d3e06 100644 --- a/content/en/api/beta/organization/plugins/create.md +++ b/content/en/api/beta/organization/plugins/create.md @@ -151,6 +151,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters (form-data) - `files: array of file` diff --git a/content/en/api/beta/organization/plugins/delete.md b/content/en/api/beta/organization/plugins/delete.md index cfd48ea71b..f99463e67c 100644 --- a/content/en/api/beta/organization/plugins/delete.md +++ b/content/en/api/beta/organization/plugins/delete.md @@ -142,6 +142,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaDeletedPlugin object` diff --git a/content/en/api/beta/organization/plugins/installation_settings.md b/content/en/api/beta/organization/plugins/installation_settings.md index 033d0a737c..663a39f02d 100644 --- a/content/en/api/beta/organization/plugins/installation_settings.md +++ b/content/en/api/beta/organization/plugins/installation_settings.md @@ -166,6 +166,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaPluginInstallationSetting` @@ -417,6 +421,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `installation_preference: "auto_install" or "available" or "not_available" or "required"` @@ -685,6 +693,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaDeletedPluginInstallationSetting object` diff --git a/content/en/api/beta/organization/plugins/installation_settings/list.md b/content/en/api/beta/organization/plugins/installation_settings/list.md index 823a29ed57..10ff2d19a5 100644 --- a/content/en/api/beta/organization/plugins/installation_settings/list.md +++ b/content/en/api/beta/organization/plugins/installation_settings/list.md @@ -164,6 +164,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaPluginInstallationSetting` diff --git a/content/en/api/beta/organization/plugins/installation_settings/remove.md b/content/en/api/beta/organization/plugins/installation_settings/remove.md index 845a54ce2d..341db4bd77 100644 --- a/content/en/api/beta/organization/plugins/installation_settings/remove.md +++ b/content/en/api/beta/organization/plugins/installation_settings/remove.md @@ -151,6 +151,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaDeletedPluginInstallationSetting object` diff --git a/content/en/api/beta/organization/plugins/installation_settings/set.md b/content/en/api/beta/organization/plugins/installation_settings/set.md index 7caa404a1c..fe1624f216 100644 --- a/content/en/api/beta/organization/plugins/installation_settings/set.md +++ b/content/en/api/beta/organization/plugins/installation_settings/set.md @@ -147,6 +147,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `installation_preference: "auto_install" or "available" or "not_available" or "required"` diff --git a/content/en/api/beta/organization/plugins/list.md b/content/en/api/beta/organization/plugins/list.md index 33e31a304e..1688636061 100644 --- a/content/en/api/beta/organization/plugins/list.md +++ b/content/en/api/beta/organization/plugins/list.md @@ -191,6 +191,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaPlugin` diff --git a/content/en/api/beta/organization/plugins/retrieve.md b/content/en/api/beta/organization/plugins/retrieve.md index 7d3c5e6151..84df1ec999 100644 --- a/content/en/api/beta/organization/plugins/retrieve.md +++ b/content/en/api/beta/organization/plugins/retrieve.md @@ -137,6 +137,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaPlugin object` diff --git a/content/en/api/beta/organization/plugins/shares.md b/content/en/api/beta/organization/plugins/shares.md index dd1c5900b5..7b449a673a 100644 --- a/content/en/api/beta/organization/plugins/shares.md +++ b/content/en/api/beta/organization/plugins/shares.md @@ -169,6 +169,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaPluginShare` diff --git a/content/en/api/beta/organization/plugins/shares/list.md b/content/en/api/beta/organization/plugins/shares/list.md index 44be2d40a8..cb8fede265 100644 --- a/content/en/api/beta/organization/plugins/shares/list.md +++ b/content/en/api/beta/organization/plugins/shares/list.md @@ -167,6 +167,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaPluginShare` diff --git a/content/en/api/beta/organization/plugins/update.md b/content/en/api/beta/organization/plugins/update.md index b5ee244a58..4e858d467b 100644 --- a/content/en/api/beta/organization/plugins/update.md +++ b/content/en/api/beta/organization/plugins/update.md @@ -154,6 +154,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `served_version_id: string` diff --git a/content/en/api/beta/organization/plugins/versions.md b/content/en/api/beta/organization/plugins/versions.md index 235b4094c2..b61fe3e4cf 100644 --- a/content/en/api/beta/organization/plugins/versions.md +++ b/content/en/api/beta/organization/plugins/versions.md @@ -152,6 +152,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters (form-data) - `files: array of file` @@ -499,6 +503,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaPluginVersion` @@ -828,6 +836,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaPluginVersion object` @@ -1164,6 +1176,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Example ```bash diff --git a/content/en/api/beta/organization/plugins/versions/create.md b/content/en/api/beta/organization/plugins/versions/create.md index 15c9c5e05a..02c39dd001 100644 --- a/content/en/api/beta/organization/plugins/versions/create.md +++ b/content/en/api/beta/organization/plugins/versions/create.md @@ -150,6 +150,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters (form-data) - `files: array of file` diff --git a/content/en/api/beta/organization/plugins/versions/download.md b/content/en/api/beta/organization/plugins/versions/download.md index ca668e2250..ad0ea834f3 100644 --- a/content/en/api/beta/organization/plugins/versions/download.md +++ b/content/en/api/beta/organization/plugins/versions/download.md @@ -157,6 +157,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Example ```bash diff --git a/content/en/api/beta/organization/plugins/versions/list.md b/content/en/api/beta/organization/plugins/versions/list.md index 32c594b9be..ef8487a02b 100644 --- a/content/en/api/beta/organization/plugins/versions/list.md +++ b/content/en/api/beta/organization/plugins/versions/list.md @@ -154,6 +154,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaPluginVersion` diff --git a/content/en/api/beta/organization/plugins/versions/retrieve.md b/content/en/api/beta/organization/plugins/versions/retrieve.md index 8bc7ccac62..02d84a1a3d 100644 --- a/content/en/api/beta/organization/plugins/versions/retrieve.md +++ b/content/en/api/beta/organization/plugins/versions/retrieve.md @@ -141,6 +141,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaPluginVersion object` diff --git a/content/en/api/beta/organization/service_accounts.md b/content/en/api/beta/organization/service_accounts.md index 737342a16e..43cc9e3c63 100644 --- a/content/en/api/beta/organization/service_accounts.md +++ b/content/en/api/beta/organization/service_accounts.md @@ -139,6 +139,10 @@ accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `name: string` @@ -402,6 +406,10 @@ archived service accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaServiceAccount` @@ -627,6 +635,10 @@ Retrieve a service account by its ID (`svac_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaServiceAccount object` @@ -853,6 +865,10 @@ interactive credential (a user OAuth token or a Console session). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `description: optional string or null` @@ -1097,6 +1113,10 @@ those rules first or change their target to another service account. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaServiceAccount object` @@ -1431,6 +1451,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_id: string` @@ -1671,6 +1695,10 @@ page to recover. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -1883,6 +1911,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "service_account_workspace_member_deleted"` diff --git a/content/en/api/beta/organization/service_accounts/archive.md b/content/en/api/beta/organization/service_accounts/archive.md index 1512f88d96..b6283bd74c 100644 --- a/content/en/api/beta/organization/service_accounts/archive.md +++ b/content/en/api/beta/organization/service_accounts/archive.md @@ -140,6 +140,10 @@ those rules first or change their target to another service account. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaServiceAccount object` diff --git a/content/en/api/beta/organization/service_accounts/create.md b/content/en/api/beta/organization/service_accounts/create.md index cb297a2a90..a65102530e 100644 --- a/content/en/api/beta/organization/service_accounts/create.md +++ b/content/en/api/beta/organization/service_accounts/create.md @@ -137,6 +137,10 @@ accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `name: string` diff --git a/content/en/api/beta/organization/service_accounts/list.md b/content/en/api/beta/organization/service_accounts/list.md index c866818842..2007d9004e 100644 --- a/content/en/api/beta/organization/service_accounts/list.md +++ b/content/en/api/beta/organization/service_accounts/list.md @@ -151,6 +151,10 @@ archived service accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaServiceAccount` diff --git a/content/en/api/beta/organization/service_accounts/retrieve.md b/content/en/api/beta/organization/service_accounts/retrieve.md index 48a93ac94b..9d1f764207 100644 --- a/content/en/api/beta/organization/service_accounts/retrieve.md +++ b/content/en/api/beta/organization/service_accounts/retrieve.md @@ -135,6 +135,10 @@ Retrieve a service account by its ID (`svac_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaServiceAccount object` diff --git a/content/en/api/beta/organization/service_accounts/update.md b/content/en/api/beta/organization/service_accounts/update.md index 0c28c3d7a0..5703aa7f0b 100644 --- a/content/en/api/beta/organization/service_accounts/update.md +++ b/content/en/api/beta/organization/service_accounts/update.md @@ -140,6 +140,10 @@ interactive credential (a user OAuth token or a Console session). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `description: optional string or null` diff --git a/content/en/api/beta/organization/service_accounts/workspaces.md b/content/en/api/beta/organization/service_accounts/workspaces.md index b19c054e7f..b90078d929 100644 --- a/content/en/api/beta/organization/service_accounts/workspaces.md +++ b/content/en/api/beta/organization/service_accounts/workspaces.md @@ -144,6 +144,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `workspace_id: string` @@ -384,6 +388,10 @@ page to recover. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -596,6 +604,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `type: "service_account_workspace_member_deleted"` diff --git a/content/en/api/beta/organization/service_accounts/workspaces/add.md b/content/en/api/beta/organization/service_accounts/workspaces/add.md index eed7c3b166..16c2c103c1 100644 --- a/content/en/api/beta/organization/service_accounts/workspaces/add.md +++ b/content/en/api/beta/organization/service_accounts/workspaces/add.md @@ -142,6 +142,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `workspace_id: string` diff --git a/content/en/api/beta/organization/service_accounts/workspaces/list.md b/content/en/api/beta/organization/service_accounts/workspaces/list.md index 5731202d80..e4699407bd 100644 --- a/content/en/api/beta/organization/service_accounts/workspaces/list.md +++ b/content/en/api/beta/organization/service_accounts/workspaces/list.md @@ -161,6 +161,10 @@ page to recover. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaServiceAccountWorkspaceMember` diff --git a/content/en/api/beta/organization/service_accounts/workspaces/remove.md b/content/en/api/beta/organization/service_accounts/workspaces/remove.md index 9550f10338..8924e025e0 100644 --- a/content/en/api/beta/organization/service_accounts/workspaces/remove.md +++ b/content/en/api/beta/organization/service_accounts/workspaces/remove.md @@ -147,6 +147,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `type: "service_account_workspace_member_deleted"` diff --git a/content/en/api/beta/organization/spend_limits.md b/content/en/api/beta/organization/spend_limits.md index dcef7442c6..a48f993adc 100644 --- a/content/en/api/beta/organization/spend_limits.md +++ b/content/en/api/beta/organization/spend_limits.md @@ -137,6 +137,10 @@ Anthropic account team. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `amount: string or null` @@ -744,6 +748,10 @@ come in a fixed order that is not creation order. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaSpendLimit` diff --git a/content/en/api/beta/organization/spend_limits/list.md b/content/en/api/beta/organization/spend_limits/list.md index b347bb28e0..a017d368b4 100644 --- a/content/en/api/beta/organization/spend_limits/list.md +++ b/content/en/api/beta/organization/spend_limits/list.md @@ -170,6 +170,10 @@ come in a fixed order that is not creation order. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaSpendLimit` diff --git a/content/en/api/beta/organization/spend_limits/set.md b/content/en/api/beta/organization/spend_limits/set.md index 6cc86a5af4..d1f7b31b0e 100644 --- a/content/en/api/beta/organization/spend_limits/set.md +++ b/content/en/api/beta/organization/spend_limits/set.md @@ -135,6 +135,10 @@ Anthropic account team. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `amount: string or null` diff --git a/content/en/api/beta/organization/telemetry_destinations.md b/content/en/api/beta/organization/telemetry_destinations.md index b8912019e6..d3f968fcdc 100644 --- a/content/en/api/beta/organization/telemetry_destinations.md +++ b/content/en/api/beta/organization/telemetry_destinations.md @@ -133,6 +133,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `endpoint_url: string` @@ -608,6 +612,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaTelemetryDestination` @@ -961,6 +969,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaTelemetryDestination object` @@ -1309,6 +1321,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `display_name: optional string or null` @@ -1791,6 +1807,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaDeletedTelemetryDestination object` @@ -1952,6 +1972,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaTelemetryDestinationTestResponse object` @@ -2883,6 +2907,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaTelemetryDestinationWorkspace` @@ -3074,6 +3102,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaTelemetryDestinationWorkspace object` @@ -3259,6 +3291,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaDeletedTelemetryDestinationWorkspace object` diff --git a/content/en/api/beta/organization/telemetry_destinations/create.md b/content/en/api/beta/organization/telemetry_destinations/create.md index 894b2259b4..37687e304c 100644 --- a/content/en/api/beta/organization/telemetry_destinations/create.md +++ b/content/en/api/beta/organization/telemetry_destinations/create.md @@ -131,6 +131,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `endpoint_url: string` diff --git a/content/en/api/beta/organization/telemetry_destinations/delete.md b/content/en/api/beta/organization/telemetry_destinations/delete.md index 5619d01273..340e34dd75 100644 --- a/content/en/api/beta/organization/telemetry_destinations/delete.md +++ b/content/en/api/beta/organization/telemetry_destinations/delete.md @@ -137,6 +137,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaDeletedTelemetryDestination object` diff --git a/content/en/api/beta/organization/telemetry_destinations/list.md b/content/en/api/beta/organization/telemetry_destinations/list.md index 6ed6f80579..51947ea64b 100644 --- a/content/en/api/beta/organization/telemetry_destinations/list.md +++ b/content/en/api/beta/organization/telemetry_destinations/list.md @@ -147,6 +147,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaTelemetryDestination` diff --git a/content/en/api/beta/organization/telemetry_destinations/retrieve.md b/content/en/api/beta/organization/telemetry_destinations/retrieve.md index 73ed8e11cb..2aef395739 100644 --- a/content/en/api/beta/organization/telemetry_destinations/retrieve.md +++ b/content/en/api/beta/organization/telemetry_destinations/retrieve.md @@ -135,6 +135,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaTelemetryDestination object` diff --git a/content/en/api/beta/organization/telemetry_destinations/test.md b/content/en/api/beta/organization/telemetry_destinations/test.md index 7651322581..3e04ffe271 100644 --- a/content/en/api/beta/organization/telemetry_destinations/test.md +++ b/content/en/api/beta/organization/telemetry_destinations/test.md @@ -133,6 +133,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaTelemetryDestinationTestResponse object` diff --git a/content/en/api/beta/organization/telemetry_destinations/update.md b/content/en/api/beta/organization/telemetry_destinations/update.md index 7055504846..4deb69a2e0 100644 --- a/content/en/api/beta/organization/telemetry_destinations/update.md +++ b/content/en/api/beta/organization/telemetry_destinations/update.md @@ -139,6 +139,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `display_name: optional string or null` diff --git a/content/en/api/beta/organization/telemetry_destinations/workspaces.md b/content/en/api/beta/organization/telemetry_destinations/workspaces.md index cb0851003f..5e4f398bbc 100644 --- a/content/en/api/beta/organization/telemetry_destinations/workspaces.md +++ b/content/en/api/beta/organization/telemetry_destinations/workspaces.md @@ -151,6 +151,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaTelemetryDestinationWorkspace` @@ -342,6 +346,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaTelemetryDestinationWorkspace object` @@ -527,6 +535,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaDeletedTelemetryDestinationWorkspace object` diff --git a/content/en/api/beta/organization/telemetry_destinations/workspaces/add.md b/content/en/api/beta/organization/telemetry_destinations/workspaces/add.md index d6a2347397..3525c5cea1 100644 --- a/content/en/api/beta/organization/telemetry_destinations/workspaces/add.md +++ b/content/en/api/beta/organization/telemetry_destinations/workspaces/add.md @@ -143,6 +143,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaTelemetryDestinationWorkspace object` diff --git a/content/en/api/beta/organization/telemetry_destinations/workspaces/list.md b/content/en/api/beta/organization/telemetry_destinations/workspaces/list.md index 6db6566d93..af958f3527 100644 --- a/content/en/api/beta/organization/telemetry_destinations/workspaces/list.md +++ b/content/en/api/beta/organization/telemetry_destinations/workspaces/list.md @@ -149,6 +149,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaTelemetryDestinationWorkspace` diff --git a/content/en/api/beta/organization/telemetry_destinations/workspaces/remove.md b/content/en/api/beta/organization/telemetry_destinations/workspaces/remove.md index 38c9846659..0515705ed8 100644 --- a/content/en/api/beta/organization/telemetry_destinations/workspaces/remove.md +++ b/content/en/api/beta/organization/telemetry_destinations/workspaces/remove.md @@ -143,6 +143,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaDeletedTelemetryDestinationWorkspace object` diff --git a/content/en/api/beta/organization/usage_report.md b/content/en/api/beta/organization/usage_report.md index 674bdf72d2..3381ac0f85 100644 --- a/content/en/api/beta/organization/usage_report.md +++ b/content/en/api/beta/organization/usage_report.md @@ -9,7 +9,9 @@ url: https://platform.claude.com/docs/en/api/beta/organization/usage_report **GET** `/v1/organizations/usage_report/messages` -Get Messages Usage Report +[Legacy] Get a report of your organization's Messages API usage, aggregated into time buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). ### Query parameters @@ -107,7 +109,7 @@ Get Messages Usage Report Restrict usage returned to the specified service account ID(s). -- `service_tiers: optional array of "batch" or "flex" or "flex_discount" or 3 more` +- `service_tiers: optional array of BetaAnalyticsServiceTier` Restrict usage returned to the specified service tier(s). @@ -253,6 +255,10 @@ Get Messages Usage Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaMessagesUsageReport object` @@ -338,7 +344,7 @@ Get Messages Usage Report ID of the service account that made the request. `null` if not grouping by service account or for non-OIDC-federation requests. - - `service_tier: "batch" or "flex" or "flex_discount" or 3 more or null` + - `service_tier: BetaAnalyticsServiceTier or null` Service tier used. `null` if not grouping by service tier. @@ -948,7 +954,7 @@ curl https://api.anthropic.com/v1/organizations/usage_report/claude_code \ ID of the service account that made the request. `null` if not grouping by service account or for non-OIDC-federation requests. - - `service_tier: "batch" or "flex" or "flex_discount" or 3 more or null` + - `service_tier: BetaAnalyticsServiceTier or null` Service tier used. `null` if not grouping by service tier. diff --git a/content/en/api/beta/organization/usage_report/retrieve_messages.md b/content/en/api/beta/organization/usage_report/retrieve_messages.md index e9e62f4af4..fc26c7d8d8 100644 --- a/content/en/api/beta/organization/usage_report/retrieve_messages.md +++ b/content/en/api/beta/organization/usage_report/retrieve_messages.md @@ -7,7 +7,9 @@ url: https://platform.claude.com/docs/en/api/beta/organization/usage_report/retr **GET** `/v1/organizations/usage_report/messages` -Get Messages Usage Report +[Legacy] Get a report of your organization's Messages API usage, aggregated into time buckets. + +This endpoint is part of the legacy Usage and Cost API. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-usage-cost-api). ## Query parameters @@ -105,7 +107,7 @@ Get Messages Usage Report Restrict usage returned to the specified service account ID(s). -- `service_tiers: optional array of "batch" or "flex" or "flex_discount" or 3 more` +- `service_tiers: optional array of BetaAnalyticsServiceTier` Restrict usage returned to the specified service tier(s). @@ -251,6 +253,10 @@ Get Messages Usage Report - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaMessagesUsageReport object` @@ -336,7 +342,7 @@ Get Messages Usage Report ID of the service account that made the request. `null` if not grouping by service account or for non-OIDC-federation requests. - - `service_tier: "batch" or "flex" or "flex_discount" or 3 more or null` + - `service_tier: BetaAnalyticsServiceTier or null` Service tier used. `null` if not grouping by service tier. diff --git a/content/en/api/beta/organization/webhooks.md b/content/en/api/beta/organization/webhooks.md index fec21687d7..e5719627de 100644 --- a/content/en/api/beta/organization/webhooks.md +++ b/content/en/api/beta/organization/webhooks.md @@ -137,6 +137,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"` @@ -407,6 +411,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaOrganizationWebhookEndpoint` @@ -641,6 +649,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaOrganizationWebhookEndpoint object` @@ -857,6 +869,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `description: optional string` @@ -1107,6 +1123,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaDeletedOrganizationWebhookEndpoint object` @@ -1277,6 +1297,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaOrganizationWebhookEndpointSigningSecret object` diff --git a/content/en/api/beta/organization/webhooks/create.md b/content/en/api/beta/organization/webhooks/create.md index 7f672d7806..a10b4aa0f8 100644 --- a/content/en/api/beta/organization/webhooks/create.md +++ b/content/en/api/beta/organization/webhooks/create.md @@ -135,6 +135,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"` diff --git a/content/en/api/beta/organization/webhooks/delete.md b/content/en/api/beta/organization/webhooks/delete.md index da73c4de6d..d2ab0dcebf 100644 --- a/content/en/api/beta/organization/webhooks/delete.md +++ b/content/en/api/beta/organization/webhooks/delete.md @@ -137,6 +137,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaDeletedOrganizationWebhookEndpoint object` diff --git a/content/en/api/beta/organization/webhooks/list.md b/content/en/api/beta/organization/webhooks/list.md index 224c7fca77..e4c37f9786 100644 --- a/content/en/api/beta/organization/webhooks/list.md +++ b/content/en/api/beta/organization/webhooks/list.md @@ -156,6 +156,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaOrganizationWebhookEndpoint` diff --git a/content/en/api/beta/organization/webhooks/regenerate_signing_secret.md b/content/en/api/beta/organization/webhooks/regenerate_signing_secret.md index a98bbafcf0..46b5c27c7d 100644 --- a/content/en/api/beta/organization/webhooks/regenerate_signing_secret.md +++ b/content/en/api/beta/organization/webhooks/regenerate_signing_secret.md @@ -138,6 +138,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaOrganizationWebhookEndpointSigningSecret object` diff --git a/content/en/api/beta/organization/webhooks/retrieve.md b/content/en/api/beta/organization/webhooks/retrieve.md index ad5654b7ce..2bb0c047e1 100644 --- a/content/en/api/beta/organization/webhooks/retrieve.md +++ b/content/en/api/beta/organization/webhooks/retrieve.md @@ -137,6 +137,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaOrganizationWebhookEndpoint object` diff --git a/content/en/api/beta/organization/webhooks/update.md b/content/en/api/beta/organization/webhooks/update.md index 7a3b8761e2..8deb538c2f 100644 --- a/content/en/api/beta/organization/webhooks/update.md +++ b/content/en/api/beta/organization/webhooks/update.md @@ -137,6 +137,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `description: optional string` diff --git a/content/en/api/beta/organization/workspaces.md b/content/en/api/beta/organization/workspaces.md index 892734dd1b..86504e052e 100644 --- a/content/en/api/beta/organization/workspaces.md +++ b/content/en/api/beta/organization/workspaces.md @@ -320,6 +320,10 @@ Create Workspace - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `name: string` @@ -2372,6 +2376,10 @@ omitted from the results. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -2581,6 +2589,10 @@ accounts cannot be added and are rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `service_account_id: string` @@ -2806,6 +2818,10 @@ account returns 404. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BetaServiceAccountWorkspaceMember object` @@ -3008,6 +3024,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Body parameters - `workspace_role: BetaNoBillingWorkspaceRole` @@ -3227,6 +3247,10 @@ membership. Archived workspaces return 400. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type: "service_account_workspace_member_deleted"` diff --git a/content/en/api/beta/organization/workspaces/create.md b/content/en/api/beta/organization/workspaces/create.md index f1b55a31b9..ee2596ae1e 100644 --- a/content/en/api/beta/organization/workspaces/create.md +++ b/content/en/api/beta/organization/workspaces/create.md @@ -127,6 +127,10 @@ Create Workspace - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `name: string` diff --git a/content/en/api/beta/organization/workspaces/service_accounts.md b/content/en/api/beta/organization/workspaces/service_accounts.md index 6f52e6932f..764c19d7ef 100644 --- a/content/en/api/beta/organization/workspaces/service_accounts.md +++ b/content/en/api/beta/organization/workspaces/service_accounts.md @@ -156,6 +156,10 @@ omitted from the results. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `data: array of BetaServiceAccountWorkspaceMember` @@ -365,6 +369,10 @@ accounts cannot be added and are rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `service_account_id: string` @@ -590,6 +598,10 @@ account returns 404. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `BetaServiceAccountWorkspaceMember object` @@ -792,6 +804,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `workspace_role: BetaNoBillingWorkspaceRole` @@ -1011,6 +1027,10 @@ membership. Archived workspaces return 400. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `type: "service_account_workspace_member_deleted"` diff --git a/content/en/api/beta/organization/workspaces/service_accounts/add.md b/content/en/api/beta/organization/workspaces/service_accounts/add.md index 3c7c035c33..8f91ae46cb 100644 --- a/content/en/api/beta/organization/workspaces/service_accounts/add.md +++ b/content/en/api/beta/organization/workspaces/service_accounts/add.md @@ -144,6 +144,10 @@ accounts cannot be added and are rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `service_account_id: string` diff --git a/content/en/api/beta/organization/workspaces/service_accounts/list.md b/content/en/api/beta/organization/workspaces/service_accounts/list.md index 6f228ad9d1..ea2d7d9b6f 100644 --- a/content/en/api/beta/organization/workspaces/service_accounts/list.md +++ b/content/en/api/beta/organization/workspaces/service_accounts/list.md @@ -154,6 +154,10 @@ omitted from the results. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `data: array of BetaServiceAccountWorkspaceMember` diff --git a/content/en/api/beta/organization/workspaces/service_accounts/remove.md b/content/en/api/beta/organization/workspaces/service_accounts/remove.md index 8b59ef2bf4..d4cfde05d1 100644 --- a/content/en/api/beta/organization/workspaces/service_accounts/remove.md +++ b/content/en/api/beta/organization/workspaces/service_accounts/remove.md @@ -145,6 +145,10 @@ membership. Archived workspaces return 400. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `type: "service_account_workspace_member_deleted"` diff --git a/content/en/api/beta/organization/workspaces/service_accounts/retrieve.md b/content/en/api/beta/organization/workspaces/service_accounts/retrieve.md index d28be6aa19..d1e9149675 100644 --- a/content/en/api/beta/organization/workspaces/service_accounts/retrieve.md +++ b/content/en/api/beta/organization/workspaces/service_accounts/retrieve.md @@ -146,6 +146,10 @@ account returns 404. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `BetaServiceAccountWorkspaceMember object` diff --git a/content/en/api/beta/organization/workspaces/service_accounts/update.md b/content/en/api/beta/organization/workspaces/service_accounts/update.md index 1261b24217..4468acf526 100644 --- a/content/en/api/beta/organization/workspaces/service_accounts/update.md +++ b/content/en/api/beta/organization/workspaces/service_accounts/update.md @@ -146,6 +146,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `workspace_role: BetaNoBillingWorkspaceRole` diff --git a/content/en/api/beta/sessions.md b/content/en/api/beta/sessions.md index badb1d5a0f..0719013991 100644 --- a/content/en/api/beta/sessions.md +++ b/content/en/api/beta/sessions.md @@ -129,6 +129,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2837,6 +2841,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4336,6 +4344,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5821,6 +5833,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7892,6 +7908,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -8055,6 +8075,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19851,6 +19875,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -22956,6 +22984,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23953,6 +23985,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27090,6 +27126,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27304,6 +27344,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27591,6 +27635,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27857,6 +27905,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28135,6 +28187,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28326,6 +28382,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29411,6 +29471,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30487,6 +30551,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31574,6 +31642,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34691,6 +34763,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/archive.md b/content/en/api/beta/sessions/archive.md index 478075c362..bbac41065d 100644 --- a/content/en/api/beta/sessions/archive.md +++ b/content/en/api/beta/sessions/archive.md @@ -131,6 +131,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/create.md b/content/en/api/beta/sessions/create.md index eb51be2dbb..c718adb6a2 100644 --- a/content/en/api/beta/sessions/create.md +++ b/content/en/api/beta/sessions/create.md @@ -127,6 +127,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/delete.md b/content/en/api/beta/sessions/delete.md index 8ec44b8097..af5063a93c 100644 --- a/content/en/api/beta/sessions/delete.md +++ b/content/en/api/beta/sessions/delete.md @@ -131,6 +131,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/events.md b/content/en/api/beta/sessions/events.md index 9ba0262024..2076fb336a 100644 --- a/content/en/api/beta/sessions/events.md +++ b/content/en/api/beta/sessions/events.md @@ -261,6 +261,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3366,6 +3370,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4363,6 +4371,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/events/list.md b/content/en/api/beta/sessions/events/list.md index 34c3081943..d662de137d 100644 --- a/content/en/api/beta/sessions/events/list.md +++ b/content/en/api/beta/sessions/events/list.md @@ -259,6 +259,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/events/send.md b/content/en/api/beta/sessions/events/send.md index e03bf07df5..e5358751ae 100644 --- a/content/en/api/beta/sessions/events/send.md +++ b/content/en/api/beta/sessions/events/send.md @@ -131,6 +131,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/events/stream.md b/content/en/api/beta/sessions/events/stream.md index 8c34d9826e..2bc96b5db0 100644 --- a/content/en/api/beta/sessions/events/stream.md +++ b/content/en/api/beta/sessions/events/stream.md @@ -141,6 +141,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/list.md b/content/en/api/beta/sessions/list.md index 78b4833e5e..0668412523 100644 --- a/content/en/api/beta/sessions/list.md +++ b/content/en/api/beta/sessions/list.md @@ -213,6 +213,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/resources.md b/content/en/api/beta/sessions/resources.md index d79b4effaf..0535ae5414 100644 --- a/content/en/api/beta/sessions/resources.md +++ b/content/en/api/beta/sessions/resources.md @@ -133,6 +133,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -347,6 +351,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -634,6 +642,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -900,6 +912,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1178,6 +1194,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/resources/add.md b/content/en/api/beta/sessions/resources/add.md index e97863e7f8..fc6fe75179 100644 --- a/content/en/api/beta/sessions/resources/add.md +++ b/content/en/api/beta/sessions/resources/add.md @@ -131,6 +131,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/resources/delete.md b/content/en/api/beta/sessions/resources/delete.md index 540dce9b90..3abf243499 100644 --- a/content/en/api/beta/sessions/resources/delete.md +++ b/content/en/api/beta/sessions/resources/delete.md @@ -133,6 +133,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/resources/list.md b/content/en/api/beta/sessions/resources/list.md index c681f127ca..b68654753d 100644 --- a/content/en/api/beta/sessions/resources/list.md +++ b/content/en/api/beta/sessions/resources/list.md @@ -143,6 +143,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/resources/retrieve.md b/content/en/api/beta/sessions/resources/retrieve.md index df01ea25d2..e418b600f9 100644 --- a/content/en/api/beta/sessions/resources/retrieve.md +++ b/content/en/api/beta/sessions/resources/retrieve.md @@ -133,6 +133,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/resources/update.md b/content/en/api/beta/sessions/resources/update.md index 328f8a9a59..a117be465f 100644 --- a/content/en/api/beta/sessions/resources/update.md +++ b/content/en/api/beta/sessions/resources/update.md @@ -133,6 +133,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/retrieve.md b/content/en/api/beta/sessions/retrieve.md index a3b36afbc1..c9b67726cc 100644 --- a/content/en/api/beta/sessions/retrieve.md +++ b/content/en/api/beta/sessions/retrieve.md @@ -131,6 +131,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/threads.md b/content/en/api/beta/sessions/threads.md index 71ade4a00e..da3e47752c 100644 --- a/content/en/api/beta/sessions/threads.md +++ b/content/en/api/beta/sessions/threads.md @@ -159,6 +159,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1244,6 +1248,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2320,6 +2328,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7957,6 +7969,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -11074,6 +11090,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/threads/archive.md b/content/en/api/beta/sessions/threads/archive.md index de21a1ce43..43e64a4fab 100644 --- a/content/en/api/beta/sessions/threads/archive.md +++ b/content/en/api/beta/sessions/threads/archive.md @@ -133,6 +133,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/threads/events.md b/content/en/api/beta/sessions/threads/events.md index 52f9782198..95e3bf966e 100644 --- a/content/en/api/beta/sessions/threads/events.md +++ b/content/en/api/beta/sessions/threads/events.md @@ -143,6 +143,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3260,6 +3264,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/threads/events/list.md b/content/en/api/beta/sessions/threads/events/list.md index d1a8c37de7..2bd7f752dd 100644 --- a/content/en/api/beta/sessions/threads/events/list.md +++ b/content/en/api/beta/sessions/threads/events/list.md @@ -141,6 +141,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/threads/events/stream.md b/content/en/api/beta/sessions/threads/events/stream.md index 688eaada18..9fa0e673d2 100644 --- a/content/en/api/beta/sessions/threads/events/stream.md +++ b/content/en/api/beta/sessions/threads/events/stream.md @@ -143,6 +143,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/threads/list.md b/content/en/api/beta/sessions/threads/list.md index 18cc834fef..fdc7cc84b8 100644 --- a/content/en/api/beta/sessions/threads/list.md +++ b/content/en/api/beta/sessions/threads/list.md @@ -157,6 +157,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/threads/retrieve.md b/content/en/api/beta/sessions/threads/retrieve.md index 28c74a8022..19f7d36cbf 100644 --- a/content/en/api/beta/sessions/threads/retrieve.md +++ b/content/en/api/beta/sessions/threads/retrieve.md @@ -133,6 +133,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/sessions/update.md b/content/en/api/beta/sessions/update.md index c07ce8619c..8a4a05984e 100644 --- a/content/en/api/beta/sessions/update.md +++ b/content/en/api/beta/sessions/update.md @@ -131,6 +131,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills.md b/content/en/api/beta/skills.md index f8083d88c8..1ec9614b4d 100644 --- a/content/en/api/beta/skills.md +++ b/content/en/api/beta/skills.md @@ -129,6 +129,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -394,6 +398,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -639,6 +647,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -871,6 +883,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1160,6 +1176,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1385,6 +1405,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1605,6 +1629,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1757,6 +1785,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1964,6 +1996,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/create.md b/content/en/api/beta/skills/create.md index 26e4b2c039..6d2ed4bc08 100644 --- a/content/en/api/beta/skills/create.md +++ b/content/en/api/beta/skills/create.md @@ -127,6 +127,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/delete.md b/content/en/api/beta/skills/delete.md index 70defcce7b..fe435fa60f 100644 --- a/content/en/api/beta/skills/delete.md +++ b/content/en/api/beta/skills/delete.md @@ -135,6 +135,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/list.md b/content/en/api/beta/skills/list.md index 64cc16deef..6795f8c442 100644 --- a/content/en/api/beta/skills/list.md +++ b/content/en/api/beta/skills/list.md @@ -152,6 +152,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/retrieve.md b/content/en/api/beta/skills/retrieve.md index 3aa617807c..6b21455cb3 100644 --- a/content/en/api/beta/skills/retrieve.md +++ b/content/en/api/beta/skills/retrieve.md @@ -135,6 +135,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/versions.md b/content/en/api/beta/skills/versions.md index 1471713985..dae19a3a2b 100644 --- a/content/en/api/beta/skills/versions.md +++ b/content/en/api/beta/skills/versions.md @@ -137,6 +137,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -362,6 +366,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -582,6 +590,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -734,6 +746,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -941,6 +957,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/versions/create.md b/content/en/api/beta/skills/versions/create.md index bf785a440d..464af4372c 100644 --- a/content/en/api/beta/skills/versions/create.md +++ b/content/en/api/beta/skills/versions/create.md @@ -135,6 +135,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/versions/delete.md b/content/en/api/beta/skills/versions/delete.md index 6ed13b3422..3d77bd2df0 100644 --- a/content/en/api/beta/skills/versions/delete.md +++ b/content/en/api/beta/skills/versions/delete.md @@ -141,6 +141,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/versions/download.md b/content/en/api/beta/skills/versions/download.md index 73e961da37..004b6c071e 100644 --- a/content/en/api/beta/skills/versions/download.md +++ b/content/en/api/beta/skills/versions/download.md @@ -141,6 +141,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/versions/list.md b/content/en/api/beta/skills/versions/list.md index ad014a91f8..881d661447 100644 --- a/content/en/api/beta/skills/versions/list.md +++ b/content/en/api/beta/skills/versions/list.md @@ -149,6 +149,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/skills/versions/retrieve.md b/content/en/api/beta/skills/versions/retrieve.md index cb869f8072..01ad5544fe 100644 --- a/content/en/api/beta/skills/versions/retrieve.md +++ b/content/en/api/beta/skills/versions/retrieve.md @@ -141,6 +141,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels.md b/content/en/api/beta/tunnels.md index 6bc8c4c793..0e489e7235 100644 --- a/content/en/api/beta/tunnels.md +++ b/content/en/api/beta/tunnels.md @@ -131,6 +131,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -333,6 +337,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -535,6 +543,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -736,6 +748,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -929,6 +945,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1103,6 +1123,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1338,6 +1362,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1553,6 +1581,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1768,6 +1800,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1980,6 +2016,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/archive.md b/content/en/api/beta/tunnels/archive.md index b6f725e88f..6b0bec8494 100644 --- a/content/en/api/beta/tunnels/archive.md +++ b/content/en/api/beta/tunnels/archive.md @@ -135,6 +135,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/certificates.md b/content/en/api/beta/tunnels/certificates.md index 32db170e72..7f2bb7ef47 100644 --- a/content/en/api/beta/tunnels/certificates.md +++ b/content/en/api/beta/tunnels/certificates.md @@ -137,6 +137,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -352,6 +356,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -567,6 +575,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -779,6 +791,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/certificates/archive.md b/content/en/api/beta/tunnels/certificates/archive.md index 35f8aa2f53..776528e3cb 100644 --- a/content/en/api/beta/tunnels/certificates/archive.md +++ b/content/en/api/beta/tunnels/certificates/archive.md @@ -139,6 +139,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/certificates/create.md b/content/en/api/beta/tunnels/certificates/create.md index fc6741b8b8..c7b6d6c5e3 100644 --- a/content/en/api/beta/tunnels/certificates/create.md +++ b/content/en/api/beta/tunnels/certificates/create.md @@ -135,6 +135,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/certificates/list.md b/content/en/api/beta/tunnels/certificates/list.md index 207a8a49cb..c2bd86a62f 100644 --- a/content/en/api/beta/tunnels/certificates/list.md +++ b/content/en/api/beta/tunnels/certificates/list.md @@ -151,6 +151,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/certificates/retrieve.md b/content/en/api/beta/tunnels/certificates/retrieve.md index 0bd1527130..884f1349b3 100644 --- a/content/en/api/beta/tunnels/certificates/retrieve.md +++ b/content/en/api/beta/tunnels/certificates/retrieve.md @@ -139,6 +139,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/create.md b/content/en/api/beta/tunnels/create.md index a03e44d7bc..e9f927460f 100644 --- a/content/en/api/beta/tunnels/create.md +++ b/content/en/api/beta/tunnels/create.md @@ -129,6 +129,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/list.md b/content/en/api/beta/tunnels/list.md index 5b368f2613..31b5b4eb68 100644 --- a/content/en/api/beta/tunnels/list.md +++ b/content/en/api/beta/tunnels/list.md @@ -145,6 +145,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/retrieve.md b/content/en/api/beta/tunnels/retrieve.md index 28c611b30d..3d7f5bb7f4 100644 --- a/content/en/api/beta/tunnels/retrieve.md +++ b/content/en/api/beta/tunnels/retrieve.md @@ -135,6 +135,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/reveal_token.md b/content/en/api/beta/tunnels/reveal_token.md index 139c85c504..bfb96728fa 100644 --- a/content/en/api/beta/tunnels/reveal_token.md +++ b/content/en/api/beta/tunnels/reveal_token.md @@ -135,6 +135,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/tunnels/rotate_token.md b/content/en/api/beta/tunnels/rotate_token.md index 97fc0d0e34..ccd06d7a06 100644 --- a/content/en/api/beta/tunnels/rotate_token.md +++ b/content/en/api/beta/tunnels/rotate_token.md @@ -135,6 +135,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles.md b/content/en/api/beta/user_profiles.md index 829aa77903..17e46a5962 100644 --- a/content/en/api/beta/user_profiles.md +++ b/content/en/api/beta/user_profiles.md @@ -129,6 +129,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -570,6 +574,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -878,6 +886,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1179,6 +1191,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1582,6 +1598,10 @@ Delete User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1749,6 +1769,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2219,6 +2243,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/action_urls.md b/content/en/api/beta/user_profiles/action_urls.md index d04e8d1d46..4da2624bf4 100644 --- a/content/en/api/beta/user_profiles/action_urls.md +++ b/content/en/api/beta/user_profiles/action_urls.md @@ -135,6 +135,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/action_urls/create.md b/content/en/api/beta/user_profiles/action_urls/create.md index 7362006600..2bf1001b12 100644 --- a/content/en/api/beta/user_profiles/action_urls/create.md +++ b/content/en/api/beta/user_profiles/action_urls/create.md @@ -133,6 +133,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/create.md b/content/en/api/beta/user_profiles/create.md index 5f98f88a45..23c204f15a 100644 --- a/content/en/api/beta/user_profiles/create.md +++ b/content/en/api/beta/user_profiles/create.md @@ -127,6 +127,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/create_enrollment_url.md b/content/en/api/beta/user_profiles/create_enrollment_url.md index 9cfe35f821..195c40e690 100644 --- a/content/en/api/beta/user_profiles/create_enrollment_url.md +++ b/content/en/api/beta/user_profiles/create_enrollment_url.md @@ -133,6 +133,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/delete.md b/content/en/api/beta/user_profiles/delete.md index d9214a650c..6db1b877bd 100644 --- a/content/en/api/beta/user_profiles/delete.md +++ b/content/en/api/beta/user_profiles/delete.md @@ -133,6 +133,10 @@ Delete User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/list.md b/content/en/api/beta/user_profiles/list.md index b735d73fac..5dcdb66351 100644 --- a/content/en/api/beta/user_profiles/list.md +++ b/content/en/api/beta/user_profiles/list.md @@ -165,6 +165,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/retrieve.md b/content/en/api/beta/user_profiles/retrieve.md index 5cd1a4a000..14d57492cd 100644 --- a/content/en/api/beta/user_profiles/retrieve.md +++ b/content/en/api/beta/user_profiles/retrieve.md @@ -133,6 +133,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/user_profiles/update.md b/content/en/api/beta/user_profiles/update.md index 1bdf1f086f..bba211530f 100644 --- a/content/en/api/beta/user_profiles/update.md +++ b/content/en/api/beta/user_profiles/update.md @@ -133,6 +133,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults.md b/content/en/api/beta/vaults.md index a462b0c86a..3dc4a89a43 100644 --- a/content/en/api/beta/vaults.md +++ b/content/en/api/beta/vaults.md @@ -129,6 +129,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -357,6 +361,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -565,6 +573,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -764,6 +776,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -982,6 +998,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1149,6 +1169,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1403,6 +1427,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1931,6 +1959,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2266,6 +2298,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2592,6 +2628,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3067,6 +3107,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3238,6 +3282,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3565,6 +3613,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/archive.md b/content/en/api/beta/vaults/archive.md index d99a8f1ca7..c2f2cc68f6 100644 --- a/content/en/api/beta/vaults/archive.md +++ b/content/en/api/beta/vaults/archive.md @@ -133,6 +133,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/create.md b/content/en/api/beta/vaults/create.md index ade81632ad..c4944f4b97 100644 --- a/content/en/api/beta/vaults/create.md +++ b/content/en/api/beta/vaults/create.md @@ -127,6 +127,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials.md b/content/en/api/beta/vaults/credentials.md index cdcbf65e77..342e9813f5 100644 --- a/content/en/api/beta/vaults/credentials.md +++ b/content/en/api/beta/vaults/credentials.md @@ -135,6 +135,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -663,6 +667,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -998,6 +1006,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1324,6 +1336,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1799,6 +1815,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1970,6 +1990,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2297,6 +2321,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials/archive.md b/content/en/api/beta/vaults/credentials/archive.md index 4e2561cd93..fece4316a6 100644 --- a/content/en/api/beta/vaults/credentials/archive.md +++ b/content/en/api/beta/vaults/credentials/archive.md @@ -137,6 +137,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials/create.md b/content/en/api/beta/vaults/credentials/create.md index 4159e6aa00..58550dacd9 100644 --- a/content/en/api/beta/vaults/credentials/create.md +++ b/content/en/api/beta/vaults/credentials/create.md @@ -133,6 +133,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials/delete.md b/content/en/api/beta/vaults/credentials/delete.md index 941c3a4f1e..f6993f0b15 100644 --- a/content/en/api/beta/vaults/credentials/delete.md +++ b/content/en/api/beta/vaults/credentials/delete.md @@ -137,6 +137,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials/list.md b/content/en/api/beta/vaults/credentials/list.md index 9a32671718..f5f7a07fbe 100644 --- a/content/en/api/beta/vaults/credentials/list.md +++ b/content/en/api/beta/vaults/credentials/list.md @@ -149,6 +149,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/beta/vaults/credentials/mcp_oauth_validate.md index 69cd5faded..4f6978e55d 100644 --- a/content/en/api/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/beta/vaults/credentials/mcp_oauth_validate.md @@ -137,6 +137,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials/retrieve.md b/content/en/api/beta/vaults/credentials/retrieve.md index fd69513e96..43478cded2 100644 --- a/content/en/api/beta/vaults/credentials/retrieve.md +++ b/content/en/api/beta/vaults/credentials/retrieve.md @@ -137,6 +137,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/credentials/update.md b/content/en/api/beta/vaults/credentials/update.md index 4c61f4d971..70f7afe2be 100644 --- a/content/en/api/beta/vaults/credentials/update.md +++ b/content/en/api/beta/vaults/credentials/update.md @@ -137,6 +137,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/delete.md b/content/en/api/beta/vaults/delete.md index 82ea98758b..fd5fc892c1 100644 --- a/content/en/api/beta/vaults/delete.md +++ b/content/en/api/beta/vaults/delete.md @@ -133,6 +133,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/list.md b/content/en/api/beta/vaults/list.md index 76a2f6ff31..c6254ff91a 100644 --- a/content/en/api/beta/vaults/list.md +++ b/content/en/api/beta/vaults/list.md @@ -143,6 +143,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/retrieve.md b/content/en/api/beta/vaults/retrieve.md index 3413f10dc0..9b1f4cfbb4 100644 --- a/content/en/api/beta/vaults/retrieve.md +++ b/content/en/api/beta/vaults/retrieve.md @@ -133,6 +133,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/beta/vaults/update.md b/content/en/api/beta/vaults/update.md index 88b233f01d..d379c13acf 100644 --- a/content/en/api/beta/vaults/update.md +++ b/content/en/api/beta/vaults/update.md @@ -133,6 +133,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"anthropic-workspace-id": optional string` Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/claude-models-on-google-cloud-anthropic-managed-iam-permissions.md b/content/en/api/claude-models-on-google-cloud-anthropic-managed-iam-permissions.md index 238320330b..aab21a0215 100644 --- a/content/en/api/claude-models-on-google-cloud-anthropic-managed-iam-permissions.md +++ b/content/en/api/claude-models-on-google-cloud-anthropic-managed-iam-permissions.md @@ -34,7 +34,7 @@ In the following tables, **Admin**, **User**, and **Viewer** stand for these thr ## Permissions -The following tables list 68 permissions across 111 routes. +The following tables list 69 permissions across 113 routes. The `get` and `list` permissions are the read-only ones. @@ -231,11 +231,12 @@ These permissions manage your organization’s encryption key registrations. Of ### Usage reports -| Permission | Roles | Routes authorized | -| --------------------- | ----- | --------------------------------------------- | -| `usageAnalytics.list` | Admin | `GET /v1/organizations/usage_report/messages` | +| Permission | Roles | Routes authorized | +| --------------------- | ----- | ------------------------------------------------------------------------------------------ | +| `usageAnalytics.list` | Admin | `GET /v1/organizations/usage_report/messages`
`GET /v1/organizations/analytics/usage` | +| `costAnalytics.list` | Admin | `GET /v1/organizations/analytics/cost` | -Of the three predefined roles, only `roles/claude.admin` includes `usageAnalytics.list`. +Of the three predefined roles, only `roles/claude.admin` includes `usageAnalytics.list` and `costAnalytics.list`. ## See also diff --git a/content/en/api/claude-platform-on-aws-iam-actions.md b/content/en/api/claude-platform-on-aws-iam-actions.md index f684a2c580..ca399a3c7a 100644 --- a/content/en/api/claude-platform-on-aws-iam-actions.md +++ b/content/en/api/claude-platform-on-aws-iam-actions.md @@ -273,6 +273,17 @@ Actions follow the AWS `VerbNoun` convention and use verb discipline so that `Ge `AddTelemetryDestinationWorkspace` and `RemoveTelemetryDestinationWorkspace` apply to the workspace in the route, and only on a destination whose **Workspaces** option is **Selected**. To change an **All except** list, use `UpdateAccountTelemetryDestination`. A policy that denies `aws-external-anthropic:Create*`, `Update*`, or `Delete*` still allows adding and removing workspaces. To block every change to destinations, also deny `AddTelemetryDestinationWorkspace` and `RemoveTelemetryDestinationWorkspace`. +### Usage and cost + +| Action | Routes authorized | +| ------------------ | --------------------------------------- | +| `ListAccountUsage` | `GET /v1/organizations/analytics/usage` | +| `ListAccountCost` | `GET /v1/organizations/analytics/cost` | + + + These actions authorize the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). Both are account-scoped. Specifying a workspace ARN on these actions has no effect; use `Resource: "*"`. + + ### Authentication | Action | Routes authorized | @@ -291,7 +302,7 @@ Actions follow the AWS `VerbNoun` convention and use verb discipline so that `Ge ## Route-to-action mapping -The following table lists every route on Claude Platform on AWS and the IAM action required to call it. Each IAM action also authorizes requests that use the `anthropic-beta` header; beta variants of a route do not require a separate IAM action. CloudTrail classifies each action as either a Data event (high-volume, data-plane operations) or a Management event (control-plane operations). Vault and webhook actions are classified as Management events because they hold secrets (vault credentials and webhook signing secrets) and benefit from default-on audit logging. Workspace, external key, telemetry destination, and compliance actions are also classified as Management events because they are organization-scoped control-plane operations. All other actions, including inference, batch, model, file, skill, user profile, and the remaining Claude Managed Agents actions, are classified as Data events. +The following tables list every route on Claude Platform on AWS and the IAM action required to call it. Each IAM action also authorizes requests that use the `anthropic-beta` header; beta variants of a route do not require a separate IAM action. CloudTrail classifies each action as either a Data event (high-volume, data-plane operations) or a Management event (control-plane operations). Vault and webhook actions are classified as Management events because they hold secrets (vault credentials and webhook signing secrets) and benefit from default-on audit logging. Workspace, external key, telemetry destination, and compliance actions are also classified as Management events because they are organization-scoped control-plane operations. All other actions, including inference, batch, model, file, skill, user profile, usage and cost, and the remaining Claude Managed Agents actions, are classified as Data events. | Method | Route | IAM action | CloudTrail event type | | -------- | ------------------------------------------------------------------------- | ------------------------------------------- | --------------------- | @@ -412,10 +423,15 @@ The following table lists every route on Claude Platform on AWS and the IAM acti | `DELETE` | `/v1/webhooks/{id}` | `DeleteWebhook` | Management | | `POST` | `/v1/webhooks/{id}/regenerate_signing_secret` | `RotateWebhookSecret` | Management | -Routes not in this table are not available on Claude Platform on AWS. The gateway denies any route not listed here by default. +| Method | Route | IAM action | CloudTrail event type | +| ------ | ----------------------------------- | ------------------ | --------------------- | +| `GET` | `/v1/organizations/analytics/usage` | `ListAccountUsage` | Data | +| `GET` | `/v1/organizations/analytics/cost` | `ListAccountCost` | Data | + +Routes not in these tables are not available on Claude Platform on AWS. The gateway denies any route not listed here by default. - Workspace, external key, and telemetry destination routes are the only Admin API routes available on Claude Platform on AWS. You can also create, update, or archive workspaces in the AWS Console or, with the Admin role, in the Claude Console. Encryption keys can also be registered and attached in the Claude Console. + Workspace, external key, telemetry destination, and Usage and Cost Analytics API routes are the only Admin API routes available on Claude Platform on AWS. You can also create, update, or archive workspaces in the AWS Console or, with the Admin role, in the Claude Console. Encryption keys can also be registered and attached in the Claude Console. ## Managed policies @@ -433,7 +449,7 @@ AWS provides five managed policies for Claude Platform on AWS. All managed polic `AnthropicInferenceAccess` is the narrowest managed policy sufficient to run inference. It covers both synchronous and batch inference and, through the `Get*` and `List*` wildcards, grants read access to every API resource in the namespace, including Claude Managed Agents (CMA) resources (agents, sessions, environments, vaults, memory stores, and webhooks). This includes file content download through `GetFile` (see the [Files](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#files) note), skill content download through `GetSkill` (see the [Skills](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#skills) note), and memory contents through `GetMemoryStore`. Vault credential secrets and webhook signing secrets are not exposed: those fields are write-only and are never returned by `GetVault` or `GetWebhook` (see [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults)). `AnthropicInferenceAccess` does not grant file creation or deletion, skill management, user profile management, workspace mutation, encryption key management, telemetry destination management, or any Claude Managed Agents write action (create, update, archive, delete, process, or rotate). To exclude CMA reads, replace `AnthropicInferenceAccess` with a custom policy that enumerates only the specific non-CMA actions you need. - `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, and `AnthropicLimitedAccess` all carry the `Get*` and `List*` wildcards, which grant read access to all content in the workspace: file bytes, skill content, batch results, session conversation history, and memory contents. The wildcards also grant `GetKey` and `ListKeys`, which read the organization’s registered encryption key configurations (key ARNs and metadata, never key material). They also grant the account-scoped `GetUserProfile` and `ListUserProfiles`, which read user profiles. The `List*` wildcard also grants `ListComplianceActivities`, which reads the organization’s compliance [Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed) once the Compliance API is enabled for the organization (see [Compliance](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#compliance)). The wildcards also grant `GetAccountTelemetryDestination`, `ListAccountTelemetryDestinations`, and `ListAccountTelemetryDestinationWorkspaces`, which read the organization’s telemetry destinations but never their header values. Vault credential secrets and webhook signing secrets are not exposed; those fields are write-only and are never returned by `GetVault` or `GetWebhook`. If your principal should not read existing content, use a custom policy that enumerates only the actions you need. + `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, and `AnthropicLimitedAccess` all carry the `Get*` and `List*` wildcards, which grant read access to all content in the workspace: file bytes, skill content, batch results, session conversation history, and memory contents. The wildcards also grant `GetKey` and `ListKeys`, which read the organization’s registered encryption key configurations (key ARNs and metadata, never key material). They also grant the account-scoped `GetUserProfile` and `ListUserProfiles`, which read user profiles. The `List*` wildcard also grants `ListComplianceActivities`, which reads the organization’s compliance [Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed) once the Compliance API is enabled for the organization (see [Compliance](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#compliance)). It also grants `ListAccountUsage` and `ListAccountCost`, which read the organization’s usage and cost data (see [Usage and cost](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#usage-and-cost)). The wildcards also grant `GetAccountTelemetryDestination`, `ListAccountTelemetryDestinations`, and `ListAccountTelemetryDestinationWorkspaces`, which read the organization’s telemetry destinations but never their header values. Vault credential secrets and webhook signing secrets are not exposed; those fields are write-only and are never returned by `GetVault` or `GetWebhook`. If your principal should not read existing content, use a custom policy that enumerates only the actions you need. `AnthropicLimitedAccess` includes all Claude Managed Agents actions in addition to inference actions. @@ -503,7 +519,7 @@ Restricts a role to a single workspace: ``` - The `aws-external-anthropic:*` wildcard in the first statement includes account-scoped actions (`CreateWorkspace`, `ListWorkspaces`, `ListComplianceActivities`, the external key actions, the account-scoped telemetry destination actions, and the user profile actions) that the workspace ARN constraint silently filters out. This is consistent with the “isolation” intent (the role cannot create workspaces, enumerate workspaces, manage encryption key registrations, read the compliance Activity Feed, or read or manage user profiles, and it cannot create, read, or change telemetry destinations; it can still attach an already-registered key to its own workspace through `UpdateWorkspace`, and add its own workspace to a destination, or remove it from one, given the destination’s ID), but the policy contains permissions that have no effect. If the role needs user profiles, add a separate `Allow` statement for the user profile actions with `Resource: "*"`. See [Provisioning automation](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#provisioning-automation) for the account-scoped pattern. + The `aws-external-anthropic:*` wildcard in the first statement includes account-scoped actions (`CreateWorkspace`, `ListWorkspaces`, `ListComplianceActivities`, the external key actions, the account-scoped telemetry destination actions, the user profile actions, and the usage and cost actions) that the workspace ARN constraint silently filters out. This is consistent with the “isolation” intent (the role cannot create workspaces, enumerate workspaces, manage encryption key registrations, read the compliance Activity Feed, read usage or cost reports, or read or manage user profiles, and it cannot create, read, or change telemetry destinations; it can still attach an already-registered key to its own workspace through `UpdateWorkspace`, and add its own workspace to a destination, or remove it from one, given the destination’s ID), but the policy contains permissions that have no effect. If the role needs user profiles or usage and cost reports, add a separate `Allow` statement for those actions with `Resource: "*"`. See [Provisioning automation](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#provisioning-automation) for the account-scoped pattern. `CallWithBearerToken` and `AssumeConsole` are route-less actions that do not bind to a workspace ARN. The second statement grants them on `Resource: "*"` so the role can authenticate with an API key and open the Claude Console. Omit this statement if the role uses SigV4 only and does not need Claude Console access. diff --git a/content/en/api/cli/beta.md b/content/en/api/cli/beta.md index 8c40e9d65d..00d802be14 100644 --- a/content/en/api/cli/beta.md +++ b/content/en/api/cli/beta.md @@ -675,7 +675,7 @@ ant beta:models list "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1107,7 +1107,7 @@ ant beta:models retrieve \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1309,6 +1309,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=cli#configuring-thinking) for each model's behavior. +- `--thread: optional BetaThreadCreateParams or BetaThreadContinueParams` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `--tool-choice: optional BetaToolChoiceAuto or BetaToolChoiceAny or BetaToolChoiceTool or BetaToolChoiceNone` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -68644,6 +68648,1070 @@ ant beta:organization:analytics:artifacts list \ } ``` +## Beta › Organization › Analytics › Usage + +### Get Token Usage By Dimension + +`$ ant beta:organization:analytics:usage list` + +**GET** `/v1/organizations/analytics/usage` + +Get token usage across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `--starting-at: string` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `--actor-id: optional array of string` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + +- `--actor-type: optional array of BetaAnalyticsActorType` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + +- `--agent-id: optional array of string` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--api-key-id: optional array of string` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--claude-tag-category: optional array of BetaAnalyticsClaudeTagCategory` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + +- `--claude-tag-user-id: optional array of string` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `--context-window: optional array of BetaAnalyticsContextWindow` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + +- `--deployment-id: optional array of string` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--ending-at: optional string` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `--environment-id: optional array of string` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--exclude-deleted-users: optional boolean` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + +- `--group-by: optional array of BetaAnalyticsUsageGroupBy` (query parameter) + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. + + maxItems: 100 + +- `--inference-geo: optional array of BetaAnalyticsInferenceGeoFilter` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + +- `--limit: optional number` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + +- `--model: optional array of string` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `--order: optional "asc" or "desc"` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + +- `--order-by: optional "output_tokens" or "requests" or "time" or 2 more` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + +- `--page: optional string` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `--product: optional array of BetaAnalyticsUsageCostProductFilter` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + +- `--rbac-group-id: optional array of string` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `--service-tier: optional array of BetaAnalyticsServiceTier` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +- `--session-id: optional array of string` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--slack-channel-id: optional array of string` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `--speed: optional array of BetaAnalyticsSpeed` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + +- `--time-bucket-width: optional "1d" or "1h" or "1m"` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + +- `--user-profile-id: optional array of string` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--workspace-id: optional array of string` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +- `--beta: optional array of AnthropicBeta` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + +#### Returns + +- `BetaAnalyticsFlatUsageResponse: object` + + - `data: array of BetaAnalyticsUsageItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: object` + + The dimension values this row's usage is broken out by. + + - `actor: BetaAnalyticsReportUserActor or BetaAnalyticsServiceAccountActor or BetaAnalyticsFederatedActor or BetaAnalyticsAPIActor` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `beta_analytics_report_user_actor: object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `beta_analytics_service_account_actor: object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `beta_analytics_federated_actor: object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorAWSProvider or BetaAnalyticsFederatedActorAzureProvider or BetaAnalyticsFederatedActorGCPProvider or BetaAnalyticsFederatedActorOIDCProvider` + + The trusted provider that asserted the caller's identity. + + - `beta_analytics_federated_actor_aws_provider: object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `beta_analytics_federated_actor_azure_provider: object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `beta_analytics_federated_actor_gcp_provider: object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `beta_analytics_federated_actor_oidc_provider: object` + + - `type: "oidc"` + + - `issuer: string` + + The federation issuer's URL. + + - `subject: string` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `beta_analytics_api_actor: object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: "api_actor" or "federated_actor" or "service_account_actor" or "user_actor"` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: "0-200k" or "200k-1M"` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `deployment_id: string` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: "global" or "us"` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: "batch" or "flex" or "flex_discount" or 3 more` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: "fast" or "standard"` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `user_profile_id: string` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: object` + + Token usage for this row. + + - `cache_creation: object` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `output_tokens: number` + + The number of output tokens generated. + + - `requests: number` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: object` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. + + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + + - `data_refreshed_at: string` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + + - `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + + - `next_page: string` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +ant beta:organization:analytics:usage list \ + --starting-at ''\''2026-09-01T00:00:00Z'\''' +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`$ ant beta:organization:analytics:cost list` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `--starting-at: string` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `--actor-id: optional array of string` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + +- `--actor-type: optional array of BetaAnalyticsActorType` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + +- `--agent-id: optional array of string` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--api-key-id: optional array of string` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--claude-tag-category: optional array of BetaAnalyticsClaudeTagCategory` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + +- `--claude-tag-user-id: optional array of string` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `--context-window: optional array of BetaAnalyticsContextWindow` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + +- `--deployment-id: optional array of string` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--ending-at: optional string` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `--environment-id: optional array of string` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--exclude-deleted-users: optional boolean` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + +- `--group-by: optional array of BetaAnalyticsCostGroupBy` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + +- `--inference-geo: optional array of BetaAnalyticsInferenceGeoFilter` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + +- `--limit: optional number` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + +- `--model: optional array of string` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `--order: optional "asc" or "desc"` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + +- `--order-by: optional "amount" or "list_amount" or "time"` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + +- `--page: optional string` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `--product: optional array of BetaAnalyticsUsageCostProductFilter` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + +- `--rbac-group-id: optional array of string` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `--service-tier: optional array of BetaAnalyticsServiceTier` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +- `--session-id: optional array of string` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--slack-channel-id: optional array of string` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `--speed: optional array of BetaAnalyticsSpeed` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + +- `--time-bucket-width: optional "1d" or "1h" or "1m"` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + +- `--user-profile-id: optional array of string` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `--workspace-id: optional array of string` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +- `--beta: optional array of AnthropicBeta` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + +#### Returns + +- `BetaAnalyticsFlatCostResponse: object` + + - `data: array of BetaAnalyticsCostItem` + + Rows for this page, in the order set by `order_by` and `order`: one per combination of the `group_by[]` dimensions (and per time bucket, when `time_bucket_width` is set) with usage or cost in the range, or a single row when neither is set. Rows split out by `cost_type` or `token_type` (cost endpoint only) stay adjacent and are ranked as one unit. + + - `cost: object` + + Cost for this row. + + - `amount: string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. + + - `requests: number` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: object` + + The dimension values this row's cost is broken out by. + + - `actor: BetaAnalyticsReportUserActor or BetaAnalyticsServiceAccountActor or BetaAnalyticsFederatedActor or BetaAnalyticsAPIActor` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `beta_analytics_report_user_actor: object` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `beta_analytics_service_account_actor: object` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `beta_analytics_federated_actor: object` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorAWSProvider or BetaAnalyticsFederatedActorAzureProvider or BetaAnalyticsFederatedActorGCPProvider or BetaAnalyticsFederatedActorOIDCProvider` + + The trusted provider that asserted the caller's identity. + + - `beta_analytics_federated_actor_aws_provider: object` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `beta_analytics_federated_actor_azure_provider: object` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `beta_analytics_federated_actor_gcp_provider: object` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `beta_analytics_federated_actor_oidc_provider: object` + + - `type: "oidc"` + + - `issuer: string` + + The federation issuer's URL. + + - `subject: string` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `beta_analytics_api_actor: object` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: "api_actor" or "federated_actor" or "service_account_actor" or "user_actor"` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: "dm" or "engaged" or "monitoring" or 2 more` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: "0-200k" or "200k-1M"` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `cost_type: "code_execution" or "session_usage" or "tokens" or "web_search"` + + Cost component breakdown; null when returning the combined total. + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + + - `deployment_id: string` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: "global" or "us"` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: "batch" or "flex" or "flex_discount" or 3 more` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: "fast" or "standard"` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `token_type: "cache_creation.ephemeral_1h_input_tokens" or "cache_creation.ephemeral_5m_input_tokens" or "cache_read_input_tokens" or 2 more` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: string` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `data_refreshed_at: string` + + RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case `data` is empty. Data beyond this watermark is incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month the usage falls in; for example, values for October 1 can change until about November 7. + + format: date-time + + - `has_more: boolean` + + Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it. + + - `next_page: string` + + Opaque cursor for the next page, or null when `has_more` is false. Pass it as the `page` parameter, keeping the other parameters unchanged. A cursor can expire after the underlying data refreshes; the request then returns HTTP 410 and pagination must restart from the first page. + +#### Example + +```bash +ant beta:organization:analytics:cost list \ + --starting-at ''\''2026-09-01T00:00:00Z'\''' +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + ## Beta › Organization › Analytics › Usage Report ### Get Token Usage Over Time @@ -68652,12 +69720,11 @@ ant beta:organization:analytics:artifacts list \ **GET** `/v1/organizations/analytics/usage_report` -Get token usage over time across a date range. +[Legacy] Get token usage over time across a date range. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=cli) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=cli#migrate-from-enterprise-analytics-reports). #### Parameters @@ -68949,15 +70016,11 @@ ant beta:organization:analytics:usage-report list \ **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=cli) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=cli#migrate-from-enterprise-analytics-reports). #### Parameters @@ -69289,12 +70352,11 @@ ant beta:organization:analytics:user-usage-report list \ **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. + +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=cli) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=cli#migrate-from-enterprise-analytics-reports). #### Parameters @@ -69581,15 +70643,11 @@ ant beta:organization:analytics:cost-report list \ **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=cli) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=cli#migrate-from-enterprise-analytics-reports). #### Parameters diff --git a/content/en/api/cli/beta/messages.md b/content/en/api/cli/beta/messages.md index 3b76267ac3..8bf2aeedc7 100644 --- a/content/en/api/cli/beta/messages.md +++ b/content/en/api/cli/beta/messages.md @@ -197,6 +197,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=cli#configuring-thinking) for each model's behavior. +- `--thread: optional BetaThreadCreateParams or BetaThreadContinueParams` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `--tool-choice: optional BetaToolChoiceAuto or BetaToolChoiceAny or BetaToolChoiceTool or BetaToolChoiceNone` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -47270,6 +47274,28 @@ ant beta:messages count-tokens \ - `"max"` +### Beta Message Thread Param + +- `beta_message_thread_param: BetaThreadCreateParams or BetaThreadContinueParams` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `beta_thread_create_params: object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `beta_thread_continue_params: object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `beta_message_tokens_count: object` @@ -74795,6 +74821,26 @@ ant beta:messages count-tokens \ minimum: 1 +### Beta Thread Continue Params + +- `beta_thread_continue_params: object` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `beta_thread_create_params: object` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + ### Beta Token Task Budget - `beta_token_task_budget: object` diff --git a/content/en/api/cli/beta/messages/create.md b/content/en/api/cli/beta/messages/create.md index ebb3063916..8f89ae5a46 100644 --- a/content/en/api/cli/beta/messages/create.md +++ b/content/en/api/cli/beta/messages/create.md @@ -195,6 +195,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=cli#configuring-thinking) for each model's behavior. +- `--thread: optional BetaThreadCreateParams or BetaThreadContinueParams` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `--tool-choice: optional BetaToolChoiceAuto or BetaToolChoiceAny or BetaToolChoiceTool or BetaToolChoiceNone` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. diff --git a/content/en/api/cli/beta/models.md b/content/en/api/cli/beta/models.md index ac4d49a378..912d8dde0d 100644 --- a/content/en/api/cli/beta/models.md +++ b/content/en/api/cli/beta/models.md @@ -457,7 +457,7 @@ ant beta:models list "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -889,7 +889,7 @@ ant beta:models retrieve \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/cli/beta/models/list.md b/content/en/api/cli/beta/models/list.md index 8526b758ab..984cacb4d7 100644 --- a/content/en/api/cli/beta/models/list.md +++ b/content/en/api/cli/beta/models/list.md @@ -455,7 +455,7 @@ ant beta:models list "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/cli/beta/models/retrieve.md b/content/en/api/cli/beta/models/retrieve.md index f505442684..594877dc6f 100644 --- a/content/en/api/cli/beta/models/retrieve.md +++ b/content/en/api/cli/beta/models/retrieve.md @@ -422,7 +422,7 @@ ant beta:models retrieve \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/cli/completions.md b/content/en/api/cli/completions.md index d6f0126173..4ba3201754 100644 --- a/content/en/api/cli/completions.md +++ b/content/en/api/cli/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/cli/completions/create.md b/content/en/api/cli/completions/create.md index a05ee3b0ed..06a87ceb39 100644 --- a/content/en/api/cli/completions/create.md +++ b/content/en/api/cli/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/cli/models.md b/content/en/api/cli/models.md index d54cc4d00c..c66ba4394b 100644 --- a/content/en/api/cli/models.md +++ b/content/en/api/cli/models.md @@ -424,7 +424,7 @@ ant models list "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -823,7 +823,7 @@ ant models retrieve \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/cli/models/list.md b/content/en/api/cli/models/list.md index 08040c464f..949bb5a32c 100644 --- a/content/en/api/cli/models/list.md +++ b/content/en/api/cli/models/list.md @@ -422,7 +422,7 @@ ant models list "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/cli/models/retrieve.md b/content/en/api/cli/models/retrieve.md index 96f904e8ac..49a50e34ae 100644 --- a/content/en/api/cli/models/retrieve.md +++ b/content/en/api/cli/models/retrieve.md @@ -389,7 +389,7 @@ ant models retrieve \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/completions.md b/content/en/api/completions.md index 6fb3d84824..265d739fad 100644 --- a/content/en/api/completions.md +++ b/content/en/api/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/completions/create.md b/content/en/api/completions/create.md index 6f94dbc2b1..b1972ef9df 100644 --- a/content/en/api/completions/create.md +++ b/content/en/api/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/compliance.md b/content/en/api/compliance.md index eb0fe5c09a..1ce9722733 100644 --- a/content/en/api/compliance.md +++ b/content/en/api/compliance.md @@ -19,7 +19,7 @@ compliance activities that can be filtered by various criteria. #### Query parameters -- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 558 more` +- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 566 more` Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`. @@ -739,6 +739,38 @@ compliance activities that can be filtered by various criteria. SAML IdP configuration updated for a public sector organization. + - `"claude_security_finding_deleted"` + + A Claude Security finding was permanently deleted by a user. + + - `"claude_security_finding_updated"` + + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). + + - `"claude_security_knowledge_document_created"` + + A knowledge document was created in a Claude Security scan project. + + - `"claude_security_knowledge_document_updated"` + + A Claude Security scan project's knowledge document, such as its threat model, was changed. + + - `"claude_security_knowledge_document_version_restored"` + + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. + + - `"claude_security_scan_project_asset_added"` + + A repository was added to a Claude Security scan project. + + - `"claude_security_scan_project_asset_removed"` + + A repository was removed from a Claude Security scan project. + + - `"claude_security_scan_project_asset_updated"` + + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. + - `"claude_skill_auto_disabled"` A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. @@ -2322,7 +2354,7 @@ compliance activities that can be filtered by various criteria. format: date-time -- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 558 more` +- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 566 more` Exclude activities of these types. Cannot be combined with `activity_types[]`. @@ -3042,6 +3074,38 @@ compliance activities that can be filtered by various criteria. SAML IdP configuration updated for a public sector organization. + - `"claude_security_finding_deleted"` + + A Claude Security finding was permanently deleted by a user. + + - `"claude_security_finding_updated"` + + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). + + - `"claude_security_knowledge_document_created"` + + A knowledge document was created in a Claude Security scan project. + + - `"claude_security_knowledge_document_updated"` + + A Claude Security scan project's knowledge document, such as its threat model, was changed. + + - `"claude_security_knowledge_document_version_restored"` + + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. + + - `"claude_security_scan_project_asset_added"` + + A repository was added to a Claude Security scan project. + + - `"claude_security_scan_project_asset_removed"` + + A repository was removed from a Claude Security scan project. + + - `"claude_security_scan_project_asset_updated"` + + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. + - `"claude_skill_auto_disabled"` A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. @@ -4623,7 +4687,7 @@ compliance activities that can be filtered by various criteria. #### Returns -- `data: optional array of AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 558 more` +- `data: optional array of AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 566 more` List of activity records. Each element's `type` field identifies which activity it is and which additional fields are present. @@ -27369,7 +27433,7 @@ compliance activities that can be filtered by various criteria. - `status: optional string or null` - Updated status (ACTIVE/INACTIVE) + Status of the repository configuration after the change: "active" or "disabled". Absent when the change did not set a status. - `trigger_mode: optional string or null` @@ -40119,13 +40183,13 @@ compliance activities that can be filtered by various criteria. A short provider-specific identifier for the external resource after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - `ClaudeSkillAutoDisabled object` + - `ClaudeSecurityFindingDeleted object` - A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. + A Claude Security finding was permanently deleted by a user. - - `type: optional "claude_skill_auto_disabled"` + - `type: optional "claude_security_finding_deleted"` - default: claude_skill_auto_disabled + default: claude_security_finding_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40333,23 +40397,31 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "auto_enable_reverted" or "content_changed" or "unspecified"` + - `finding_id: string` - Why the skill was turned off automatically: "content_changed" (a change to the skill was saved or attempted, or the skill was scanned again, and it could not be confirmed as still eligible to be on automatically) or "auto_enable_reverted" (Anthropic turned off skills that had been turned on automatically; not in response to a change to this skill). + The finding that was deleted, e.g. "find_...". - - `"auto_enable_reverted"` + - `scan_project_id: string` - - `"content_changed"` + The scan project the finding belonged to, e.g. "spj_...". - - `"unspecified"` + - `id: optional string` - - `user_id: string` + Unique identifier for the activity e.g. 'activity_abcd1234' - The member the skill was turned off for. + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `id: optional string` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -40365,29 +40437,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `shared_by_user_id: optional string or null` + - `ClaudeSecurityFindingUpdated object` - For a skill that had been turned on because it was shared: the member who shared it. + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). - - `skill_id: optional string or null` - - The skill that was turned off. - - - `skill_name: optional string or null` - - The name of the skill that was turned off. + - `type: optional "claude_security_finding_updated"` - - `skill_version: optional string or null` + default: claude_security_finding_updated - The version of the skill the member had just before it was turned off. Absent when not known. + - `action: "reopened" or "resolved" or "unspecified"` - - `ClaudeSkillAutoEnabled object` + The state change applied to the finding. - A skill was turned on for a member automatically, not by the member; trigger gives the cause, such as another member sharing an eligible skill with them. A member turning a skill on themselves is recorded as claude_skill_enabled. + - `"reopened"` - - `type: optional "claude_skill_auto_enabled"` + - `"resolved"` - default: claude_skill_auto_enabled + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40595,75 +40661,57 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `trigger: "share" or "unspecified"` - - What caused the skill to be turned on automatically: "share" (another member shared it with the member, directly or through a group). - - - `"share"` + - `finding_id: string` - - `"unspecified"` + The finding that was acted on, e.g. "find_...". - - `user_id: string` + - `scan_project_id: string` - The member the skill was turned on for. + The scan project the finding belongs to, e.g. "spj_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - When this activity occurred. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when the change was made by an automated process, or when no project relationship was involved; events recorded before this field was introduced omit it. - format: date-time + - `"member"` - - `organization_id: optional string or null` + - `"organization_admin"` - Organization ID this activity is associated with + - `"organization_share"` - - `organization_uuid: optional string or null` + - `"owner"` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"unspecified"` - - `shared_at: optional string or null` + - `created_at: optional string` - For a skill turned on because it was shared: when it was shared with the member or with their group. + When this activity occurred. format: date-time - - `shared_by_user_id: optional string or null` - - For a skill turned on because it was shared: the member who shared it. - - - `shared_via: optional "direct" or "group" or "unspecified" or null` - - For a skill turned on because it was shared: "direct" if shared with the member themselves, "group" if shared with a group they belong to. - - - `"direct"` - - - `"group"` - - - `"unspecified"` - - - `skill_id: optional string or null` + - `organization_id: optional string or null` - The skill that was turned on. + Organization ID this activity is associated with - - `skill_name: optional string or null` + - `organization_uuid: optional string or null` - The name of the skill that was turned on. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `skill_version: optional string or null` + - `resolution_reason: optional string or null` - The version of the skill that was turned on. + The categorized reason the finding was resolved: "false_positive", "accepted_risk", "fixed", "duplicate", or "other". Set only when the action is "resolved". - - `ClaudeSkillDownloaded object` + - `ClaudeSecurityKnowledgeDocumentCreated object` - A member explicitly downloaded a skill's files to their device: the Download action in Claude, a single file saved from the skill viewer, or an install they asked one of their Claude apps for. Background syncs to the Claude apps, viewing a skill in the app and services reading a skill on the member's behalf are not recorded. + A knowledge document was created in a Claude Security scan project. - - `type: optional "claude_skill_downloaded"` + - `type: optional "claude_security_knowledge_document_created"` - default: claude_skill_downloaded + default: claude_security_knowledge_document_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40871,77 +40919,61 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - - Whether the whole bundle, one file, or only the instructions were downloaded. - - - `"bundle"` + - `memory_id: string` - - `"file"` + The memory ID of the knowledge document that was created, e.g. "mem_...". - - `"instructions"` + - `scan_project_id: string` - - `"unspecified"` + The scan project the document belongs to, e.g. "spj_...". - - `skill_id: string` + - `workspace_id: string` - The skill that was downloaded. + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `marketplace_id: optional string or null` - - The marketplace of the plugin that carries the skill; unset for a standalone skill. - - - `organization_id: optional string or null` - - Organization ID this activity is associated with + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `organization_uuid: optional string or null` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"member"` - - `owner_user_id: optional string or null` + - `"organization_admin"` - The member who owns the skill; unset for an organization-owned skill. + - `"organization_share"` - - `plugin_id: optional string or null` + - `"owner"` - The plugin that carries the skill; unset for a standalone skill. + - `"unspecified"` - - `scope: optional "organization" or "personal" or "unspecified" or null` + - `created_at: optional string` - Whether the skill is a member's own or the organization's. + When this activity occurred. - - `"organization"` + format: date-time - - `"personal"` + - `memory_version_id: optional string or null` - - `"unspecified"` + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. - - `skill_name: optional string or null` + - `organization_id: optional string or null` - The name of the skill that was downloaded. + Organization ID this activity is associated with - - `skill_version: optional string or null` + - `organization_uuid: optional string or null` - The version that was downloaded; unset for an unversioned skill. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyClosed object` + - `ClaudeSecurityKnowledgeDocumentUpdated object` - An organization admin closed an in-app survey before its end date, ending the collection of responses; a survey that reaches its end date records no event. + A Claude Security scan project's knowledge document, such as its threat model, was changed. - - `type: optional "claude_survey_closed"` + - `type: optional "claude_security_knowledge_document_updated"` - default: claude_survey_closed + default: claude_security_knowledge_document_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41149,20 +41181,46 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `memory_id: string` - Tagged ID of the closed survey, e.g. "srvy_01HX...". + The memory ID of the knowledge document that was changed, e.g. "mem_...". + + - `scan_project_id: string` + + The scan project the document belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. format: date-time + - `memory_version_id: optional string or null` + + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -41171,13 +41229,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyCreated object` + - `ClaudeSecurityKnowledgeDocumentVersionRestored object` - An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. - - `type: optional "claude_survey_created"` + - `type: optional "claude_security_knowledge_document_version_restored"` - default: claude_survey_created + default: claude_security_knowledge_document_version_restored - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41385,33 +41443,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `all_members: boolean` + - `memory_id: string` - Whether the survey was opened to every member of the organization. When false, it was opened to members who, at launch, were in any of the selected groups, departments, or cost centers. + The memory ID of the knowledge document that was restored, e.g. "mem_...". - - `survey_id: string` + - `restored_from_memory_version_id: string` - Tagged ID of the created survey, e.g. "srvy_01HX...". + The earlier version whose text was written back, e.g. "memver_...". - - `survey_name: string` + - `scan_project_id: string` - The name the admin gave the survey. Not shown to members. + The scan project the document belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `audience_cost_centers: optional array of string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - Cost center values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by cost center. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - - `audience_departments: optional array of string` + - `"member"` - Department values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by department. + - `"organization_admin"` - - `audience_group_ids: optional array of string` + - `"organization_share"` - Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -41419,6 +41483,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `memory_version_id: optional string or null` + + The new version this restore produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -41427,13 +41495,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyDeleted object` + - `ClaudeSecurityScanProjectAssetAdded object` - An organization admin permanently deleted a closed in-app survey together with every response collected for it. + A repository was added to a Claude Security scan project. - - `type: optional "claude_survey_deleted"` + - `type: optional "claude_security_scan_project_asset_added"` - default: claude_survey_deleted + default: claude_security_scan_project_asset_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41641,18 +41709,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` + - `asset_id: string` - The number of submitted responses that were deleted with the survey. + The asset ID of the repository, e.g. "asst_...". - - `survey_id: string` + - `scan_project_id: string` - Tagged ID of the deleted survey, e.g. "srvy_01HX...". + The scan project the repository was added to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -41667,13 +41753,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyResponseSubmitted object` + - `ClaudeSecurityScanProjectAssetRemoved object` - A member submitted their response to an in-app survey run by their organization; the record omits the response content, and a retried submission can produce more than one record for the same response. + A repository was removed from a Claude Security scan project. - - `type: optional "claude_survey_response_submitted"` + - `type: optional "claude_security_scan_project_asset_removed"` - default: claude_survey_response_submitted + default: claude_security_scan_project_asset_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41881,14 +41967,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `asset_id: string` - Tagged ID of the survey that was answered, e.g. "srvy_01HX...". + The asset ID of the repository, e.g. "asst_...". + + - `scan_project_id: string` + + The scan project the repository was removed from, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -41903,13 +42011,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyResponsesExported object` + - `ClaudeSecurityScanProjectAssetUpdated object` - An organization admin downloaded a survey's responses as a CSV file, one row per response with the member's email address (blank if it is no longer available, for example because they left the organization), the groups, department and cost center they were invited through, the product they answered in, the submission time, and their answers. + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. - - `type: optional "claude_survey_responses_exported"` + - `type: optional "claude_security_scan_project_asset_updated"` - default: claude_survey_responses_exported + default: claude_security_scan_project_asset_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42117,18 +42225,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` + - `asset_id: string` - The number of submitted responses included in the export. + The asset ID of the repository, e.g. "asst_...". - - `survey_id: string` + - `scan_project_id: string` - Tagged ID of the exported survey, e.g. "srvy_01HX...". + The scan project the repository belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -42143,13 +42269,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeUserSeatTierUpdated object` + - `updated_fields: optional array of string` - An organization member's seat tier was changed. A null `previous_seat_tier` means the member previously had no seat assigned; a null `current_seat_tier` means the seat was removed. + The settings whose value changed, e.g. "branch", "base_paths" (directories that are scanned) or "exclude_paths" (directories left out). The list can be empty. - - `type: optional "claude_user_seat_tier_updated"` + - `ClaudeSkillAutoDisabled object` - default: claude_user_seat_tier_updated + A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. + + - `type: optional "claude_skill_auto_disabled"` + + default: claude_skill_auto_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42357,13 +42487,19 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_email: string` + - `reason: "auto_enable_reverted" or "content_changed" or "unspecified"` - Email address of the member at the time of the change. + Why the skill was turned off automatically: "content_changed" (a change to the skill was saved or attempted, or the skill was scanned again, and it could not be confirmed as still eligible to be on automatically) or "auto_enable_reverted" (Anthropic turned off skills that had been turned on automatically; not in response to a change to this skill). + + - `"auto_enable_reverted"` + + - `"content_changed"` + + - `"unspecified"` - `user_id: string` - Tagged ID of the member whose seat tier changed. + The member the skill was turned off for. - `id: optional string` @@ -42375,10 +42511,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_seat_tier: optional string or null` - - The member's seat tier after this change, or null if the seat was removed. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42387,17 +42519,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_seat_tier: optional string or null` + - `shared_by_user_id: optional string or null` - The member's seat tier before this change, or null if no seat was assigned. + For a skill that had been turned on because it was shared: the member who shared it. - - `CliPluginExecPolicyUpdated object` + - `skill_id: optional string or null` - Admin set or cleared the per-op permission ceiling for a plugin CLI. + The skill that was turned off. - - `type: optional "cli_plugin_exec_policy_updated"` + - `skill_name: optional string or null` - default: cli_plugin_exec_policy_updated + The name of the skill that was turned off. + + - `skill_version: optional string or null` + + The version of the skill the member had just before it was turned off. Absent when not known. + + - `ClaudeSkillAutoEnabled object` + + A skill was turned on for a member automatically, not by the member; trigger gives the cause, such as another member sharing an eligible skill with them. A member turning a skill on themselves is recorded as claude_skill_enabled. + + - `type: optional "claude_skill_auto_enabled"` + + default: claude_skill_auto_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42605,25 +42749,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cli_name: string` - - CLI name as declared by the plugin manifest - - - `marketplace_id: string` - - Marketplace ID owning the plugin - - - `op_name: string` + - `trigger: "share" or "unspecified"` - Op name (or '*' for the per-CLI default) + What caused the skill to be turned on automatically: "share" (another member shared it with the member, directly or through a group). - - `plugin_id: string` + - `"share"` - Plugin ID resolved from the URL + - `"unspecified"` - - `plugin_name: string` + - `user_id: string` - Plugin name within its marketplace + The member the skill was turned on for. - `id: optional string` @@ -42635,10 +42771,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `max_permission: optional string or null` - - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42647,17 +42779,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_max_permission: optional string or null` + - `shared_at: optional string or null` - Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op + For a skill turned on because it was shared: when it was shared with the member or with their group. - - `ClaudeCommandCreated object` + format: date-time - Command was created. + - `shared_by_user_id: optional string or null` - - `type: optional "claude_command_created"` + For a skill turned on because it was shared: the member who shared it. - default: claude_command_created + - `shared_via: optional "direct" or "group" or "unspecified" or null` + + For a skill turned on because it was shared: "direct" if shared with the member themselves, "group" if shared with a group they belong to. + + - `"direct"` + + - `"group"` + + - `"unspecified"` + + - `skill_id: optional string or null` + + The skill that was turned on. + + - `skill_name: optional string or null` + + The name of the skill that was turned on. + + - `skill_version: optional string or null` + + The version of the skill that was turned on. + + - `ClaudeSkillDownloaded object` + + A member explicitly downloaded a skill's files to their device: the Download action in Claude, a single file saved from the skill viewer, or an install they asked one of their Claude apps for. Background syncs to the Claude apps, viewing a skill in the app and services reading a skill on the member's behalf are not recorded. + + - `type: optional "claude_skill_downloaded"` + + default: claude_skill_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42865,13 +43025,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether the whole bundle, one file, or only the instructions were downloaded. - - `command_id: optional string or null` + - `"bundle"` - - `command_name: optional string or null` + - `"file"` + + - `"instructions"` + + - `"unspecified"` + + - `skill_id: string` + + The skill that was downloaded. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -42879,6 +43051,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `marketplace_id: optional string or null` + + The marketplace of the plugin that carries the skill; unset for a standalone skill. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42887,13 +43063,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCommandDeleted object` + - `owner_user_id: optional string or null` - Command was deleted. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "claude_command_deleted"` + - `plugin_id: optional string or null` - default: claude_command_deleted + The plugin that carries the skill; unset for a standalone skill. + + - `scope: optional "organization" or "personal" or "unspecified" or null` + + Whether the skill is a member's own or the organization's. + + - `"organization"` + + - `"personal"` + + - `"unspecified"` + + - `skill_name: optional string or null` + + The name of the skill that was downloaded. + + - `skill_version: optional string or null` + + The version that was downloaded; unset for an unversioned skill. + + - `ClaudeSurveyClosed object` + + An organization admin closed an in-app survey before its end date, ending the collection of responses; a survey that reaches its end date records no event. + + - `type: optional "claude_survey_closed"` + + default: claude_survey_closed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43101,13 +43303,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `survey_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the closed survey, e.g. "srvy_01HX...". - - `command_id: optional string or null` + - `id: optional string` - - `command_name: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -43123,13 +43325,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCommandReplaced object` + - `ClaudeSurveyCreated object` - Command was replaced. + An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. - - `type: optional "claude_command_replaced"` + - `type: optional "claude_survey_created"` - default: claude_command_replaced + default: claude_survey_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43337,13 +43539,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `all_members: boolean` + + Whether the survey was opened to every member of the organization. When false, it was opened to members who, at launch, were in any of the selected groups, departments, or cost centers. + + - `survey_id: string` + + Tagged ID of the created survey, e.g. "srvy_01HX...". + + - `survey_name: string` + + The name the admin gave the survey. Not shown to members. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `command_id: optional string or null` + - `audience_cost_centers: optional array of string` - - `command_name: optional string or null` + Cost center values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by cost center. + + - `audience_departments: optional array of string` + + Department values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by department. + + - `audience_group_ids: optional array of string` + + Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". - `created_at: optional string` @@ -43359,13 +43581,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ComplianceAPIAccessed object` + - `ClaudeSurveyDeleted object` - Logging event auto-generated for each compliance API request. + An organization admin permanently deleted a closed in-app survey together with every response collected for it. - - `type: optional "compliance_api_accessed"` + - `type: optional "claude_survey_deleted"` - default: compliance_api_accessed + default: claude_survey_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43573,31 +43795,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `request_id: string` - - Identifier of the request, as returned in the response's request-id header - - - `request_method: "DELETE" or "GET" or "POST" or 2 more` - - HTTP method of the request - - - `"DELETE"` - - - `"GET"` - - - `"POST"` - - - `"PUT"` - - - `"unspecified"` - - - `status_code: number` + - `response_count: number` - HTTP status code + The number of submitted responses that were deleted with the survey. - - `url: string` + - `survey_id: string` - Full URL that was requested, including any query string + Tagged ID of the deleted survey, e.g. "srvy_01HX...". - `id: optional string` @@ -43617,17 +43821,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_body: optional string or null` - - Serialized JSON request body - - - `CoworkSessionUpdated object` + - `ClaudeSurveyResponseSubmitted object` - A Cowork session was updated. + A member submitted their response to an in-app survey run by their organization; the record omits the response content, and a retried submission can produce more than one record for the same response. - - `type: optional "cowork_session_updated"` + - `type: optional "claude_survey_response_submitted"` - default: cowork_session_updated + default: claude_survey_response_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43835,18 +44035,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cowork_session_id: string` + - `survey_id: string` - Tagged ID of the updated session, e.g. "sess_01HX...". + Tagged ID of the survey that was answered, e.g. "srvy_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_id: optional string or null` - - Tagged ID of the project the session was moved to, if any, e.g. "claude_proj_01HX...". Absent when the session was removed from its project. - - `created_at: optional string` When this activity occurred. @@ -43861,13 +44057,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesignProjectArtifactPublished object` + - `ClaudeSurveyResponsesExported object` - A Claude Design project's content was published as a claude.ai artifact, making a snapshot of one of its files viewable outside the project's sharing settings. + An organization admin downloaded a survey's responses as a CSV file, one row per response with the member's email address (blank if it is no longer available, for example because they left the organization), the groups, department and cost center they were invited through, the product they answered in, the submission time, and their answers. - - `type: optional "design_project_artifact_published"` + - `type: optional "claude_survey_responses_exported"` - default: design_project_artifact_published + default: claude_survey_responses_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44075,9 +44271,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `response_count: number` - The Design project whose content was published, e.g. "design_proj_01HX...". + The number of submitted responses included in the export. + + - `survey_id: string` + + Tagged ID of the exported survey, e.g. "srvy_01HX...". - `id: optional string` @@ -44089,10 +44289,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `is_public: optional boolean or null` - - True when the published artifact is publicly viewable after this call (anyone with the link). False when it is not — by default, a newly published artifact is visible only to the person who published it. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44101,17 +44297,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectCreated object` + - `ClaudeUserSeatTierUpdated object` - A Claude Design project was created. + An organization member's seat tier was changed. A null `previous_seat_tier` means the member previously had no seat assigned; a null `current_seat_tier` means the seat was removed. - - `type: optional "design_project_created"` + - `type: optional "claude_user_seat_tier_updated"` - default: design_project_created + default: claude_user_seat_tier_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44319,13 +44511,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `creation_method: string` + - `user_email: string` - How the project was created: "direct", "duplicate", "remix", or "template_from_project". + Email address of the member at the time of the change. - - `design_project_id: string` + - `user_id: string` - The Design project that was created, e.g. "design_proj_01HX...". + Tagged ID of the member whose seat tier changed. - `id: optional string` @@ -44337,6 +44529,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_seat_tier: optional string or null` + + The member's seat tier after this change, or null if the seat was removed. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44345,21 +44541,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project type: "project", "template", or "design_system". - - - `source_project_id: optional string or null` + - `previous_seat_tier: optional string or null` - The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. + The member's seat tier before this change, or null if no seat was assigned. - - `DesignProjectDeleted object` + - `CliPluginExecPolicyUpdated object` - A Claude Design project was deleted. + Admin set or cleared the per-op permission ceiling for a plugin CLI. - - `type: optional "design_project_deleted"` + - `type: optional "cli_plugin_exec_policy_updated"` - default: design_project_deleted + default: cli_plugin_exec_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44567,9 +44759,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `cli_name: string` - The Design project that was deleted, e.g. "design_proj_01HX...". + CLI name as declared by the plugin manifest + + - `marketplace_id: string` + + Marketplace ID owning the plugin + + - `op_name: string` + + Op name (or '*' for the per-CLI default) + + - `plugin_id: string` + + Plugin ID resolved from the URL + + - `plugin_name: string` + + Plugin name within its marketplace - `id: optional string` @@ -44581,6 +44789,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `max_permission: optional string or null` + + New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44589,13 +44801,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesignProjectMemberAdded object` + - `previous_max_permission: optional string or null` - A member was granted access to a Claude Design project. + Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - `type: optional "design_project_member_added"` + - `ClaudeCommandCreated object` - default: design_project_member_added + Command was created. + + - `type: optional "claude_command_created"` + + default: claude_command_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44803,26 +45019,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member was added to, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - - `role: string` - - The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -44837,17 +45041,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectMemberRemoved object` + - `ClaudeCommandDeleted object` - A member's access to a Claude Design project was revoked. + Command was deleted. - - `type: optional "design_project_member_removed"` + - `type: optional "claude_command_deleted"` - default: design_project_member_removed + default: claude_command_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45055,22 +45255,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member was removed from, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member that was removed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -45085,17 +45277,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectMemberRoleUpdated object` + - `ClaudeCommandReplaced object` - A Claude Design project member's role was changed. + Command was replaced. - - `type: optional "design_project_member_role_updated"` + - `type: optional "claude_command_replaced"` - default: design_project_member_role_updated + default: claude_command_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45303,26 +45491,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member belongs to, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member whose role was changed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - - `role: string` - - The member's role after the change: "viewer", "commenter", or "editor". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -45337,21 +45513,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` - - The member's role before the change. - - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectPublished object` + - `ComplianceAPIAccessed object` - A Claude Design template or design system was published, making it discoverable by everyone in its organization. + Logging event auto-generated for each compliance API request. - - `type: optional "design_project_published"` + - `type: optional "compliance_api_accessed"` - default: design_project_published + default: compliance_api_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45559,9 +45727,31 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `request_id: string` - The Design project that was published, e.g. "design_proj_01HX...". + Identifier of the request, as returned in the response's request-id header + + - `request_method: "DELETE" or "GET" or "POST" or 2 more` + + HTTP method of the request + + - `"DELETE"` + + - `"GET"` + + - `"POST"` + + - `"PUT"` + + - `"unspecified"` + + - `status_code: number` + + HTTP status code + + - `url: string` + + Full URL that was requested, including any query string - `id: optional string` @@ -45581,17 +45771,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` + - `request_body: optional string or null` - The project's type: "template" or "design_system". + Serialized JSON request body - - `DesignProjectSharingUpdated object` + - `CoworkSessionUpdated object` - A Claude Design project's link-sharing settings were changed — who the project's link works for, and what people opening it through the link may do. Access granted to individual members is reported separately (see design_project_member_added). + A Cowork session was updated. - - `type: optional "design_project_sharing_updated"` + - `type: optional "cowork_session_updated"` - default: design_project_sharing_updated + default: cowork_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45799,22 +45989,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project whose sharing settings changed, e.g. "design_proj_01HX...". - - - `new_link_permission: string` - - What people opening the project through its link may do after the change: "view", "comment", or "edit". - - - `new_scope: string` + - `cowork_session_id: string` - Who the project link is set to work for after the change: "invited" (only the owner and individually invited members) or "org" (anyone in the project's organization, where the organization's own sharing settings allow org-wide visibility). This records the project's stored setting as changed by the actor; organization-level settings can further restrict who the link actually admits, and changes to those settings are not project events. Projects created before link sharing was restricted may also report a legacy "public" value. + Tagged ID of the updated session, e.g. "sess_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + Tagged ID of the project the session was moved to, if any, e.g. "claude_proj_01HX...". Absent when the session was removed from its project. + - `created_at: optional string` When this activity occurred. @@ -45829,25 +46015,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_link_permission: optional string or null` - - What people opening the project through its link could do before the change. - - - `previous_scope: optional string or null` - - Who the project link was set to work for before the change — the stored setting, with the same organization-level caveat as new_scope. May include the legacy "public" value. - - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectUnpublished object` + - `DesignProjectArtifactPublished object` - A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + A Claude Design project's content was published as a claude.ai artifact, making a snapshot of one of its files viewable outside the project's sharing settings. - - `type: optional "design_project_unpublished"` + - `type: optional "design_project_artifact_published"` - default: design_project_unpublished + default: design_project_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46057,7 +46231,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was unpublished, e.g. "design_proj_01HX...". + The Design project whose content was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -46069,6 +46243,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `is_public: optional boolean or null` + + True when the published artifact is publicly viewable after this call (anyone with the link). False when it is not — by default, a newly published artifact is visible only to the person who published it. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -46079,15 +46257,15 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "template" or "design_system". + The project's type: "project", "template", or "design_system". - - `DesignProjectUpdated object` + - `DesignProjectCreated object` - A Claude Design project's metadata was updated. + A Claude Design project was created. - - `type: optional "design_project_updated"` + - `type: optional "design_project_created"` - default: design_project_updated + default: design_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46295,9 +46473,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `creation_method: string` + + How the project was created: "direct", "duplicate", "remix", or "template_from_project". + - `design_project_id: string` - The Design project that was updated, e.g. "design_proj_01HX...". + The Design project that was created, e.g. "design_proj_01HX...". - `id: optional string` @@ -46319,19 +46501,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. + The project type: "project", "template", or "design_system". - - `updated_fields: optional array of string` + - `source_project_id: optional string or null` - Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. - - `DesignProjectVersionRestored object` + - `DesignProjectDeleted object` - A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + A Claude Design project was deleted. - - `type: optional "design_project_version_restored"` + - `type: optional "design_project_deleted"` - default: design_project_version_restored + default: design_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46541,7 +46723,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was restored, e.g. "design_proj_01HX...". + The Design project that was deleted, e.g. "design_proj_01HX...". - `id: optional string` @@ -46561,21 +46743,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectViewed object` - - A Claude Design project's content was read. The surface field records which kind of read — a project open, a full-content read, a single-file read, a saved-version read, or an export request. The actor is the reader. + - `DesignProjectMemberAdded object` - This activity type is retired: project content reads are no longer - recorded. Events of this type may still appear in feeds for reads that - occurred while it was active. + A member was granted access to a Claude Design project. - - `type: optional "design_project_viewed"` + - `type: optional "design_project_member_added"` - default: design_project_viewed + default: design_project_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46785,19 +46959,23 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project whose content was read, e.g. "design_proj_01HX...". + The Design project the member was added to, e.g. "design_proj_01HX...". - - `surface: string` + - `principal_id: string` - Which read surface recorded this open: "project" (the project was opened), "project_data" (the project's full contents were read or made readable — either a direct data read, which also includes the project's conversations when the reader's access extends to them, or a render-token request, which exposes the project's files for the token's lifetime; the two share this value and are not distinguished), "file" (one of the project's files was read), "version" (a saved version of the project's files, including their contents, was read — version-history browsing that lists names without contents is not recorded), or "export" (an authenticated export of the project's contents was requested). + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - `id: optional string` + - `principal_type: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `access_via: optional string or null` + - `role: string` - How the viewer was authorized to open the project: "owner" (the project's owner), "member_grant" (an individually invited member), "org_link" (org-wide link sharing), "trusted_service" (an authorized agent), or "design_system_reference" (an indirect read of a design system through a project that uses it). + The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -46817,13 +46995,13 @@ compliance activities that can be filtered by various criteria. The project's type: "project", "template", or "design_system". - - `DesktopExtensionAllowlisted object` + - `DesignProjectMemberRemoved object` - A desktop extension was added to an org's allowlist. + A member's access to a Claude Design project was revoked. - - `type: optional "desktop_extension_allowlisted"` + - `type: optional "design_project_member_removed"` - default: desktop_extension_allowlisted + default: design_project_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47031,25 +47209,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - Allowlisted DXT extension ID - - - `id: optional string` + - `design_project_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The Design project the member was removed from, e.g. "design_proj_01HX...". - - `attestations: optional array of object` + - `principal_id: string` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - `type: string` + - `principal_type: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The kind of member that was removed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `content_hash: string` + - `id: optional string` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -47065,13 +47239,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionBlocklisted object` + - `project_type: optional string or null` - A desktop extension was added to the global blocklist. + The project's type: "project", "template", or "design_system". - - `type: optional "desktop_extension_blocklisted"` + - `DesignProjectMemberRoleUpdated object` - default: desktop_extension_blocklisted + A Claude Design project member's role was changed. + + - `type: optional "design_project_member_role_updated"` + + default: design_project_member_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47279,9 +47457,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Blocklisted DXT extension ID + The Design project the member belongs to, e.g. "design_proj_01HX...". + + - `principal_id: string` + + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". + + - `principal_type: string` + + The kind of member whose role was changed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). + + - `role: string` + + The member's role after the change: "viewer", "commenter", or "editor". - `id: optional string` @@ -47301,13 +47491,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionDeleted object` + - `previous_role: optional string or null` - A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. + The member's role before the change. - - `type: optional "desktop_extension_deleted"` + - `project_type: optional string or null` - default: desktop_extension_deleted + The project's type: "project", "template", or "design_system". + + - `DesignProjectPublished object` + + A Claude Design template or design system was published, making it discoverable by everyone in its organization. + + - `type: optional "design_project_published"` + + default: design_project_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47515,9 +47713,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - DXT extension ID + The Design project that was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -47537,17 +47735,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `version: optional string or null` + - `project_type: optional string or null` - Specific version deleted (null if all versions) + The project's type: "template" or "design_system". - - `DesktopExtensionRemovedFromAllowlist object` + - `DesignProjectSharingUpdated object` - A desktop extension was removed from an org's allowlist. + A Claude Design project's link-sharing settings were changed — who the project's link works for, and what people opening it through the link may do. Access granted to individual members is reported separately (see design_project_member_added). - - `type: optional "desktop_extension_removed_from_allowlist"` + - `type: optional "design_project_sharing_updated"` - default: desktop_extension_removed_from_allowlist + default: design_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47755,9 +47953,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - DXT extension ID removed from allowlist + The Design project whose sharing settings changed, e.g. "design_proj_01HX...". + + - `new_link_permission: string` + + What people opening the project through its link may do after the change: "view", "comment", or "edit". + + - `new_scope: string` + + Who the project link is set to work for after the change: "invited" (only the owner and individually invited members) or "org" (anyone in the project's organization, where the organization's own sharing settings allow org-wide visibility). This records the project's stored setting as changed by the actor; organization-level settings can further restrict who the link actually admits, and changes to those settings are not project events. Projects created before link sharing was restricted may also report a legacy "public" value. - `id: optional string` @@ -47777,13 +47983,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionUnblocked object` + - `previous_link_permission: optional string or null` - A desktop extension was removed from the global blocklist. + What people opening the project through its link could do before the change. - - `type: optional "desktop_extension_unblocked"` + - `previous_scope: optional string or null` - default: desktop_extension_unblocked + Who the project link was set to work for before the change — the stored setting, with the same organization-level caveat as new_scope. May include the legacy "public" value. + + - `project_type: optional string or null` + + The project's type: "project", "template", or "design_system". + + - `DesignProjectUnpublished object` + + A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + + - `type: optional "design_project_unpublished"` + + default: design_project_unpublished - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47991,9 +48209,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Unblocked DXT extension ID + The Design project that was unpublished, e.g. "design_proj_01HX...". - `id: optional string` @@ -48013,13 +48231,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionUploaded object` + - `project_type: optional string or null` - A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. + The project's type: "template" or "design_system". - - `type: optional "desktop_extension_uploaded"` + - `DesignProjectUpdated object` - default: desktop_extension_uploaded + A Claude Design project's metadata was updated. + + - `type: optional "design_project_updated"` + + default: design_project_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48227,30 +48449,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - DXT extension ID - - - `version: string` + - `design_project_id: string` - Version string from the manifest + The Design project that was updated, e.g. "design_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. @@ -48265,13 +48471,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionVersionUploaded object` + - `project_type: optional string or null` - A new version of an existing org-owned desktop extension was uploaded. + The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. - - `type: optional "desktop_extension_version_uploaded"` + - `updated_fields: optional array of string` - default: desktop_extension_version_uploaded + Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + + - `DesignProjectVersionRestored object` + + A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + + - `type: optional "design_project_version_restored"` + + default: design_project_version_restored - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48479,30 +48693,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - DXT extension ID - - - `version: string` + - `design_project_id: string` - Version string from the manifest + The Design project that was restored, e.g. "design_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. @@ -48517,13 +48715,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksConfigDeleted object` + - `project_type: optional string or null` - Inference hooks configuration was removed for the organization. + The project's type: "project", "template", or "design_system". - - `type: optional "inference_hooks_config_deleted"` + - `DesignProjectViewed object` - default: inference_hooks_config_deleted + A Claude Design project's content was read. The surface field records which kind of read — a project open, a full-content read, a single-file read, a saved-version read, or an export request. The actor is the reader. + + This activity type is retired: project content reads are no longer + recorded. Events of this type may still appear in feeds for reads that + occurred while it was active. + + - `type: optional "design_project_viewed"` + + default: design_project_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48731,10 +48937,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `design_project_id: string` + + The Design project whose content was read, e.g. "design_proj_01HX...". + + - `surface: string` + + Which read surface recorded this open: "project" (the project was opened), "project_data" (the project's full contents were read or made readable — either a direct data read, which also includes the project's conversations when the reader's access extends to them, or a render-token request, which exposes the project's files for the token's lifetime; the two share this value and are not distinguished), "file" (one of the project's files was read), "version" (a saved version of the project's files, including their contents, was read — version-history browsing that lists names without contents is not recorded), or "export" (an authenticated export of the project's contents was requested). + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional string or null` + + How the viewer was authorized to open the project: "owner" (the project's owner), "member_grant" (an individually invited member), "org_link" (org-wide link sharing), "trusted_service" (an authorized agent), or "design_system_reference" (an indirect read of a design system through a project that uses it). + - `created_at: optional string` When this activity occurred. @@ -48749,13 +48967,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksConfigUpdated object` + - `project_type: optional string or null` - Inference hooks configuration was created or updated for the organization. + The project's type: "project", "template", or "design_system". - - `type: optional "inference_hooks_config_updated"` + - `DesktopExtensionAllowlisted object` - default: inference_hooks_config_updated + A desktop extension was added to an org's allowlist. + + - `type: optional "desktop_extension_allowlisted"` + + default: desktop_extension_allowlisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48963,33 +49185,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether Inference hooks enforcement is enabled after this change. - - - `enforcement_mode: string` - - Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). - - - `fail_mode: string` + - `extension_id: string` - Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + Allowlisted DXT extension ID - - `final_verdict_timeout_ms: number` + - `id: optional string` - Milliseconds inference waits for the Inference hooks verdict on the response. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `prompt_verdict_timeout_ms: number` + - `attestations: optional array of object` - Milliseconds inference waits for the Inference hooks verdict on the prompt. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `webhook_url: string` + - `type: string` - Scheme and host of the endpoint that Inference hooks sends prompts and responses to after this change, for example `https://hooks.example.com`; the port, path and query are never included. Empty when the address cannot be shown safely, and on activities recorded before this field was limited to scheme and host. + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `id: optional string` + - `content_hash: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -48997,18 +49211,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deny_message: optional string or null` - - Administrator-written text shown to users at the end of the error message when a request is blocked by the organization's Inference hooks policy, as configured after this change. Null when the built-in default message is in effect; an empty string when the administrator configured an empty message, in which case no text is appended. - - - `deny_message_enabled: optional boolean or null` - - Whether the organization has the appended deny message turned on, as configured after this change. When on, the administrator-written message (or the built-in default, when none is configured) is appended to the error users see when a request is blocked by the organization's Inference hooks policy; no text is appended when the administrator-written message is empty, or when this is off. - - - `extra_header_names: optional array of string or null` - - Names of the custom HTTP headers attached to every Inference hooks request after this change, or null when this update did not change headers. Header values are write-only and are not recorded. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -49017,29 +49219,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reset_circuit_breaker: optional boolean or null` - - Whether this update carried an explicit request to clear the circuit breaker. A tripped breaker otherwise survives configuration updates; it also clears whenever an update enables enforcement. - - - `rollout_percentage: optional number or null` - - Percentage of requests (0-100) inspected by Inference hooks after this change, or null when this update did not change it. 0 disables inspection; 100 inspects every request. - - - `shadow_mode: optional boolean or null` - - Whether the organization's Inference hooks run in shadow mode after this change, or null when this update did not change it. In shadow mode, prompts are still sent to the organization's endpoint and verdicts are recorded, but requests are never blocked. - - - `validate_tool_calls: optional boolean or null` - - Whether Inference hooks validate tool calls, as configured after this change. Null means tool calls are not validated: either nothing has been saved for this setting, as in a configuration created before the setting became available, or the setting is not yet available to the organization. A configuration created once the setting is available starts with it on by default. When on, tool calls the model requests are also sent to the organization's endpoint before they run, and its verdict is applied as it is for prompts. - - - `InferenceHooksSigningSecretGenerated object` + - `DesktopExtensionBlocklisted object` - A request signing secret was generated for the organization's Inference hooks configuration. + A desktop extension was added to the global blocklist. - - `type: optional "inference_hooks_signing_secret_generated"` + - `type: optional "desktop_extension_blocklisted"` - default: inference_hooks_signing_secret_generated + default: desktop_extension_blocklisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49247,9 +49433,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `rotated: boolean` + - `extension_id: string` - Whether this generation replaced an existing signing secret (true) or created the organization's first one (false). Replacing a secret invalidates the previous one immediately. + Blocklisted DXT extension ID - `id: optional string` @@ -49269,13 +49455,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimCancelled object` + - `DesktopExtensionDeleted object` - A pending domain claim was cancelled before it took effect, so the personal accounts on the claimed domains will no longer be migrated or deactivated at its deadline. + A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. - - `type: optional "domain_claim_cancelled"` + - `type: optional "desktop_extension_deleted"` - default: domain_claim_cancelled + default: desktop_extension_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49483,9 +49669,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `domain_claim_id: string` + - `extension_id: string` - The domain claim that was cancelled, e.g. "dclm_01Ab...". + DXT extension ID - `id: optional string` @@ -49505,23 +49691,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimDeadlineUpdated object` - - The migration deadline of a pending domain claim was moved to a later or an earlier date by Anthropic staff or an automated process. - - - `type: optional "domain_claim_deadline_updated"` - - default: domain_claim_deadline_updated + - `version: optional string or null` - - `action: "extended" or "shortened" or "unspecified"` + Specific version deleted (null if all versions) - Whether the deadline was extended (moved later) or shortened (moved earlier). + - `DesktopExtensionRemovedFromAllowlist object` - - `"extended"` + A desktop extension was removed from an org's allowlist. - - `"shortened"` + - `type: optional "desktop_extension_removed_from_allowlist"` - - `"unspecified"` + default: desktop_extension_removed_from_allowlist - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49729,9 +49909,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `domain_claim_id: string` + - `extension_id: string` - The domain claim whose deadline was moved, e.g. "dclm_01Ab...". + DXT extension ID removed from allowlist - `id: optional string` @@ -49743,12 +49923,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deadline_at: optional string or null` - - The deadline after the change. - - format: date-time - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -49757,19 +49931,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_deadline_at: optional string or null` - - The deadline before the change. - - format: date-time - - - `DomainClaimInitiated object` + - `DesktopExtensionUnblocked object` - Domain capture claim initiated over personal accounts on verified domains. + A desktop extension was removed from the global blocklist. - - `type: optional "domain_claim_initiated"` + - `type: optional "desktop_extension_unblocked"` - default: domain_claim_initiated + default: desktop_extension_unblocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49977,6 +50145,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `extension_id: string` + + Unblocked DXT extension ID + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -49995,13 +50167,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `EndUserInviteRequested object` + - `DesktopExtensionUploaded object` - Non-admin member submitted an invite request for a new org member. + A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. - - `type: optional "end_user_invite_requested"` + - `type: optional "desktop_extension_uploaded"` - default: end_user_invite_requested + default: desktop_extension_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50209,12 +50381,30 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` + - `extension_id: string` + + DXT extension ID + + - `version: string` + + Version string from the manifest - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. @@ -50229,13 +50419,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageBillingEnabled object` + - `DesktopExtensionVersionUploaded object` - Usage credit billing was enabled for an organization. + A new version of an existing org-owned desktop extension was uploaded. - - `type: optional "extra_usage_billing_enabled"` + - `type: optional "desktop_extension_version_uploaded"` - default: extra_usage_billing_enabled + default: desktop_extension_version_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50443,10 +50633,30 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `extension_id: string` + + DXT extension ID + + - `version: string` + + Version string from the manifest + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. @@ -50461,13 +50671,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageCreditGranted object` + - `InferenceHooksConfigDeleted object` - A promotional usage credit grant was claimed. + Inference hooks configuration was removed for the organization. - - `type: optional "extra_usage_credit_granted"` + - `type: optional "inference_hooks_config_deleted"` - default: extra_usage_credit_granted + default: inference_hooks_config_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50693,13 +50903,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageSpendLimitCreated object` + - `InferenceHooksConfigUpdated object` - Usage credit spend limit was created. + Inference hooks configuration was created or updated for the organization. - - `type: optional "extra_usage_spend_limit_created"` + - `type: optional "inference_hooks_config_updated"` - default: extra_usage_spend_limit_created + default: inference_hooks_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50907,13 +51117,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `enabled: boolean` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether Inference hooks enforcement is enabled after this change. - - `amount: optional number or null` + - `enforcement_mode: string` - The monthly credit limit amount in minor units (e.g. cents). + Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). + + - `fail_mode: string` + + Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + + - `final_verdict_timeout_ms: number` + + Milliseconds inference waits for the Inference hooks verdict on the response. + + - `prompt_verdict_timeout_ms: number` + + Milliseconds inference waits for the Inference hooks verdict on the prompt. + + - `webhook_url: string` + + Scheme and host of the endpoint that Inference hooks sends prompts and responses to after this change, for example `https://hooks.example.com`; the port, path and query are never included. Empty when the address cannot be shown safely, and on activities recorded before this field was limited to scheme and host. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -50921,13 +51151,17 @@ compliance activities that can be filtered by various criteria. format: date-time - - `is_enabled: optional boolean or null` + - `deny_message: optional string or null` - Whether the spend limit is enabled. + Administrator-written text shown to users at the end of the error message when a request is blocked by the organization's Inference hooks policy, as configured after this change. Null when the built-in default message is in effect; an empty string when the administrator configured an empty message, in which case no text is appended. - - `limit_type: optional string or null` + - `deny_message_enabled: optional boolean or null` - The type of spend limit created (e.g. organization, seat_tier, member, service, group). + Whether the organization has the appended deny message turned on, as configured after this change. When on, the administrator-written message (or the built-in default, when none is configured) is appended to the error users see when a request is blocked by the organization's Inference hooks policy; no text is appended when the administrator-written message is empty, or when this is off. + + - `extra_header_names: optional array of string or null` + + Names of the custom HTTP headers attached to every Inference hooks request after this change, or null when this update did not change headers. Header values are write-only and are not recorded. - `organization_id: optional string or null` @@ -50937,23 +51171,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` + - `reset_circuit_breaker: optional boolean or null` - Tagged ID of the spend limit. + Whether this update carried an explicit request to clear the circuit breaker. A tripped breaker otherwise survives configuration updates; it also clears whenever an update enables enforcement. - - `user_id: optional string or null` + - `rollout_percentage: optional number or null` - **Deprecated** + Percentage of requests (0-100) inspected by Inference hooks after this change, or null when this update did not change it. 0 disables inspection; 100 inspects every request. - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + - `shadow_mode: optional boolean or null` - - `ExtraUsageSpendLimitDeleted object` + Whether the organization's Inference hooks run in shadow mode after this change, or null when this update did not change it. In shadow mode, prompts are still sent to the organization's endpoint and verdicts are recorded, but requests are never blocked. - Usage credit spend limit was deleted. + - `validate_tool_calls: optional boolean or null` - - `type: optional "extra_usage_spend_limit_deleted"` + Whether Inference hooks validate tool calls, as configured after this change. Null means tool calls are not validated: either nothing has been saved for this setting, as in a configuration created before the setting became available, or the setting is not yet available to the organization. A configuration created once the setting is available starts with it on by default. When on, tool calls the model requests are also sent to the organization's endpoint before they run, and its verdict is applied as it is for prompts. - default: extra_usage_spend_limit_deleted + - `InferenceHooksSigningSecretGenerated object` + + A request signing secret was generated for the organization's Inference hooks configuration. + + - `type: optional "inference_hooks_signing_secret_generated"` + + default: inference_hooks_signing_secret_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51161,6 +51401,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `rotated: boolean` + + Whether this generation replaced an existing signing secret (true) or created the organization's first one (false). Replacing a secret invalidates the previous one immediately. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -51179,23 +51423,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` - - **Deprecated** - - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - - `ExtraUsageSpendLimitIncreaseRequestApproved object` + - `DomainClaimCancelled object` - A usage credit spend limit increase request was approved. + A pending domain claim was cancelled before it took effect, so the personal accounts on the claimed domains will no longer be migrated or deactivated at its deadline. - - `type: optional "extra_usage_spend_limit_increase_request_approved"` + - `type: optional "domain_claim_cancelled"` - default: extra_usage_spend_limit_increase_request_approved + default: domain_claim_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51403,13 +51637,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `domain_claim_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The domain claim that was cancelled, e.g. "dclm_01Ab...". - - `amount: optional number or null` + - `id: optional string` - The approved spend limit amount in minor units (e.g. cents). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -51425,25 +51659,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `requester_user_id: optional string or null` - - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + - `DomainClaimDeadlineUpdated object` - - `spend_limit_id: optional string or null` + The migration deadline of a pending domain claim was moved to a later or an earlier date by Anthropic staff or an automated process. - Tagged ID of the member's spend limit that the approval created or updated. + - `type: optional "domain_claim_deadline_updated"` - - `spend_limit_increase_request_id: optional string or null` + default: domain_claim_deadline_updated - Tagged ID of the spend limit increase request that was approved. + - `action: "extended" or "shortened" or "unspecified"` - - `ExtraUsageSpendLimitIncreaseRequestDenied object` + Whether the deadline was extended (moved later) or shortened (moved earlier). - A usage credit spend limit increase request was denied. + - `"extended"` - - `type: optional "extra_usage_spend_limit_increase_request_denied"` + - `"shortened"` - default: extra_usage_spend_limit_increase_request_denied + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51651,6 +51883,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `domain_claim_id: string` + + The domain claim whose deadline was moved, e.g. "dclm_01Ab...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -51661,6 +51897,12 @@ compliance activities that can be filtered by various criteria. format: date-time + - `deadline_at: optional string or null` + + The deadline after the change. + + format: date-time + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51669,21 +51911,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `requester_user_id: optional string or null` - - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + - `previous_deadline_at: optional string or null` - - `spend_limit_increase_request_id: optional string or null` + The deadline before the change. - Tagged ID of the spend limit increase request that was denied. + format: date-time - - `ExtraUsageSpendLimitUpdated object` + - `DomainClaimInitiated object` - Usage credit spend limit was updated. + Domain capture claim initiated over personal accounts on verified domains. - - `type: optional "extra_usage_spend_limit_updated"` + - `type: optional "domain_claim_initiated"` - default: extra_usage_spend_limit_updated + default: domain_claim_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51895,24 +52135,12 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `amount: optional number or null` - - The new monthly credit limit amount in minor units (e.g. cents). - - `created_at: optional string` When this activity occurred. format: date-time - - `is_enabled: optional boolean or null` - - Whether the spend limit is enabled. - - - `limit_type: optional string or null` - - The type of spend limit updated (e.g. organization, seat_tier, member, service, group). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51921,23 +52149,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` - - **Deprecated** - - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - - `ClaudeFileDeleted object` + - `EndUserInviteRequested object` - A file was deleted. + Non-admin member submitted an invite request for a new org member. - - `type: optional "claude_file_deleted"` + - `type: optional "end_user_invite_requested"` - default: claude_file_deleted + default: end_user_invite_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52145,9 +52363,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` - - Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". + - `invitee_email: string` - `id: optional string` @@ -52167,19 +52383,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated. The name can't be looked up once the file is deleted. - - - `ClaudeFileUploaded object` + - `ExtraUsageBillingEnabled object` - A file was uploaded. + Usage credit billing was enabled for an organization. - - `type: optional "claude_file_uploaded"` + - `type: optional "extra_usage_billing_enabled"` - default: claude_file_uploaded + default: extra_usage_billing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52387,22 +52597,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` - - Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_id: optional string or null` - - Chat ID if known at upload time (null for the upload-then-attach flow). To find which chats a file was later attached to, use `GET /v1/compliance/apps/chats/files/{claude_file_id}`. - - - `claude_project_id: optional string or null` - - Project ID if file was uploaded to a project - - `created_at: optional string` When this activity occurred. @@ -52417,19 +52615,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `GheConfigurationCreated object` + - `ExtraUsageCreditGranted object` - Admin created a GHE configuration. + A promotional usage credit grant was claimed. - - `type: optional "ghe_configuration_created"` + - `type: optional "extra_usage_credit_granted"` - default: ghe_configuration_created + default: extra_usage_credit_granted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52637,10 +52829,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -52651,14 +52839,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` - - Hostname of the GitHub Enterprise instance - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -52667,17 +52847,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GheConfigurationDeleted object` + - `ExtraUsageSpendLimitCreated object` - Admin deleted a GHE configuration. + Usage credit spend limit was created. - - `type: optional "ghe_configuration_deleted"` + - `type: optional "extra_usage_spend_limit_created"` - default: ghe_configuration_deleted + default: extra_usage_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52885,27 +53061,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The monthly credit limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time - - `display_name: optional string or null` + - `is_enabled: optional boolean or null` - Display name the configuration had when deleted + Whether the spend limit is enabled. - - `hostname: optional string or null` + - `limit_type: optional string or null` - Hostname of the GitHub Enterprise instance + The type of spend limit created (e.g. organization, seat_tier, member, service, group). - `organization_id: optional string or null` @@ -52915,17 +53091,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` + - `spend_limit_id: optional string or null` - Custom port, if not the HTTPS default + Tagged ID of the spend limit. - - `GheConfigurationUpdated object` + - `user_id: optional string or null` - Admin updated a GHE configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + **Deprecated** - - `type: optional "ghe_configuration_updated"` + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - default: ghe_configuration_updated + - `ExtraUsageSpendLimitDeleted object` + + Usage credit spend limit was deleted. + + - `type: optional "extra_usage_spend_limit_deleted"` + + default: extra_usage_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53133,10 +53315,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -53147,38 +53325,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `custom_ca_certificate_updated: optional boolean or null` - - Whether the custom CA certificate was replaced in this update - - - `display_name: optional string or null` - - New display name, when it changed - - - `github_app_client_id: optional string or null` - - New GitHub App client ID, when it changed - - - `github_app_client_secret_updated: optional boolean or null` - - Whether the GitHub App client secret was replaced in this update - - - `github_app_id: optional number or null` - - New GitHub App ID, when it changed - - - `github_app_private_key_updated: optional boolean or null` - - Whether the GitHub App private key was replaced in this update - - - `hostname: optional string or null` - - Hostname of the GitHub Enterprise instance (immutable; included for context) - - - `is_active: optional boolean or null` - - New active state, when it changed - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53187,45 +53333,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - New port, when it changed - - - `previous_display_name: optional string or null` - - Display name before the change, when it changed - - - `previous_github_app_client_id: optional string or null` - - GitHub App client ID before the change, when it changed - - - `previous_github_app_id: optional number or null` - - GitHub App ID before the change, when it changed - - - `previous_is_active: optional boolean or null` - - Active state before the change, when it changed - - - `previous_port: optional number or null` - - Port before the change, when it changed + - `spend_limit_id: optional string or null` - - `read_replica_hostnames_updated: optional boolean or null` + Tagged ID of the spend limit. - Whether the read replica hostnames were replaced in this update + - `user_id: optional string or null` - - `webhook_secret_updated: optional boolean or null` + **Deprecated** - Whether the webhook secret was replaced in this update + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - `GheUserConnected object` + - `ExtraUsageSpendLimitIncreaseRequestApproved object` - User connected to a GHE instance. + A usage credit spend limit increase request was approved. - - `type: optional "ghe_user_connected"` + - `type: optional "extra_usage_spend_limit_increase_request_approved"` - default: ghe_user_connected + default: extra_usage_spend_limit_increase_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53437,16 +53561,16 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The approved spend limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time - - `ghe_configuration_id: optional string or null` - - ID of the GHE configuration - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53455,13 +53579,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GheUserDisconnected object` + - `requester_user_id: optional string or null` - User disconnected from a GHE instance. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "ghe_user_disconnected"` + - `spend_limit_id: optional string or null` - default: ghe_user_disconnected + Tagged ID of the member's spend limit that the approval created or updated. + + - `spend_limit_increase_request_id: optional string or null` + + Tagged ID of the spend limit increase request that was approved. + + - `ExtraUsageSpendLimitIncreaseRequestDenied object` + + A usage credit spend limit increase request was denied. + + - `type: optional "extra_usage_spend_limit_increase_request_denied"` + + default: extra_usage_spend_limit_increase_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53679,10 +53815,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` - - ID of the GHE configuration - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53691,13 +53823,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GheWebhookSignatureInvalid object` + - `requester_user_id: optional string or null` - Webhook signature validation failed. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "ghe_webhook_signature_invalid"` + - `spend_limit_increase_request_id: optional string or null` - default: ghe_webhook_signature_invalid + Tagged ID of the spend limit increase request that was denied. + + - `ExtraUsageSpendLimitUpdated object` + + Usage credit spend limit was updated. + + - `type: optional "extra_usage_spend_limit_updated"` + + default: extra_usage_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53905,20 +54045,28 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The new monthly credit limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time + - `is_enabled: optional boolean or null` + + Whether the spend limit is enabled. + + - `limit_type: optional string or null` + + The type of spend limit updated (e.g. organization, seat_tier, member, service, group). + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53927,13 +54075,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGitHubIntegrationCreated object` + - `spend_limit_id: optional string or null` - A GitHub integration was enabled for the organization. + Tagged ID of the spend limit. - - `type: optional "claude_github_integration_created"` + - `user_id: optional string or null` - default: claude_github_integration_created + **Deprecated** + + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + + - `ClaudeFileDeleted object` + + A file was deleted. + + - `type: optional "claude_file_deleted"` + + default: claude_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54141,63 +54299,41 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `claude_file_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `enabled: optional boolean or null` - - Whether the integration is enabled after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_name: optional string or null` - - Name of the GitHub organization the integration is connected to, when known. - - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. + - `filename: optional string or null` - - `repository_name: optional string or null` + **Deprecated** - Name of the GitHub repository the integration is connected to, when known. + No longer populated. The name can't be looked up once the file is deleted. - - `ClaudeGitHubIntegrationDeleted object` + - `ClaudeFileUploaded object` - A GitHub integration was disabled for the organization. + A file was uploaded. - - `type: optional "claude_github_integration_deleted"` + - `type: optional "claude_file_uploaded"` - default: claude_github_integration_deleted + default: claude_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54405,51 +54541,49 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `claude_file_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_chat_id: optional string or null` + + Chat ID if known at upload time (null for the upload-then-attach flow). To find which chats a file was later attached to, use `GET /v1/compliance/apps/chats/files/{claude_file_id}`. + + - `claude_project_id: optional string or null` + + Project ID if file was uploaded to a project + - `created_at: optional string` When this activity occurred. format: date-time - - `enabled: optional boolean or null` - - Whether the integration is enabled after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_name: optional string or null` - - Name of the GitHub organization the integration was connected to, when known. - - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. + - `filename: optional string or null` - - `repository_name: optional string or null` + **Deprecated** - Name of the GitHub repository the integration was connected to, when known. + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - `ClaudeGitHubIntegrationUpdated object` + - `GheConfigurationCreated object` - A GitHub integration's configuration was updated. + Admin created a GHE configuration. - - `type: optional "claude_github_integration_updated"` + - `type: optional "ghe_configuration_created"` - default: claude_github_integration_updated + default: ghe_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54657,9 +54791,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `ghe_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GHE configuration - `id: optional string` @@ -54671,29 +54805,33 @@ compliance activities that can be filtered by various criteria. format: date-time - - `organization_id: optional string or null` + - `display_name: optional string or null` - Organization ID this activity is associated with + Display name given to the configuration - - `organization_name: optional string or null` + - `hostname: optional string or null` - Name of the GitHub organization the integration is connected to, when known. + Hostname of the GitHub Enterprise instance + + - `organization_id: optional string or null` + + Organization ID this activity is associated with - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `repository_name: optional string or null` + - `port: optional number or null` - Name of the GitHub repository the integration is connected to, when known. + Custom port, if not the HTTPS default - - `GitHubAppInstallationLinked object` + - `GheConfigurationDeleted object` - An installation of the Claude GitHub App (a GitHub organization or user account where the App is installed) was linked to the organization, letting the organization's Claude Code features act on that GitHub account's repositories. + Admin deleted a GHE configuration. - - `type: optional "github_app_installation_linked"` + - `type: optional "ghe_configuration_deleted"` - default: github_app_installation_linked + default: ghe_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54901,9 +55039,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `ghe_configuration_id: string` - Numeric GitHub ID of the installation that was linked + ID of the GHE configuration - `id: optional string` @@ -54915,13 +55053,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_account_login: optional string or null` + - `display_name: optional string or null` - Login of the GitHub organization or user account the App is installed on + Display name the configuration had when deleted - - `github_account_type: optional string or null` + - `hostname: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + Hostname of the GitHub Enterprise instance - `organization_id: optional string or null` @@ -54931,13 +55069,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GitHubAppInstallationUnlinked object` + - `port: optional number or null` - An installation of the Claude GitHub App was unlinked from the organization, so the organization's Claude Code features can no longer act on that GitHub account's repositories through it. + Custom port, if not the HTTPS default - - `type: optional "github_app_installation_unlinked"` + - `GheConfigurationUpdated object` - default: github_app_installation_unlinked + Admin updated a GHE configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + + - `type: optional "ghe_configuration_updated"` + + default: ghe_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55145,9 +55287,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `ghe_configuration_id: string` - Numeric GitHub ID of the installation that was unlinked + ID of the GHE configuration - `id: optional string` @@ -55159,13 +55301,37 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_account_login: optional string or null` + - `custom_ca_certificate_updated: optional boolean or null` - Login of the GitHub organization or user account the App is installed on + Whether the custom CA certificate was replaced in this update - - `github_account_type: optional string or null` + - `display_name: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + New display name, when it changed + + - `github_app_client_id: optional string or null` + + New GitHub App client ID, when it changed + + - `github_app_client_secret_updated: optional boolean or null` + + Whether the GitHub App client secret was replaced in this update + + - `github_app_id: optional number or null` + + New GitHub App ID, when it changed + + - `github_app_private_key_updated: optional boolean or null` + + Whether the GitHub App private key was replaced in this update + + - `hostname: optional string or null` + + Hostname of the GitHub Enterprise instance (immutable; included for context) + + - `is_active: optional boolean or null` + + New active state, when it changed - `organization_id: optional string or null` @@ -55175,13 +55341,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GitHubTokenImport object` + - `port: optional number or null` - A user attempted to import a personal GitHub access token for use with Claude Code. The `result` field indicates the outcome of the import (imported, rejected, or failed). + New port, when it changed - - `type: optional "github_token_import"` + - `previous_display_name: optional string or null` - default: github_token_import + Display name before the change, when it changed + + - `previous_github_app_client_id: optional string or null` + + GitHub App client ID before the change, when it changed + + - `previous_github_app_id: optional number or null` + + GitHub App ID before the change, when it changed + + - `previous_is_active: optional boolean or null` + + Active state before the change, when it changed + + - `previous_port: optional number or null` + + Port before the change, when it changed + + - `read_replica_hostnames_updated: optional boolean or null` + + Whether the read replica hostnames were replaced in this update + + - `webhook_secret_updated: optional boolean or null` + + Whether the webhook secret was replaced in this update + + - `GheUserConnected object` + + User connected to a GHE instance. + + - `type: optional "ghe_user_connected"` + + default: ghe_user_connected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55389,30 +55587,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - - The outcome of the import. - - - `"failed_internal"` - - - `"imported"` - - - `"rejected_feature_disabled"` - - - `"rejected_invalid_credential"` - - - `"rejected_missing_repo_scope"` - - - `"rejected_tenant_not_ready"` - - - `"rejected_zdr_policy"` - - - `"unspecified"` - - - `source: string` - - How the token was imported. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -55423,13 +55597,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_username: optional string or null` - - The GitHub username the imported token authenticates as, when known. - - - `granted_scopes: optional string or null` + - `ghe_configuration_id: optional string or null` - The scopes granted to the imported token, when available. + ID of the GHE configuration - `organization_id: optional string or null` @@ -55439,17 +55609,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `token_fingerprint_sha256: optional string or null` - - Not populated. - - - `GitlabConfigurationCreated object` + - `GheUserDisconnected object` - An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + User disconnected from a GHE instance. - - `type: optional "gitlab_configuration_created"` + - `type: optional "ghe_user_disconnected"` - default: gitlab_configuration_created + default: ghe_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55657,10 +55823,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` - - ID of the GitLab configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -55671,13 +55833,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` + - `ghe_configuration_id: optional string or null` - Hostname of the GitLab instance + ID of the GHE configuration - `organization_id: optional string or null` @@ -55687,17 +55845,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationDeleted object` + - `GheWebhookSignatureInvalid object` - An organization admin deleted a self-managed GitLab configuration. + Webhook signature validation failed. - - `type: optional "gitlab_configuration_deleted"` + - `type: optional "ghe_webhook_signature_invalid"` - default: gitlab_configuration_deleted + default: ghe_webhook_signature_invalid - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55905,9 +56059,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `ghe_configuration_id: string` - ID of the GitLab configuration + ID of the GHE configuration - `id: optional string` @@ -55919,14 +56073,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name the configuration had when deleted - - - `hostname: optional string or null` - - Hostname of the GitLab instance - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -55935,17 +56081,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationUpdated object` + - `ClaudeGitHubIntegrationCreated object` - An organization admin updated a self-managed GitLab configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + A GitHub integration was enabled for the organization. - - `type: optional "gitlab_configuration_updated"` + - `type: optional "claude_github_integration_created"` - default: gitlab_configuration_updated + default: claude_github_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56153,71 +56295,63 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `integration_id: string` - ID of the GitLab configuration + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_token_updated: optional boolean or null` - - Whether the access token was replaced in this update - - - `created_at: optional string` + - `attestations: optional array of object` - When this activity occurred. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - format: date-time + - `type: string` - - `custom_ca_certificate_updated: optional boolean or null` + Attestation type, such as "safe_for_phi" (may be used with protected health information). - Whether the custom CA certificate was replaced in this update + - `content_hash: string` - - `display_name: optional string or null` + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - New display name, when it changed + - `created_at: optional string` - - `hostname: optional string or null` + When this activity occurred. - Hostname of the GitLab instance (immutable; included for context) + format: date-time - - `is_active: optional boolean or null` + - `enabled: optional boolean or null` - New active state, when it changed + Whether the integration is enabled after this change. - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `port: optional number or null` + - `organization_name: optional string or null` - New port, when it changed + Name of the GitHub organization the integration is connected to, when known. - - `previous_display_name: optional string or null` + - `organization_uuid: optional string or null` - Display name before the change, when it changed + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_is_active: optional boolean or null` + - `previous_enabled: optional boolean or null` - Active state before the change, when it changed + Whether the integration was enabled before this change; null when the integration had never been configured. - - `previous_port: optional number or null` + - `repository_name: optional string or null` - Port before the change, when it changed + Name of the GitHub repository the integration is connected to, when known. - - `ClaudeGdriveIntegrationCreated object` + - `ClaudeGitHubIntegrationDeleted object` - A Google Drive integration was enabled for the organization. + A GitHub integration was disabled for the organization. - - `type: optional "claude_gdrive_integration_created"` + - `type: optional "claude_github_integration_deleted"` - default: claude_gdrive_integration_created + default: claude_github_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56427,49 +56561,49 @@ compliance activities that can be filtered by various criteria. - `integration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `folder_id: optional string or null` + - `enabled: optional boolean or null` - Identifier of the Google Drive folder the integration is connected to, when known. + Whether the integration is enabled after this change. - `organization_id: optional string or null` Organization ID this activity is associated with + - `organization_name: optional string or null` + + Name of the GitHub organization the integration was connected to, when known. + - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGdriveIntegrationDeleted object` + - `previous_enabled: optional boolean or null` - A Google Drive integration was disabled for the organization. + Whether the integration was enabled before this change; null when the integration had never been configured. - - `type: optional "claude_gdrive_integration_deleted"` + - `repository_name: optional string or null` - default: claude_gdrive_integration_deleted + Name of the GitHub repository the integration was connected to, when known. + + - `ClaudeGitHubIntegrationUpdated object` + + A GitHub integration's configuration was updated. + + - `type: optional "claude_github_integration_updated"` + + default: claude_github_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56679,7 +56813,7 @@ compliance activities that can be filtered by various criteria. - `integration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -56691,25 +56825,29 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` - - Identifier of the Google Drive folder the integration was connected to, when known. - - `organization_id: optional string or null` Organization ID this activity is associated with + - `organization_name: optional string or null` + + Name of the GitHub organization the integration is connected to, when known. + - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGdriveIntegrationUpdated object` + - `repository_name: optional string or null` - A Google Drive integration's configuration was updated. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "claude_gdrive_integration_updated"` + - `GitHubAppInstallationLinked object` - default: claude_gdrive_integration_updated + An installation of the Claude GitHub App (a GitHub organization or user account where the App is installed) was linked to the organization, letting the organization's Claude Code features act on that GitHub account's repositories. + + - `type: optional "github_app_installation_linked"` + + default: github_app_installation_linked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56917,9 +57055,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `github_installation_id: number` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Numeric GitHub ID of the installation that was linked - `id: optional string` @@ -56931,9 +57069,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` + - `github_account_login: optional string or null` - Identifier of the Google Drive folder the integration is connected to, when known. + Login of the GitHub organization or user account the App is installed on + + - `github_account_type: optional string or null` + + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") - `organization_id: optional string or null` @@ -56943,13 +57085,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupCreated object` + - `GitHubAppInstallationUnlinked object` - A group was created (RBAC admin or SCIM provisioning). + An installation of the Claude GitHub App was unlinked from the organization, so the organization's Claude Code features can no longer act on that GitHub account's repositories through it. - - `type: optional "group_created"` + - `type: optional "github_app_installation_unlinked"` - default: group_created + default: github_app_installation_unlinked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57157,13 +57299,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the created group - - - `group_name: string` + - `github_installation_id: number` - Name of the created group + Numeric GitHub ID of the installation that was unlinked - `id: optional string` @@ -57175,6 +57313,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `github_account_login: optional string or null` + + Login of the GitHub organization or user account the App is installed on + + - `github_account_type: optional string or null` + + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57183,13 +57329,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupDeleted object` + - `GitHubTokenImport object` - A group was deleted (RBAC admin or SCIM provisioning). + A user attempted to import a personal GitHub access token for use with Claude Code. The `result` field indicates the outcome of the import (imported, rejected, or failed). - - `type: optional "group_deleted"` + - `type: optional "github_token_import"` - default: group_deleted + default: github_token_import - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57397,9 +57543,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - Tagged ID of the deleted group + The outcome of the import. + + - `"failed_internal"` + + - `"imported"` + + - `"rejected_feature_disabled"` + + - `"rejected_invalid_credential"` + + - `"rejected_missing_repo_scope"` + + - `"rejected_tenant_not_ready"` + + - `"rejected_zdr_policy"` + + - `"unspecified"` + + - `source: string` + + How the token was imported. - `id: optional string` @@ -57411,6 +57577,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `github_username: optional string or null` + + The GitHub username the imported token authenticates as, when known. + + - `granted_scopes: optional string or null` + + The scopes granted to the imported token, when available. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57419,13 +57593,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupListViewed object` + - `token_fingerprint_sha256: optional string or null` - Admin viewed the list of RBAC groups. + Not populated. - - `type: optional "group_list_viewed"` + - `GitlabConfigurationCreated object` - default: group_list_viewed + An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + + - `type: optional "gitlab_configuration_created"` + + default: gitlab_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57633,6 +57811,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `gitlab_configuration_id: string` + + ID of the GitLab configuration + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -57643,6 +57825,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `display_name: optional string or null` + + Display name given to the configuration + + - `hostname: optional string or null` + + Hostname of the GitLab instance + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57651,13 +57841,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberAdded object` + - `port: optional number or null` - One or more members were added to a group. + Custom port, if not the HTTPS default - - `type: optional "group_member_added"` + - `GitlabConfigurationDeleted object` - default: group_member_added + An organization admin deleted a self-managed GitLab configuration. + + - `type: optional "gitlab_configuration_deleted"` + + default: gitlab_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57865,9 +58059,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the group + ID of the GitLab configuration - `id: optional string` @@ -57879,9 +58073,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `display_name: optional string or null` - Tagged IDs of the members added: user IDs, or service account IDs (svac_...) when a service account was added + Display name the configuration had when deleted + + - `hostname: optional string or null` + + Hostname of the GitLab instance - `organization_id: optional string or null` @@ -57891,13 +58089,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberAdditionFailed object` + - `port: optional number or null` - A request to add members to a group failed. Some of the requested members may have been added before the failure. + Custom port, if not the HTTPS default - - `type: optional "group_member_addition_failed"` + - `GitlabConfigurationUpdated object` - default: group_member_addition_failed + An organization admin updated a self-managed GitLab configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + + - `type: optional "gitlab_configuration_updated"` + + default: gitlab_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58105,23 +58307,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the group + ID of the GitLab configuration - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_token_updated: optional boolean or null` + + Whether the access token was replaced in this update + - `created_at: optional string` When this activity occurred. format: date-time - - `member_ids: optional array of string` + - `custom_ca_certificate_updated: optional boolean or null` - Tagged IDs of the members the request attempted to add + Whether the custom CA certificate was replaced in this update + + - `display_name: optional string or null` + + New display name, when it changed + + - `hostname: optional string or null` + + Hostname of the GitLab instance (immutable; included for context) + + - `is_active: optional boolean or null` + + New active state, when it changed - `organization_id: optional string or null` @@ -58131,13 +58349,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberListViewed object` + - `port: optional number or null` - Admin viewed the members of an RBAC group. + New port, when it changed - - `type: optional "group_member_list_viewed"` + - `previous_display_name: optional string or null` - default: group_member_list_viewed + Display name before the change, when it changed + + - `previous_is_active: optional boolean or null` + + Active state before the change, when it changed + + - `previous_port: optional number or null` + + Port before the change, when it changed + + - `ClaudeGdriveIntegrationCreated object` + + A Google Drive integration was enabled for the organization. + + - `type: optional "claude_gdrive_integration_created"` + + default: claude_gdrive_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58345,20 +58579,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time + - `folder_id: optional string or null` + + Identifier of the Google Drive folder the integration is connected to, when known. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -58367,13 +58617,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberRemovalFailed object` + - `ClaudeGdriveIntegrationDeleted object` - A request to remove members from a group failed. Some of the requested members may have been removed before the failure. + A Google Drive integration was disabled for the organization. - - `type: optional "group_member_removal_failed"` + - `type: optional "claude_gdrive_integration_deleted"` - default: group_member_removal_failed + default: claude_gdrive_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58581,9 +58831,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -58595,9 +58845,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `folder_id: optional string or null` - Tagged IDs of the members the request attempted to remove. These are always recorded as user IDs, since whether a member was a service account is only established once its removal succeeds + Identifier of the Google Drive folder the integration was connected to, when known. - `organization_id: optional string or null` @@ -58607,13 +58857,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberRemoved object` + - `ClaudeGdriveIntegrationUpdated object` - One or more members were removed from a group. + A Google Drive integration's configuration was updated. - - `type: optional "group_member_removed"` + - `type: optional "claude_gdrive_integration_updated"` - default: group_member_removed + default: claude_gdrive_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58821,9 +59071,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -58835,9 +59085,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `folder_id: optional string or null` - Tagged IDs of the members removed: user IDs, or service account IDs (svac_...) when a service account was removed. A requested member that was not in the group is listed as a user ID + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -58847,13 +59097,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupProjectSharesRevoked object` + - `GroupCreated object` - An RBAC group's project shares in one organization were revoked in bulk. + A group was created (RBAC admin or SCIM provisioning). - - `type: optional "group_project_shares_revoked"` + - `type: optional "group_created"` - default: group_project_shares_revoked + default: group_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59063,20 +59313,16 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose project shares were revoked. + Tagged ID of the created group - - `revoked_count: number` + - `group_name: string` - Number of distinct projects whose share with this group was revoked. + Name of the created group - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_ids: optional array of string` - - Tagged IDs of the projects whose share with this group was revoked. - - `created_at: optional string` When this activity occurred. @@ -59091,13 +59337,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupSkillSharesRevoked object` + - `GroupDeleted object` - An RBAC group's skill shares in one organization were revoked in bulk. + A group was deleted (RBAC admin or SCIM provisioning). - - `type: optional "group_skill_shares_revoked"` + - `type: optional "group_deleted"` - default: group_skill_shares_revoked + default: group_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59307,11 +59553,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose skill shares were revoked. - - - `revoked_count: number` - - Number of distinct skills and plugins whose share with this group was revoked: the combined size of `skill_ids` and `plugin_ids`. + Tagged ID of the deleted group - `id: optional string` @@ -59331,21 +59573,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_ids: optional array of string` - - Tagged IDs of the plugins whose share with this group was revoked. - - - `skill_ids: optional array of string` - - Tagged IDs of the skills whose share with this group was revoked. - - - `GroupUpdated object` + - `GroupListViewed object` - A group was updated (RBAC admin or SCIM provisioning). + Admin viewed the list of RBAC groups. - - `type: optional "group_updated"` + - `type: optional "group_list_viewed"` - default: group_updated + default: group_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59553,10 +59787,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the updated group - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -59575,13 +59805,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupViewed object` + - `GroupMemberAdded object` - A group was viewed. + One or more members were added to a group. - - `type: optional "group_viewed"` + - `type: optional "group_member_added"` - default: group_viewed + default: group_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59791,7 +60021,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the viewed group + Tagged ID of the group - `id: optional string` @@ -59803,6 +60033,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members added: user IDs, or service account IDs (svac_...) when a service account was added + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -59811,13 +60045,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupVisibilityUpdated object` + - `GroupMemberAdditionFailed object` - An RBAC group's visibility policy was updated. + A request to add members to a group failed. Some of the requested members may have been added before the failure. - - `type: optional "group_visibility_updated"` + - `type: optional "group_member_addition_failed"` - default: group_visibility_updated + default: group_member_addition_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60027,7 +60261,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose visibility policy was updated. + Tagged ID of the group - `id: optional string` @@ -60039,6 +60273,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members the request attempted to add + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60047,69 +60285,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `policies: optional array of object` - - The group's visibility policy after this update. - - - `audience: "everyone" or "members" or "none" or "unspecified"` - - The audience granted this visibility facet. - - - `"everyone"` - - - `"members"` - - - `"none"` - - - `"unspecified"` - - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` - - The visibility facet this entry grants. - - - `"discover"` - - - `"share_with"` - - - `"unspecified"` - - - `"view_members"` - - - `previous_policies: optional array of object` - - The group's visibility policy before this update. - - - `audience: "everyone" or "members" or "none" or "unspecified"` - - The audience granted this visibility facet. - - - `"everyone"` - - - `"members"` - - - `"none"` - - - `"unspecified"` - - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` - - The visibility facet this entry grants. - - - `"discover"` - - - `"share_with"` - - - `"unspecified"` - - - `"view_members"` - - - `InferenceHooksCircuitBreakerTripped object` + - `GroupMemberListViewed object` - The organization's Inference hooks circuit breaker tripped automatically: calls to the organization's Inference hooks endpoint crossed a failure threshold, and inspection was suspended to protect live traffic. While tripped, requests are handled according to the organization's failure handling setting — allowed through uninspected (fail open) or rejected (fail closed) — and no per-request Inference hooks activities are recorded. Inspection turns back on by itself once the organization's Inference hooks endpoint returns a valid allow or deny answer to Anthropic's test request again, at least 10 minutes after the trip. An administrator can also end the tripped state by re-enabling Inference hooks inspection. If an administrator saves the Inference hooks settings after the trip (even without changing anything) or generates a new signing secret, inspection no longer turns back on by itself and stays off until an administrator re-enables it. + Admin viewed the members of an RBAC group. - - `type: optional "inference_hooks_circuit_breaker_tripped"` + - `type: optional "group_member_list_viewed"` - default: inference_hooks_circuit_breaker_tripped + default: group_member_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60317,13 +60499,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `fail_mode: string` - - The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). - - - `trigger_reason: string` + - `group_id: string` - The kind of failure that crossed the threshold. Currently always "webhook_error": repeated failures of calls to the organization's Inference hooks endpoint. + Tagged ID of the group - `id: optional string` @@ -60343,17 +60521,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `surface: optional string or null` - - The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - - `InferenceHooksRequestDenied object` + - `GroupMemberRemovalFailed object` - Inference hooks inspection denied a request. The request was blocked. + A request to remove members from a group failed. Some of the requested members may have been removed before the failure. - - `type: optional "inference_hooks_request_denied"` + - `type: optional "group_member_removal_failed"` - default: inference_hooks_request_denied + default: group_member_removal_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60561,13 +60735,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `group_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the group - - `conversation_id: optional string or null` + - `id: optional string` - The conversation the denied request belonged to, when available. The identifier format depends on `surface`. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -60575,9 +60749,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `event: optional string or null` + - `member_ids: optional array of string` - Which hook event the Inference hooks endpoint denied, the same value it received as `type`: "prompt" (the request's prompt, inspected before the model ran) or "tool_call" (the tool calls in a model response, inspected before any of them ran). Absent means "prompt". + Tagged IDs of the members the request attempted to remove. These are always recorded as user IDs, since whether a member was a service account is only established once its removal succeeds - `organization_id: optional string or null` @@ -60587,25 +60761,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reference_id: optional string or null` - - The Inference hooks endpoint's own identifier for this scan, when it returned one — lets this denial be matched to the corresponding record in the inspection provider's console. - - - `request_id: optional string or null` - - Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. - - - `surface: optional string or null` - - The product surface the request came from, e.g. "claude-ai" or "claude-code". - - - `InferenceHooksRequestFailedOpen object` + - `GroupMemberRemoved object` - A request proceeded without Inference hooks inspection because a verdict could not be obtained and the organization's Inference hooks configuration is set to fail open. + One or more members were removed from a group. - - `type: optional "inference_hooks_request_failed_open"` + - `type: optional "group_member_removed"` - default: inference_hooks_request_failed_open + default: group_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60813,32 +60975,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - - Why Inference hooks inspection did not return a verdict. - - - `"endpoint_error"` - - - `"endpoint_timeout"` - - - `"internal_error"` + - `group_id: string` - - `"unspecified"` + Tagged ID of the group - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `conversation_id: optional string or null` - - The conversation the request belonged to, when available. The identifier format depends on `surface`. - - `created_at: optional string` When this activity occurred. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members removed: user IDs, or service account IDs (svac_...) when a service account was removed. A requested member that was not in the group is listed as a user ID + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60847,21 +61001,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_id: optional string or null` - - Anthropic's identifier for the request that proceeded uninspected. When a call to the Inference hooks endpoint was made for this request, it carried this value as `request_id`. - - - `surface: optional string or null` - - The product surface the request came from, e.g. "claude-ai" or "claude-code". - - - `IntegrationUserConnected object` + - `GroupProjectSharesRevoked object` - User connected to an integration. + An RBAC group's project shares in one organization were revoked in bulk. - - `type: optional "integration_user_connected"` + - `type: optional "group_project_shares_revoked"` - default: integration_user_connected + default: group_project_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61069,27 +61215,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `group_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the group whose project shares were revoked. - - `created_at: optional string` + - `revoked_count: number` - When this activity occurred. + Number of distinct projects whose share with this group was revoked. - format: date-time + - `id: optional string` - - `integration_type: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - The kind of integration the user connected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + - `claude_project_ids: optional array of string` - - `mcp_server_id: optional string or null` + Tagged IDs of the projects whose share with this group was revoked. - ID of the connected remote MCP server, when the integration is a remote MCP server. + - `created_at: optional string` - - `mcp_server_name: optional string or null` + When this activity occurred. - Display name of the connected remote MCP server, when the integration is a remote MCP server. + format: date-time - `organization_id: optional string or null` @@ -61099,17 +61245,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `token_vault_connect_mode: optional string or null` - - How a token vault credential sign-in was completed: "authorization_server" for a sign-in at an administrator-provided authorization server, or "mcp_server" for a sign-in at a tool server the organization has not registered as a connector. - - - `IntegrationUserDisconnected object` + - `GroupSkillSharesRevoked object` - User disconnected from an integration. + An RBAC group's skill shares in one organization were revoked in bulk. - - `type: optional "integration_user_disconnected"` + - `type: optional "group_skill_shares_revoked"` - default: integration_user_disconnected + default: group_skill_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61317,6 +61459,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group whose skill shares were revoked. + + - `revoked_count: number` + + Number of distinct skills and plugins whose share with this group was revoked: the combined size of `skill_ids` and `plugin_ids`. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61327,18 +61477,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `integration_type: optional string or null` - - The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. - - - `mcp_server_id: optional string or null` - - ID of the disconnected remote MCP server, when the integration is a remote MCP server. - - - `mcp_server_name: optional string or null` - - Display name of the disconnected remote MCP server, when the integration is a remote MCP server. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -61347,13 +61485,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InvoiceCollectionMethodUpdated object` + - `plugin_ids: optional array of string` - Invoice collection method was changed. + Tagged IDs of the plugins whose share with this group was revoked. - - `type: optional "invoice_collection_method_updated"` + - `skill_ids: optional array of string` - default: invoice_collection_method_updated + Tagged IDs of the skills whose share with this group was revoked. + + - `GroupUpdated object` + + A group was updated (RBAC admin or SCIM provisioning). + + - `type: optional "group_updated"` + + default: group_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61561,6 +61707,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the updated group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61571,10 +61721,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_collection_method: optional string or null` - - New collection method (e.g. charge_automatically, send_invoice). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -61583,13 +61729,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `UserLoggedOut object` + - `GroupViewed object` - A user signed out of one or all sessions. + A group was viewed. - - `type: optional "user_logged_out"` + - `type: optional "group_viewed"` - default: user_logged_out + default: group_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61797,6 +61943,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the viewed group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61815,13 +61965,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiLaunchInitiated object` + - `GroupVisibilityUpdated object` - LTI launch was initiated. + An RBAC group's visibility policy was updated. - - `type: optional "lti_launch_initiated"` + - `type: optional "group_visibility_updated"` - default: lti_launch_initiated + default: group_visibility_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62029,6 +62179,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group whose visibility policy was updated. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62047,13 +62201,69 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiLaunchSuccess object` + - `policies: optional array of object` - LTI launch completed successfully. + The group's visibility policy after this update. - - `type: optional "lti_launch_success"` + - `audience: "everyone" or "members" or "none" or "unspecified"` - default: lti_launch_success + The audience granted this visibility facet. + + - `"everyone"` + + - `"members"` + + - `"none"` + + - `"unspecified"` + + - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + + The visibility facet this entry grants. + + - `"discover"` + + - `"share_with"` + + - `"unspecified"` + + - `"view_members"` + + - `previous_policies: optional array of object` + + The group's visibility policy before this update. + + - `audience: "everyone" or "members" or "none" or "unspecified"` + + The audience granted this visibility facet. + + - `"everyone"` + + - `"members"` + + - `"none"` + + - `"unspecified"` + + - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + + The visibility facet this entry grants. + + - `"discover"` + + - `"share_with"` + + - `"unspecified"` + + - `"view_members"` + + - `InferenceHooksCircuitBreakerTripped object` + + The organization's Inference hooks circuit breaker tripped automatically: calls to the organization's Inference hooks endpoint crossed a failure threshold, and inspection was suspended to protect live traffic. While tripped, requests are handled according to the organization's failure handling setting — allowed through uninspected (fail open) or rejected (fail closed) — and no per-request Inference hooks activities are recorded. Inspection turns back on by itself once the organization's Inference hooks endpoint returns a valid allow or deny answer to Anthropic's test request again, at least 10 minutes after the trip. An administrator can also end the tripped state by re-enabling Inference hooks inspection. If an administrator saves the Inference hooks settings after the trip (even without changing anything) or generates a new signing secret, inspection no longer turns back on by itself and stays off until an administrator re-enables it. + + - `type: optional "inference_hooks_circuit_breaker_tripped"` + + default: inference_hooks_circuit_breaker_tripped - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62261,6 +62471,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `fail_mode: string` + + The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). + + - `trigger_reason: string` + + The kind of failure that crossed the threshold. Currently always "webhook_error": repeated failures of calls to the organization's Inference hooks endpoint. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62279,13 +62497,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiPlatformCreated object` + - `surface: optional string or null` - Anthropic staff created an LTI platform integration on behalf of an org. + The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - `type: optional "lti_platform_created"` + - `InferenceHooksRequestDenied object` - default: lti_platform_created + Inference hooks inspection denied a request. The request was blocked. + + - `type: optional "inference_hooks_request_denied"` + + default: inference_hooks_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62493,24 +62715,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` - - UUID of the LTI platform - - - `lti_platform_issuer: string` - - Platform issuer URL - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `conversation_id: optional string or null` + + The conversation the denied request belonged to, when available. The identifier format depends on `surface`. + - `created_at: optional string` When this activity occurred. format: date-time + - `event: optional string or null` + + Which hook event the Inference hooks endpoint denied, the same value it received as `type`: "prompt" (the request's prompt, inspected before the model ran) or "tool_call" (the tool calls in a model response, inspected before any of them ran). Absent means "prompt". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62519,13 +62741,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiPlatformUpdated object` + - `reference_id: optional string or null` - Anthropic staff updated an LTI platform integration on behalf of an org. + The Inference hooks endpoint's own identifier for this scan, when it returned one — lets this denial be matched to the corresponding record in the inspection provider's console. - - `type: optional "lti_platform_updated"` + - `request_id: optional string or null` - default: lti_platform_updated + Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. + + - `surface: optional string or null` + + The product surface the request came from, e.g. "claude-ai" or "claude-code". + + - `InferenceHooksRequestFailedOpen object` + + A request proceeded without Inference hooks inspection because a verdict could not be obtained and the organization's Inference hooks configuration is set to fail open. + + - `type: optional "inference_hooks_request_failed_open"` + + default: inference_hooks_request_failed_open - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62733,24 +62967,32 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` + - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - UUID of the LTI platform + Why Inference hooks inspection did not return a verdict. + + - `"endpoint_error"` + + - `"endpoint_timeout"` + + - `"internal_error"` + + - `"unspecified"` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `conversation_id: optional string or null` + + The conversation the request belonged to, when available. The identifier format depends on `surface`. + - `created_at: optional string` When this activity occurred. format: date-time - - `lti_platform_issuer: optional string or null` - - Platform issuer URL - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62759,13 +63001,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginFailed object` + - `request_id: optional string or null` - A magic link sign-in attempt failed. + Anthropic's identifier for the request that proceeded uninspected. When a call to the Inference hooks endpoint was made for this request, it carried this value as `request_id`. - - `type: optional "magic_link_login_failed"` + - `surface: optional string or null` - default: magic_link_login_failed + The product surface the request came from, e.g. "claude-ai" or "claude-code". + + - `IntegrationUserConnected object` + + User connected to an integration. + + - `type: optional "integration_user_connected"` + + default: integration_user_connected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62983,6 +63233,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `integration_type: optional string or null` + + The kind of integration the user connected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + + - `mcp_server_id: optional string or null` + + ID of the connected remote MCP server, when the integration is a remote MCP server. + + - `mcp_server_name: optional string or null` + + Display name of the connected remote MCP server, when the integration is a remote MCP server. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62991,13 +63253,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginInitiated object` + - `token_vault_connect_mode: optional string or null` - A user requested a magic link sign-in email. + How a token vault credential sign-in was completed: "authorization_server" for a sign-in at an administrator-provided authorization server, or "mcp_server" for a sign-in at a tool server the organization has not registered as a connector. - - `type: optional "magic_link_login_initiated"` + - `IntegrationUserDisconnected object` - default: magic_link_login_initiated + User disconnected from an integration. + + - `type: optional "integration_user_disconnected"` + + default: integration_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63215,6 +63481,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `integration_type: optional string or null` + + The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + + - `mcp_server_id: optional string or null` + + ID of the disconnected remote MCP server, when the integration is a remote MCP server. + + - `mcp_server_name: optional string or null` + + Display name of the disconnected remote MCP server, when the integration is a remote MCP server. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -63223,13 +63501,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginSucceeded object` + - `InvoiceCollectionMethodUpdated object` - A user successfully signed in with a magic link email. + Invoice collection method was changed. - - `type: optional "magic_link_login_succeeded"` + - `type: optional "invoice_collection_method_updated"` - default: magic_link_login_succeeded + default: invoice_collection_method_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63441,27 +63719,15 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `auth_method: optional "magic_link" or "unspecified" or null` - - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - - `"magic_link"` - - - `"unspecified"` - - `created_at: optional string` When this activity occurred. format: date-time - - `mfa_method: optional "not_used" or "unspecified" or null` - - The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. - - - `"not_used"` + - `new_collection_method: optional string or null` - - `"unspecified"` + New collection method (e.g. charge_automatically, send_invoice). - `organization_id: optional string or null` @@ -63471,13 +63737,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ManagedOrganizationSetupCompleted object` + - `UserLoggedOut object` - Managed (AWS Marketplace) organization setup was completed. + A user signed out of one or all sessions. - - `type: optional "managed_organization_setup_completed"` + - `type: optional "user_logged_out"` - default: managed_organization_setup_completed + default: user_logged_out - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63703,13 +63969,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceCreated object` + - `LtiLaunchInitiated object` - Admin created an organization marketplace. + LTI launch was initiated. - - `type: optional "marketplace_created"` + - `type: optional "lti_launch_initiated"` - default: marketplace_created + default: lti_launch_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63917,36 +64183,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `default_installation_preference: optional string or null` - - Default installation preference the marketplace was created with, applied to its plugins that have no preference of their own (required, auto_install, available or not_available); absent when none was set - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -63955,13 +64201,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceDeleted object` + - `LtiLaunchSuccess object` - Admin deleted an organization marketplace. + LTI launch completed successfully. - - `type: optional "marketplace_deleted"` + - `type: optional "lti_launch_success"` - default: marketplace_deleted + default: lti_launch_success - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64169,10 +64415,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -64191,13 +64433,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceUpdated object` + - `LtiPlatformCreated object` - Admin updated an organization marketplace. + Anthropic staff created an LTI platform integration on behalf of an org. - - `type: optional "marketplace_updated"` + - `type: optional "lti_platform_created"` - default: marketplace_updated + default: lti_platform_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64405,25 +64647,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `attestations: optional array of object` + - `lti_platform_id: string` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + UUID of the LTI platform - - `type: string` + - `lti_platform_issuer: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + Platform issuer URL - - `content_hash: string` + - `id: optional string` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -64439,33 +64673,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - - `type: "default_installation_preference" or "unspecified"` - - The marketplace setting that changed - - - `"default_installation_preference"` - - - `"unspecified"` - - - `current_value: string` - - Setting value immediately after this change; empty when the setting is no longer set - - - `previous_value: string` - - Setting value immediately before this change; empty when the setting was not set - - - `MarketplaceWebhookDeleted object` + - `LtiPlatformUpdated object` - Admin removed the GitHub push webhook for a marketplace. + Anthropic staff updated an LTI platform integration on behalf of an org. - - `type: optional "marketplace_webhook_deleted"` + - `type: optional "lti_platform_updated"` - default: marketplace_webhook_deleted + default: lti_platform_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64673,9 +64887,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `lti_platform_id: string` - Tagged ID of the marketplace + UUID of the LTI platform - `id: optional string` @@ -64687,6 +64901,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `lti_platform_issuer: optional string or null` + + Platform issuer URL + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -64695,13 +64913,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceWebhookProvisioned object` + - `MagicLinkLoginFailed object` - Admin provisioned a GitHub push webhook for a marketplace. + A magic link sign-in attempt failed. - - `type: optional "marketplace_webhook_provisioned"` + - `type: optional "magic_link_login_failed"` - default: marketplace_webhook_provisioned + default: magic_link_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64909,10 +65127,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -64923,10 +65137,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_webhook_id: optional number or null` - - GitHub-assigned webhook ID returned by the hooks API - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -64935,13 +65145,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpDirectoryServerPublished object` + - `MagicLinkLoginInitiated object` - The organization published its approved MCP directory listing. + A user requested a magic link sign-in email. - - `type: optional "mcp_directory_server_published"` + - `type: optional "magic_link_login_initiated"` - default: mcp_directory_server_published + default: magic_link_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65149,14 +65359,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_directory_server_id: string` - - Tagged ID of the MCP directory listing - - - `mcp_directory_server_name: string` - - Display name of the MCP directory listing - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -65175,13 +65377,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerCreated object` + - `MagicLinkLoginSucceeded object` - An MCP server was added to the organization. + A user successfully signed in with a magic link email. - - `type: optional "mcp_server_created"` + - `type: optional "magic_link_login_succeeded"` - default: mcp_server_created + default: magic_link_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65389,29 +65591,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` + - `auth_method: optional "magic_link" or "unspecified" or null` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - `content_hash: string` + - `"magic_link"` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `"unspecified"` - `created_at: optional string` @@ -65419,6 +65609,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `mfa_method: optional "not_used" or "unspecified" or null` + + The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. + + - `"not_used"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -65427,13 +65625,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerDeleted object` + - `ManagedOrganizationSetupCompleted object` - An MCP server was removed from the organization. + Managed (AWS Marketplace) organization setup was completed. - - `type: optional "mcp_server_deleted"` + - `type: optional "managed_organization_setup_completed"` - default: mcp_server_deleted + default: managed_organization_setup_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65641,14 +65839,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -65667,13 +65857,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerManagedAuthTokenExchanged object` + - `MarketplaceCreated object` - A user attempted to obtain an access token for an MCP server via enterprise managed authorization. This event reports the outcomes of attempted token exchanges. Repeated failures with the same cause may be reported once until the cause changes, and requests refused before a token exchange is attempted are not reported, except the "connector_scope_not_granted" and "identity_assertion_refused" failures described under error_type. + Admin created an organization marketplace. - - `type: optional "mcp_server_managed_auth_token_exchanged"` + - `type: optional "marketplace_created"` - default: mcp_server_managed_auth_token_exchanged + default: marketplace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65881,29 +66071,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `managed_auth_mode: string` - - The managed-authorization mode used for the exchange ("claude" or "sso"). - - - `mcp_server_id: string` + - `marketplace_id: string` - The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `assertion_jti: optional string or null` + - `attestations: optional array of object` - The JWT ID of the identity assertion presented to the authorization server, when one was minted, for cross-reference with the identity provider's own logs. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `authorization_server_issuer: optional string or null` + - `type: string` - The issuer identifier of the authorization server the exchange was attempted against. + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `correlation_id: optional string or null` + - `content_hash: string` - An opaque identifier customers can quote when contacting Anthropic support about this exchange. + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -65911,17 +66097,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `error_subtype: optional string or null` - - A more specific classification of the failure, when available. For authorization-server rejections this is the OAuth error code the server returned (for example "invalid_grant"); for identity-provider rejections this is the error code the identity provider returned; for refused identity assertions this is a short reason code such as "not_org_member" (the user's membership in the organization could not be confirmed). Values may be added over time; treat an unrecognized value as a generic failure. - - - `error_type: optional string or null` - - A short classification of why the exchange failed, when outcome is "failure". Values include "authorization_server_rejected", "authorization_server_unavailable", "identity_provider_rejected", "sso_session_invalid", "sso_connection_unsupported", "connector_scope_not_granted" and "identity_assertion_refused". The last two are refusals made before a token exchange was attempted: "connector_scope_not_granted" means the organization's role configuration grants no scopes on this connector; "identity_assertion_refused" means no identity assertion could be issued for this user and server (for example, the user's membership in the organization could not be confirmed), and is reported when access the user already had could not be renewed and, depending on the reason, when first connecting; error_subtype names the reason. Values may be added over time; treat an unrecognized value as a generic failure. - - - `mcp_server_name: optional string or null` + - `default_installation_preference: optional string or null` - The MCP server's display name at the time of the exchange, when available. + Default installation preference the marketplace was created with, applied to its plugins that have no preference of their own (required, auto_install, available or not_available); absent when none was set - `organization_id: optional string or null` @@ -65931,17 +66109,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `outcome: optional string or null` - - Whether the token exchange succeeded ("success") or was rejected ("failure"). - - - `McpServerManagedAuthUpdated object` + - `MarketplaceDeleted object` - An MCP server's enterprise managed authorization settings were set, changed, or cleared, including when they were supplied while the server was being added or edited. Fields without a "previous_" prefix describe the settings after the change and are null when the server has no managed authorization settings afterwards; "previous_" fields describe the settings before the change and are null when the server had none before (always the case for a newly added server). + Admin deleted an organization marketplace. - - `type: optional "mcp_server_managed_auth_updated"` + - `type: optional "marketplace_deleted"` - default: mcp_server_managed_auth_updated + default: marketplace_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66149,48 +66323,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` + - `marketplace_id: string` - Display name of the MCP server + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `allowed_scopes: optional string or null` - - The OAuth scopes managed authorization may request for the server after the change, as a space-delimited list. Null when no scope restriction is configured (or the server has no managed authorization settings); an empty string when the restriction permits no scopes. - - - `built_in_roles_included: optional boolean or null` - - Whether, after the change, managed authorization extends to members who hold one of the organization's built-in roles (such as User, Admin, or Owner) rather than a custom role, in addition to members whose custom role grants it. This describes whom managed authorization reaches and is reported on every change, independent of how built-in role access is configured. - - `created_at: optional string` When this activity occurred. format: date-time - - `individual_auth_enabled: optional boolean or null` - - Whether members may authorize the server individually, through their own sign-in and consent, after the change. - - - `managed_auth_enabled: optional boolean or null` - - Whether managed authorization is enabled for the server after the change, so that members whose role permits it are authorized through the organization's identity provider. - - - `managed_auth_mode: optional string or null` - - The managed-authorization mode after the change ("claude" or "sso"): how the identity assertion presented on members' behalf is issued. Recorded whenever managed authorization settings exist, whether or not managed authorization is enabled; null when the server has no managed authorization settings after the change. - - - `mcp_server_url: optional string or null` - - Origin (scheme, host and port, the default port omitted) of the MCP server at the time of the change; the path is never included. Null when not available, and on activities recorded before this field was limited to the origin. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -66199,29 +66345,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_allowed_scopes: optional string or null` - - The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - - `previous_built_in_roles_included: optional boolean or null` - - Whether managed authorization extended to members holding one of the organization's built-in roles before the change. - - - `previous_individual_auth_enabled: optional boolean or null` - - Whether members could authorize the server individually before the change. - - - `previous_managed_auth_enabled: optional boolean or null` - - Whether managed authorization was enabled for the server before the change. - - - `McpServerUpdated object` + - `MarketplaceUpdated object` - An MCP server's configuration was updated. + Admin updated an organization marketplace. - - `type: optional "mcp_server_updated"` + - `type: optional "marketplace_updated"` - default: mcp_server_updated + default: marketplace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66429,13 +66559,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` + - `marketplace_id: string` - Display name of the MCP server + Tagged ID of the marketplace - `id: optional string` @@ -66467,13 +66593,33 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpToolPolicyUpdated object` + - `updates: optional array of object` - The permission restriction for an MCP tool was set or cleared. + The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - `type: optional "mcp_tool_policy_updated"` + - `type: "default_installation_preference" or "unspecified"` - default: mcp_tool_policy_updated + The marketplace setting that changed + + - `"default_installation_preference"` + + - `"unspecified"` + + - `current_value: string` + + Setting value immediately after this change; empty when the setting is no longer set + + - `previous_value: string` + + Setting value immediately before this change; empty when the setting was not set + + - `MarketplaceWebhookDeleted object` + + Admin removed the GitHub push webhook for a marketplace. + + - `type: optional "marketplace_webhook_deleted"` + + default: marketplace_webhook_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66681,52 +66827,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - - `tool_name: string` + - `marketplace_id: string` - Tool name (or '*' for the MCP-server-wide default) + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `action: optional "reenabled" or "unspecified" or null` - - "reenabled" when the change lifted the organization-wide block on the server (the block a HIPAA configuration places); unset for any other restriction change. - - - `"reenabled"` - - - `"unspecified"` - - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none (a server that already carries one is not asked again). - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `max_permission: optional string or null` - - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -66735,13 +66849,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgAnalyticsAPICapabilityUpdated object` + - `MarketplaceWebhookProvisioned object` - Organization analytics_api capability was enabled or disabled. + Admin provisioned a GitHub push webhook for a marketplace. - - `type: optional "org_analytics_api_capability_updated"` + - `type: optional "marketplace_webhook_provisioned"` - default: org_analytics_api_capability_updated + default: marketplace_webhook_provisioned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66949,6 +67063,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `marketplace_id: string` + + Tagged ID of the marketplace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -66959,9 +67077,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `github_webhook_id: optional number or null` - Whether the analytics API capability is enabled immediately after this change + GitHub-assigned webhook ID returned by the hooks API - `organization_id: optional string or null` @@ -66971,17 +67089,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Whether the analytics API capability was enabled immediately before this change - - - `OrgBulkDeleteInitiated object` + - `McpDirectoryServerPublished object` - Organization bulk deletion was initiated. + The organization published its approved MCP directory listing. - - `type: optional "org_bulk_delete_initiated"` + - `type: optional "mcp_directory_server_published"` - default: org_bulk_delete_initiated + default: mcp_directory_server_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67189,6 +67303,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_directory_server_id: string` + + Tagged ID of the MCP directory listing + + - `mcp_directory_server_name: string` + + Display name of the MCP directory listing + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -67207,13 +67329,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCapabilityGrantAdded object` + - `McpServerCreated object` - A capability grant was added to a workspace or role. + An MCP server was added to the organization. - - `type: optional "org_capability_grant_added"` + - `type: optional "mcp_server_created"` - default: org_capability_grant_added + default: mcp_server_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67421,27 +67543,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `grant_type: string` + - `mcp_server_id: string` - The type of capability grant that was added. + Tagged ID of the MCP server - - `principal_id: string` + - `mcp_server_name: string` - Tagged ID of the principal the grant was added to. + Display name of the MCP server - - `principal_type: "rbac_role" or "unspecified" or "workspace"` + - `id: optional string` - The kind of principal the grant was added to. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"rbac_role"` + - `attestations: optional array of object` - - `"unspecified"` + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `"workspace"` + - `type: string` - - `id: optional string` + Attestation type, such as "safe_for_phi" (may be used with protected health information). - Unique identifier for the activity e.g. 'activity_abcd1234' + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -67457,13 +67581,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCapabilityGrantRemoved object` + - `McpServerDeleted object` - A capability grant was removed from a workspace or role. + An MCP server was removed from the organization. - - `type: optional "org_capability_grant_removed"` + - `type: optional "mcp_server_deleted"` - default: org_capability_grant_removed + default: mcp_server_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67671,23 +67795,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `grant_type: string` - - The type of capability grant that was removed. - - - `principal_id: string` - - Tagged ID of the principal the grant was removed from. - - - `principal_type: "rbac_role" or "unspecified" or "workspace"` - - The kind of principal the grant was removed from. + - `mcp_server_id: string` - - `"rbac_role"` + Tagged ID of the MCP server - - `"unspecified"` + - `mcp_server_name: string` - - `"workspace"` + Display name of the MCP server - `id: optional string` @@ -67707,13 +67821,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgChatCoworkUnifiedDisabled object` + - `McpServerManagedAuthTokenExchanged object` - The organization's setting for the unified Chat and Cowork experience was turned off. + A user attempted to obtain an access token for an MCP server via enterprise managed authorization. This event reports the outcomes of attempted token exchanges. Repeated failures with the same cause may be reported once until the cause changes, and requests refused before a token exchange is attempted are not reported, except the "connector_scope_not_granted" and "identity_assertion_refused" failures described under error_type. - - `type: optional "org_chat_cowork_unified_disabled"` + - `type: optional "mcp_server_managed_auth_token_exchanged"` - default: org_chat_cowork_unified_disabled + default: mcp_server_managed_auth_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67921,19 +68035,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `managed_auth_mode: string` + + The managed-authorization mode used for the exchange ("claude" or "sso"). + + - `mcp_server_id: string` + + The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `assertion_jti: optional string or null` + + The JWT ID of the identity assertion presented to the authorization server, when one was minted, for cross-reference with the identity provider's own logs. + + - `authorization_server_issuer: optional string or null` + + The issuer identifier of the authorization server the exchange was attempted against. + + - `correlation_id: optional string or null` + + An opaque identifier customers can quote when contacting Anthropic support about this exchange. + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `error_subtype: optional string or null` - Setting value immediately after this change + A more specific classification of the failure, when available. For authorization-server rejections this is the OAuth error code the server returned (for example "invalid_grant"); for identity-provider rejections this is the error code the identity provider returned; for refused identity assertions this is a short reason code such as "not_org_member" (the user's membership in the organization could not be confirmed). Values may be added over time; treat an unrecognized value as a generic failure. + + - `error_type: optional string or null` + + A short classification of why the exchange failed, when outcome is "failure". Values include "authorization_server_rejected", "authorization_server_unavailable", "identity_provider_rejected", "sso_session_invalid", "sso_connection_unsupported", "connector_scope_not_granted" and "identity_assertion_refused". The last two are refusals made before a token exchange was attempted: "connector_scope_not_granted" means the organization's role configuration grants no scopes on this connector; "identity_assertion_refused" means no identity assertion could be issued for this user and server (for example, the user's membership in the organization could not be confirmed), and is reported when access the user already had could not be renewed and, depending on the reason, when first connecting; error_subtype names the reason. Values may be added over time; treat an unrecognized value as a generic failure. + + - `mcp_server_name: optional string or null` + + The MCP server's display name at the time of the exchange, when available. - `organization_id: optional string or null` @@ -67943,17 +68085,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `outcome: optional string or null` - Setting value immediately before this change + Whether the token exchange succeeded ("success") or was rejected ("failure"). - - `OrgChatCoworkUnifiedEnabled object` + - `McpServerManagedAuthUpdated object` - The organization's setting for the unified Chat and Cowork experience was turned on. + An MCP server's enterprise managed authorization settings were set, changed, or cleared, including when they were supplied while the server was being added or edited. Fields without a "previous_" prefix describe the settings after the change and are null when the server has no managed authorization settings afterwards; "previous_" fields describe the settings before the change and are null when the server had none before (always the case for a newly added server). - - `type: optional "org_chat_cowork_unified_enabled"` + - `type: optional "mcp_server_managed_auth_updated"` - default: org_chat_cowork_unified_enabled + default: mcp_server_managed_auth_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68161,19 +68303,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `allowed_scopes: optional string or null` + + The OAuth scopes managed authorization may request for the server after the change, as a space-delimited list. Null when no scope restriction is configured (or the server has no managed authorization settings); an empty string when the restriction permits no scopes. + + - `built_in_roles_included: optional boolean or null` + + Whether, after the change, managed authorization extends to members who hold one of the organization's built-in roles (such as User, Admin, or Owner) rather than a custom role, in addition to members whose custom role grants it. This describes whom managed authorization reaches and is reported on every change, independent of how built-in role access is configured. + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `individual_auth_enabled: optional boolean or null` - Setting value immediately after this change + Whether members may authorize the server individually, through their own sign-in and consent, after the change. + + - `managed_auth_enabled: optional boolean or null` + + Whether managed authorization is enabled for the server after the change, so that members whose role permits it are authorized through the organization's identity provider. + + - `managed_auth_mode: optional string or null` + + The managed-authorization mode after the change ("claude" or "sso"): how the identity assertion presented on members' behalf is issued. Recorded whenever managed authorization settings exist, whether or not managed authorization is enabled; null when the server has no managed authorization settings after the change. + + - `mcp_server_url: optional string or null` + + Origin (scheme, host and port, the default port omitted) of the MCP server at the time of the change; the path is never included. Null when not available, and on activities recorded before this field was limited to the origin. - `organization_id: optional string or null` @@ -68183,17 +68353,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `previous_allowed_scopes: optional string or null` - Setting value immediately before this change + The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - `OrgClaudeCodeDataSharingDisabled object` + - `previous_built_in_roles_included: optional boolean or null` - Organization Claude Code data sharing was disabled. + Whether managed authorization extended to members holding one of the organization's built-in roles before the change. - - `type: optional "org_claude_code_data_sharing_disabled"` + - `previous_individual_auth_enabled: optional boolean or null` - default: org_claude_code_data_sharing_disabled + Whether members could authorize the server individually before the change. + + - `previous_managed_auth_enabled: optional boolean or null` + + Whether managed authorization was enabled for the server before the change. + + - `McpServerUpdated object` + + An MCP server's configuration was updated. + + - `type: optional "mcp_server_updated"` + + default: mcp_server_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68401,20 +68583,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -68423,17 +68621,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeDataSharingEnabled object` + - `McpToolPolicyUpdated object` - Organization Claude Code data sharing was enabled. + The permission restriction for an MCP tool was set or cleared. - - `type: optional "org_claude_code_data_sharing_enabled"` + - `type: optional "mcp_tool_policy_updated"` - default: org_claude_code_data_sharing_enabled + default: mcp_tool_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68641,19 +68835,51 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + + - `tool_name: string` + + Tool name (or '*' for the MCP-server-wide default) + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `action: optional "reenabled" or "unspecified" or null` + + "reenabled" when the change lifted the organization-wide block on the server (the block a HIPAA configuration places); unset for any other restriction change. + + - `"reenabled"` + + - `"unspecified"` + + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none (a server that already carries one is not asked again). + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `max_permission: optional string or null` - Setting value immediately after this change + New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - `organization_id: optional string or null` @@ -68663,17 +68889,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeDesktopDisabled object` + - `OrgAnalyticsAPICapabilityUpdated object` - Organization Claude Code Desktop was disabled. + Organization analytics_api capability was enabled or disabled. - - `type: optional "org_claude_code_desktop_disabled"` + - `type: optional "org_analytics_api_capability_updated"` - default: org_claude_code_desktop_disabled + default: org_analytics_api_capability_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68893,7 +69115,7 @@ compliance activities that can be filtered by various criteria. - `current_value: optional boolean or null` - Setting value immediately after this change + Whether the analytics API capability is enabled immediately after this change - `organization_id: optional string or null` @@ -68905,15 +69127,15 @@ compliance activities that can be filtered by various criteria. - `previous_value: optional boolean or null` - Setting value immediately before this change + Whether the analytics API capability was enabled immediately before this change - - `OrgClaudeCodeDesktopEnabled object` + - `OrgBulkDeleteInitiated object` - Organization Claude Code Desktop was enabled. + Organization bulk deletion was initiated. - - `type: optional "org_claude_code_desktop_enabled"` + - `type: optional "org_bulk_delete_initiated"` - default: org_claude_code_desktop_enabled + default: org_bulk_delete_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69131,10 +69353,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -69143,17 +69361,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeZeroDataRetentionDisabled object` + - `OrgCapabilityGrantAdded object` - A primary owner disabled zero data retention for Claude Code, so Claude Code content is retained according to the organization's data retention settings. + A capability grant was added to a workspace or role. - - `type: optional "org_claude_code_zero_data_retention_disabled"` + - `type: optional "org_capability_grant_added"` - default: org_claude_code_zero_data_retention_disabled + default: org_capability_grant_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69361,6 +69575,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `grant_type: string` + + The type of capability grant that was added. + + - `principal_id: string` + + Tagged ID of the principal the grant was added to. + + - `principal_type: "rbac_role" or "unspecified" or "workspace"` + + The kind of principal the grant was added to. + + - `"rbac_role"` + + - `"unspecified"` + + - `"workspace"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -69379,13 +69611,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgComplianceAPISettingsUpdated object` + - `OrgCapabilityGrantRemoved object` - Organization compliance API settings were updated. + A capability grant was removed from a workspace or role. - - `type: optional "org_compliance_api_settings_updated"` + - `type: optional "org_capability_grant_removed"` - default: org_compliance_api_settings_updated + default: org_capability_grant_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69593,17 +69825,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `grant_type: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The type of capability grant that was removed. - - `compliance_api_enabled: optional boolean or null` + - `principal_id: string` - Whether the compliance API is enabled for the organization after this change. + Tagged ID of the principal the grant was removed from. - - `compliance_api_logging_enabled: optional boolean or null` + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - Whether compliance activity logging is enabled for the organization after this change. + The kind of principal the grant was removed from. + + - `"rbac_role"` + + - `"unspecified"` + + - `"workspace"` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -69619,13 +69861,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgConnectorDomainGuardUpdated object` + - `OrgChatCoworkUnifiedDisabled object` - Enterprise admin changed whether connectors are restricted to verified domains. + The organization's setting for the unified Chat and Cowork experience was turned off. - - `type: optional "org_connector_domain_guard_updated"` + - `type: optional "org_chat_cowork_unified_disabled"` - default: org_connector_domain_guard_updated + default: org_chat_cowork_unified_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69833,8 +70075,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enforced: boolean` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -69845,6 +70085,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -69853,13 +70097,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkActWithoutAskingModeDisabled object` + - `previous_value: optional boolean or null` - The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. + Setting value immediately before this change - - `type: optional "org_cowork_act_without_asking_mode_disabled"` + - `OrgChatCoworkUnifiedEnabled object` - default: org_cowork_act_without_asking_mode_disabled + The organization's setting for the unified Chat and Cowork experience was turned on. + + - `type: optional "org_chat_cowork_unified_enabled"` + + default: org_chat_cowork_unified_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70077,6 +70325,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -70085,13 +70337,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkActWithoutAskingModeEnabled object` + - `previous_value: optional boolean or null` - The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. + Setting value immediately before this change - - `type: optional "org_cowork_act_without_asking_mode_enabled"` + - `OrgClaudeCodeDataSharingDisabled object` - default: org_cowork_act_without_asking_mode_enabled + Organization Claude Code data sharing was disabled. + + - `type: optional "org_claude_code_data_sharing_disabled"` + + default: org_claude_code_data_sharing_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70309,6 +70565,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -70317,13 +70577,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkAgentDisabled object` + - `previous_value: optional boolean or null` - Organization Cowork Agent was disabled. + Setting value immediately before this change - - `type: optional "org_cowork_agent_disabled"` + - `OrgClaudeCodeDataSharingEnabled object` - default: org_cowork_agent_disabled + Organization Claude Code data sharing was enabled. + + - `type: optional "org_claude_code_data_sharing_enabled"` + + default: org_claude_code_data_sharing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70557,13 +70821,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAgentEnabled object` + - `OrgClaudeCodeDesktopDisabled object` - Organization Cowork Agent was enabled. + Organization Claude Code Desktop was disabled. - - `type: optional "org_cowork_agent_enabled"` + - `type: optional "org_claude_code_desktop_disabled"` - default: org_cowork_agent_enabled + default: org_claude_code_desktop_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70797,13 +71061,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAutoModeDisabled object` + - `OrgClaudeCodeDesktopEnabled object` - The "Auto" permission mode in Cowork was disabled for the organization, so members can no longer let Claude approve its own actions after a safety check. + Organization Claude Code Desktop was enabled. - - `type: optional "org_cowork_auto_mode_disabled"` + - `type: optional "org_claude_code_desktop_enabled"` - default: org_cowork_auto_mode_disabled + default: org_claude_code_desktop_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71021,6 +71285,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -71029,13 +71297,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkAutoModeEnabled object` + - `previous_value: optional boolean or null` - The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. + Setting value immediately before this change - - `type: optional "org_cowork_auto_mode_enabled"` + - `OrgClaudeCodeZeroDataRetentionDisabled object` - default: org_cowork_auto_mode_enabled + A primary owner disabled zero data retention for Claude Code, so Claude Code content is retained according to the organization's data retention settings. + + - `type: optional "org_claude_code_zero_data_retention_disabled"` + + default: org_claude_code_zero_data_retention_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71261,13 +71533,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkBrowserPaneDisabled object` + - `OrgComplianceAPISettingsUpdated object` - The in-app browser in Cowork was disabled for the organization, so Claude can no longer open or use websites in a browser pane during members' Cowork sessions. + Organization compliance API settings were updated. - - `type: optional "org_cowork_browser_pane_disabled"` + - `type: optional "org_compliance_api_settings_updated"` - default: org_cowork_browser_pane_disabled + default: org_compliance_api_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71479,6 +71751,14 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `compliance_api_enabled: optional boolean or null` + + Whether the compliance API is enabled for the organization after this change. + + - `compliance_api_logging_enabled: optional boolean or null` + + Whether compliance activity logging is enabled for the organization after this change. + - `created_at: optional string` When this activity occurred. @@ -71493,13 +71773,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkBrowserPaneEnabled object` + - `OrgConnectorDomainGuardUpdated object` - The in-app browser in Cowork was enabled for the organization, letting Claude open and use websites in a browser pane during members' Cowork sessions. + Enterprise admin changed whether connectors are restricted to verified domains. - - `type: optional "org_cowork_browser_pane_enabled"` + - `type: optional "org_connector_domain_guard_updated"` - default: org_cowork_browser_pane_enabled + default: org_connector_domain_guard_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71707,6 +71987,8 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enforced: boolean` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -71725,13 +72007,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkDisabled object` + - `OrgCoworkActWithoutAskingModeDisabled object` - Organization cowork was disabled. + The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. - - `type: optional "org_cowork_disabled"` + - `type: optional "org_cowork_act_without_asking_mode_disabled"` - default: org_cowork_disabled + default: org_cowork_act_without_asking_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71949,10 +72231,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -71961,17 +72239,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgCoworkEnabled object` + - `OrgCoworkActWithoutAskingModeEnabled object` - Organization cowork was enabled. + The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. - - `type: optional "org_cowork_enabled"` + - `type: optional "org_cowork_act_without_asking_mode_enabled"` - default: org_cowork_enabled + default: org_cowork_act_without_asking_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72189,10 +72463,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72201,17 +72471,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgCoworkMcpAlwaysAllowDisabled object` + - `OrgCoworkAgentDisabled object` - The "Always allow" option for connector tools in Cowork was disabled for the organization, so each use of a connector tool that can make changes requires approval. Read-only connector tools are not affected by this setting. + Organization Cowork Agent was disabled. - - `type: optional "org_cowork_mcp_always_allow_disabled"` + - `type: optional "org_cowork_agent_disabled"` - default: org_cowork_mcp_always_allow_disabled + default: org_cowork_agent_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72429,6 +72695,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72437,13 +72707,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkMcpAlwaysAllowEnabled object` + - `previous_value: optional boolean or null` - The "Always allow" option for connector tools in Cowork was enabled for the organization, letting members approve a connector tool that can make changes once and allow its later uses automatically. Read-only connector tools are not affected by this setting. + Setting value immediately before this change - - `type: optional "org_cowork_mcp_always_allow_enabled"` + - `OrgCoworkAgentEnabled object` - default: org_cowork_mcp_always_allow_enabled + Organization Cowork Agent was enabled. + + - `type: optional "org_cowork_agent_enabled"` + + default: org_cowork_agent_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72661,6 +72935,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72669,13 +72947,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkOtlpSettingsUpdated object` + - `previous_value: optional boolean or null` - The organization's Cowork OpenTelemetry monitoring export settings were updated. + Setting value immediately before this change - - `type: optional "org_cowork_otlp_settings_updated"` + - `OrgCoworkAutoModeDisabled object` - default: org_cowork_otlp_settings_updated + The "Auto" permission mode in Cowork was disabled for the organization, so members can no longer let Claude approve its own actions after a safety check. + + - `type: optional "org_cowork_auto_mode_disabled"` + + default: org_cowork_auto_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72893,22 +73175,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_otlp_content_capture: optional array of string or null` - - The organization's content-capture settings after the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings are not set or were not modified by this update. - - - `new_otlp_endpoint: optional string or null` - - The OpenTelemetry export endpoint after the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint was cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint is unset or was not itself modified by this update. - - - `new_otlp_protocol: optional string or null` - - The OpenTelemetry export protocol after the change. Null if the protocol is unset or was not itself modified by this update. - - - `new_otlp_resource_attributes: optional string or null` - - The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72917,39 +73183,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - - Whether the OpenTelemetry export headers were set or cleared. 'set' is recorded for any non-empty submission, including resubmission of an unchanged value. Header values are never included. - - - `"cleared"` - - - `"set"` - - - `"unspecified"` - - - `previous_otlp_content_capture: optional array of string or null` - - The organization's content-capture settings before the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings were not previously set or were not modified by this update. - - - `previous_otlp_endpoint: optional string or null` - - The OpenTelemetry export endpoint before the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint had been cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint was previously unset or was not itself modified by this update. - - - `previous_otlp_protocol: optional string or null` - - The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. - - - `previous_otlp_resource_attributes: optional string or null` - - The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. - - - `OrgCoworkRemoteDisabled object` + - `OrgCoworkAutoModeEnabled object` - Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. - - `type: optional "org_cowork_remote_disabled"` + - `type: optional "org_cowork_auto_mode_enabled"` - default: org_cowork_remote_disabled + default: org_cowork_auto_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73175,13 +73415,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkRemoteEnabled object` + - `OrgCoworkBrowserPaneDisabled object` - Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. + The in-app browser in Cowork was disabled for the organization, so Claude can no longer open or use websites in a browser pane during members' Cowork sessions. - - `type: optional "org_cowork_remote_enabled"` + - `type: optional "org_cowork_browser_pane_disabled"` - default: org_cowork_remote_enabled + default: org_cowork_browser_pane_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73407,13 +73647,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCreationBlocked object` + - `OrgCoworkBrowserPaneEnabled object` - Organization creation was blocked. + The in-app browser in Cowork was enabled for the organization, letting Claude open and use websites in a browser pane during members' Cowork sessions. - - `type: optional "org_creation_blocked"` + - `type: optional "org_cowork_browser_pane_enabled"` - default: org_creation_blocked + default: org_cowork_browser_pane_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73639,17 +73879,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reason: optional string or null` - - "blocked" when the organization started preventing users with an email address at one of its verified domains from creating new organizations, "unblocked" when it stopped. - - - `OrgDataExportAccessed object` + - `OrgCoworkDisabled object` - Organization data export file was accessed/downloaded via signed URL. + Organization cowork was disabled. - - `type: optional "org_data_export_accessed"` + - `type: optional "org_cowork_disabled"` - default: org_data_export_accessed + default: org_cowork_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73867,15 +74103,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was downloaded. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` + - `current_value: optional boolean or null` - - `"workbench"` + Setting value immediately after this change - `organization_id: optional string or null` @@ -73885,13 +74115,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDataExportCompleted object` + - `previous_value: optional boolean or null` - Organization data export was completed. + Setting value immediately before this change - - `type: optional "org_data_export_completed"` + - `OrgCoworkEnabled object` - default: org_data_export_completed + Organization cowork was enabled. + + - `type: optional "org_cowork_enabled"` + + default: org_cowork_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74109,15 +74343,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was exported. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` + - `current_value: optional boolean or null` - - `"workbench"` + Setting value immediately after this change - `organization_id: optional string or null` @@ -74127,13 +74355,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDataExportStarted object` + - `previous_value: optional boolean or null` - Organization data export was started. + Setting value immediately before this change - - `type: optional "org_data_export_started"` + - `OrgCoworkMcpAlwaysAllowDisabled object` - default: org_data_export_started + The "Always allow" option for connector tools in Cowork was disabled for the organization, so each use of a connector tool that can make changes requires approval. Read-only connector tools are not affected by this setting. + + - `type: optional "org_cowork_mcp_always_allow_disabled"` + + default: org_cowork_mcp_always_allow_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74351,16 +74583,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was exported. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` - - - `"workbench"` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -74369,23 +74591,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - - Breadth of the export — the whole organization, or only the requesting member's own data. Absent on records written before this field was introduced. - - - `"member_own_data"` - - - `"organization"` - - - `"unspecified"` - - - `OrgDataResidencyUpdated object` + - `OrgCoworkMcpAlwaysAllowEnabled object` - The organization's inference data residency settings were updated. + The "Always allow" option for connector tools in Cowork was enabled for the organization, letting members approve a connector tool that can make changes once and allow its later uses automatically. Read-only connector tools are not affected by this setting. - - `type: optional "org_data_residency_updated"` + - `type: optional "org_cowork_mcp_always_allow_enabled"` - default: org_data_residency_updated + default: org_cowork_mcp_always_allow_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74611,35 +74823,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - - The data residency setting that changed - - - `"allowed_inference_geos"` - - - `"default_inference_geo"` - - - `"unspecified"` - - - `current_value: optional string or null` - - Setting value immediately after this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. - - - `previous_value: optional string or null` - - Setting value immediately before this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. - - - `OrgDeletedViaBulk object` + - `OrgCoworkOtlpSettingsUpdated object` - Organization was deleted via bulk operation. + The organization's Cowork OpenTelemetry monitoring export settings were updated. - - `type: optional "org_deleted_via_bulk"` + - `type: optional "org_cowork_otlp_settings_updated"` - default: org_deleted_via_bulk + default: org_cowork_otlp_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74857,6 +75047,22 @@ compliance activities that can be filtered by various criteria. format: date-time + - `new_otlp_content_capture: optional array of string or null` + + The organization's content-capture settings after the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings are not set or were not modified by this update. + + - `new_otlp_endpoint: optional string or null` + + The OpenTelemetry export endpoint after the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint was cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint is unset or was not itself modified by this update. + + - `new_otlp_protocol: optional string or null` + + The OpenTelemetry export protocol after the change. Null if the protocol is unset or was not itself modified by this update. + + - `new_otlp_resource_attributes: optional string or null` + + The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -74865,13 +75071,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDeletionRequested object` + - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - Organization deletion was requested. + Whether the OpenTelemetry export headers were set or cleared. 'set' is recorded for any non-empty submission, including resubmission of an unchanged value. Header values are never included. - - `type: optional "org_deletion_requested"` + - `"cleared"` - default: org_deletion_requested + - `"set"` + + - `"unspecified"` + + - `previous_otlp_content_capture: optional array of string or null` + + The organization's content-capture settings before the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings were not previously set or were not modified by this update. + + - `previous_otlp_endpoint: optional string or null` + + The OpenTelemetry export endpoint before the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint had been cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint was previously unset or was not itself modified by this update. + + - `previous_otlp_protocol: optional string or null` + + The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. + + - `previous_otlp_resource_attributes: optional string or null` + + The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. + + - `OrgCoworkRemoteDisabled object` + + Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + + - `type: optional "org_cowork_remote_disabled"` + + default: org_cowork_remote_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75097,13 +75329,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncCompleted object` + - `OrgCoworkRemoteEnabled object` - Organization directory resync completed successfully. + Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. - - `type: optional "org_directory_resync_completed"` + - `type: optional "org_cowork_remote_enabled"` - default: org_directory_resync_completed + default: org_cowork_remote_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75311,10 +75543,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying the directory resync run that completed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75333,13 +75561,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncFailed object` + - `OrgCreationBlocked object` - Organization directory resync failed. + Organization creation was blocked. - - `type: optional "org_directory_resync_failed"` + - `type: optional "org_creation_blocked"` - default: org_directory_resync_failed + default: org_creation_blocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75547,10 +75775,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying the directory resync run that failed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75569,13 +75793,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncStarted object` + - `reason: optional string or null` - Organization directory resync was started asynchronously. + "blocked" when the organization started preventing users with an email address at one of its verified domains from creating new organizations, "unblocked" when it stopped. - - `type: optional "org_directory_resync_started"` + - `OrgDataExportAccessed object` - default: org_directory_resync_started + Organization data export file was accessed/downloaded via signed URL. + + - `type: optional "org_data_export_accessed"` + + default: org_data_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75783,10 +76011,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying this directory resync run - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75797,6 +76021,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was downloaded. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -75805,17 +76039,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `sync_destinations: optional array of string` - - Sync destinations the resync targets (for example, accounts and rbac) - - - `OrgDirectorySyncActivated object` + - `OrgDataExportCompleted object` - Organization directory sync was activated. + Organization data export was completed. - - `type: optional "org_directory_sync_activated"` + - `type: optional "org_data_export_completed"` - default: org_directory_sync_activated + default: org_data_export_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76033,6 +76263,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was exported. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -76041,13 +76281,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectorySyncAddInitiated object` + - `OrgDataExportStarted object` - Organization directory sync setup was initiated. + Organization data export was started. - - `type: optional "org_directory_sync_add_initiated"` + - `type: optional "org_data_export_started"` - default: org_directory_sync_add_initiated + default: org_data_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76265,6 +76505,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was exported. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -76273,13 +76523,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectorySyncDeleted object` + - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - Organization directory sync was deleted. + Breadth of the export — the whole organization, or only the requesting member's own data. Absent on records written before this field was introduced. - - `type: optional "org_directory_sync_deleted"` + - `"member_own_data"` - default: org_directory_sync_deleted + - `"organization"` + + - `"unspecified"` + + - `OrgDataResidencyUpdated object` + + The organization's inference data residency settings were updated. + + - `type: optional "org_data_residency_updated"` + + default: org_data_residency_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76505,13 +76765,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilityDisabled object` + - `updates: optional array of object` - Admin disabled organization discoverability. + The field-level changes applied in this update - - `type: optional "org_discoverability_disabled"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - default: org_discoverability_disabled + The data residency setting that changed + + - `"allowed_inference_geos"` + + - `"default_inference_geo"` + + - `"unspecified"` + + - `current_value: optional string or null` + + Setting value immediately after this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. + + - `previous_value: optional string or null` + + Setting value immediately before this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. + + - `OrgDeletedViaBulk object` + + Organization was deleted via bulk operation. + + - `type: optional "org_deleted_via_bulk"` + + default: org_deleted_via_bulk - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76737,13 +77019,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilityEnabled object` + - `OrgDeletionRequested object` - Admin enabled organization discoverability. + Organization deletion was requested. - - `type: optional "org_discoverability_enabled"` + - `type: optional "org_deletion_requested"` - default: org_discoverability_enabled + default: org_deletion_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76969,13 +77251,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilitySettingsUpdated object` + - `OrgDirectoryResyncCompleted object` - Admin updated organization discoverability settings. + Organization directory resync completed successfully. - - `type: optional "org_discoverability_settings_updated"` + - `type: optional "org_directory_resync_completed"` - default: org_discoverability_settings_updated + default: org_directory_resync_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77183,6 +77465,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying the directory resync run that completed. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77201,13 +77487,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainAddInitiated object` + - `OrgDirectoryResyncFailed object` - Organization domain verification was initiated. + Organization directory resync failed. - - `type: optional "org_domain_add_initiated"` + - `type: optional "org_directory_resync_failed"` - default: org_domain_add_initiated + default: org_directory_resync_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77415,6 +77701,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying the directory resync run that failed. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77433,13 +77723,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainRemoved object` + - `OrgDirectoryResyncStarted object` - Organization domain was removed. + Organization directory resync was started asynchronously. - - `type: optional "org_domain_removed"` + - `type: optional "org_directory_resync_started"` - default: org_domain_removed + default: org_directory_resync_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77647,6 +77937,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying this directory resync run + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77657,10 +77951,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `domain: optional string or null` - - The email domain that was removed from the organization, e.g. "example.com". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -77669,13 +77959,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainVerified object` + - `sync_destinations: optional array of string` - Organization domain was verified. + Sync destinations the resync targets (for example, accounts and rbac) - - `type: optional "org_domain_verified"` + - `OrgDirectorySyncActivated object` - default: org_domain_verified + Organization directory sync was activated. + + - `type: optional "org_directory_sync_activated"` + + default: org_directory_sync_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77893,10 +78187,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `domain: optional string or null` - - The email domain that was verified for the organization, e.g. "example.com". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -77905,13 +78195,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyCreated object` + - `OrgDirectorySyncAddInitiated object` - A CMEK external key config was created. + Organization directory sync setup was initiated. - - `type: optional "org_external_key_created"` + - `type: optional "org_directory_sync_add_initiated"` - default: org_external_key_created + default: org_directory_sync_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78119,22 +78409,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the created external key config - - - `provider: "aws" or "azure" or "gcp" or "unspecified"` - - KMS provider backing the key - - - `"aws"` - - - `"azure"` - - - `"gcp"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78153,13 +78427,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyDeleted object` + - `OrgDirectorySyncDeleted object` - A CMEK external key config was deleted. + Organization directory sync was deleted. - - `type: optional "org_external_key_deleted"` + - `type: optional "org_directory_sync_deleted"` - default: org_external_key_deleted + default: org_directory_sync_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78367,10 +78641,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the deleted external key config - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78389,13 +78659,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyUpdated object` + - `OrgDiscoverabilityDisabled object` - A CMEK external key config was updated. + Admin disabled organization discoverability. - - `type: optional "org_external_key_updated"` + - `type: optional "org_discoverability_disabled"` - default: org_external_key_updated + default: org_discoverability_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78603,10 +78873,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the updated external key config - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78625,37 +78891,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - - The external key config field that changed - - - `"display_name"` - - - `"geo"` - - - `"provider_config"` - - - `"unspecified"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` - - Field value immediately before this change - - - `OrgExternalKeyValidated object` + - `OrgDiscoverabilityEnabled object` - A CMEK external key config was validated against the customer's KMS. + Admin enabled organization discoverability. - - `type: optional "org_external_key_validated"` + - `type: optional "org_discoverability_enabled"` - default: org_external_key_validated + default: org_discoverability_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78863,20 +79105,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the validated external key config - - - `validation_result: "failure" or "success" or "unspecified"` - - Outcome of the encrypt/decrypt roundtrip - - - `"failure"` - - - `"success"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78895,13 +79123,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaArtifactsTermsAccepted object` + - `OrgDiscoverabilitySettingsUpdated object` - An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + Admin updated organization discoverability settings. - - `type: optional "org_hipaa_artifacts_terms_accepted"` + - `type: optional "org_discoverability_settings_updated"` - default: org_hipaa_artifacts_terms_accepted + default: org_discoverability_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79109,14 +79337,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `terms_content_hash: string` - - SHA-256 digest (hex) of the terms that were accepted. - - - `terms_version_label: string` - - Version label of the terms that were accepted, e.g. "2026-10-02". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79135,13 +79355,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` + - `OrgDomainAddInitiated object` - The HIPAA configuration for Claude Code (local mode) and Cowork (local mode) was left off for the organization when the configuration launched, and stays off until it is applied. + Organization domain verification was initiated. - - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` + - `type: optional "org_domain_add_initiated"` - default: org_hipaa_claude_code_cowork_restrictions_deferred + default: org_domain_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79367,13 +79587,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` + - `OrgDomainRemoved object` - The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + Organization domain was removed. - - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` + - `type: optional "org_domain_removed"` - default: org_hipaa_claude_code_cowork_restrictions_enabled + default: org_domain_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79581,16 +79801,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "admin_opt_in" or "enabled_by_anthropic" or "unspecified"` - - Why the HIPAA configuration was applied: "admin_opt_in" when an administrator of the organization applied it, "enabled_by_anthropic" when Anthropic applied it for the organization. - - - `"admin_opt_in"` - - - `"enabled_by_anthropic"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79601,6 +79811,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `domain: optional string or null` + + The email domain that was removed from the organization, e.g. "example.com". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -79609,13 +79823,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaSelfServeEnabled object` + - `OrgDomainVerified object` - A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. + Organization domain was verified. - - `type: optional "org_hipaa_self_serve_enabled"` + - `type: optional "org_domain_verified"` - default: org_hipaa_self_serve_enabled + default: org_domain_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79823,18 +80037,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `baa_content_hash: string` - - SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - - `baa_version_label: string` - - Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - - `setup_guide_content_hash: string` - - SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79845,6 +80047,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `domain: optional string or null` + + The email domain that was verified for the organization, e.g. "example.com". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -79853,13 +80059,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionCreated object` + - `OrgExternalKeyCreated object` - Organization IP restriction was created. + A CMEK external key config was created. - - `type: optional "org_ip_restriction_created"` + - `type: optional "org_external_key_created"` - default: org_ip_restriction_created + default: org_external_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80067,6 +80273,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the created external key config + + - `provider: "aws" or "azure" or "gcp" or "unspecified"` + + KMS provider backing the key + + - `"aws"` + + - `"azure"` + + - `"gcp"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80077,10 +80299,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_range: optional string or null` - - The IP range added to the allowlist, e.g. "192.0.2.0/24", which is not enforced while it is inactive or the IP allowlist is turned off; absent for activities recorded before this field was added. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80089,13 +80307,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionDeleted object` + - `OrgExternalKeyDeleted object` - Organization IP restriction was deleted. + A CMEK external key config was deleted. - - `type: optional "org_ip_restriction_deleted"` + - `type: optional "org_external_key_deleted"` - default: org_ip_restriction_deleted + default: org_external_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80303,6 +80521,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the deleted external key config + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80313,10 +80535,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_range: optional string or null` - - The IP range removed from the allowlist, e.g. "192.0.2.0/24"; absent for activities recorded before this field was added. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80325,13 +80543,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionUpdated object` + - `OrgExternalKeyUpdated object` - Organization IP restriction was updated. + A CMEK external key config was updated. - - `type: optional "org_ip_restriction_updated"` + - `type: optional "org_external_key_updated"` - default: org_ip_restriction_updated + default: org_external_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80539,6 +80757,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the updated external key config + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80549,18 +80771,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_allowlist_enabled: optional boolean or null` - - Whether the organization's IP allowlist is turned on (true) or off (false) after this change; absent when the change did not turn the IP allowlist on or off, and for activities recorded before this field was added. - - - `ip_range: optional string or null` - - The IP range this change applied to, as it is after the change, e.g. "192.0.2.0/24"; absent when the change was not to an individual IP range, and for activities recorded before this field was added. - - - `ip_range_active: optional boolean or null` - - Whether the IP range is active on the allowlist (true) or saved but inactive (false) after this change; absent when the change did not turn the range on or off. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80569,249 +80779,37 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_ip_range: optional string or null` - - The IP range before this change; absent unless the range itself was changed. - - - `OrgInviteLinkDisabled object` - - Organization invite link was disabled. - - - `type: optional "org_invite_link_disabled"` - - default: org_invite_link_disabled - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` - - default: attested_device_actor - - - `external_client_id: string` - - - `kid_hash: string` + - `updates: optional array of object` - - `ip_address: optional string or null` + The field-level changes applied in this update - - `user_agent: optional string or null` + - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - - `id: optional string` + The external key config field that changed - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"display_name"` - - `created_at: optional string` + - `"geo"` - When this activity occurred. + - `"provider_config"` - format: date-time + - `"unspecified"` - - `organization_id: optional string or null` + - `current_value: string` - Organization ID this activity is associated with + Field value immediately after this change - - `organization_uuid: optional string or null` + - `previous_value: string` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + Field value immediately before this change - - `OrgInviteLinkGenerated object` + - `OrgExternalKeyValidated object` - Organization invite link was generated. + A CMEK external key config was validated against the customer's KMS. - - `type: optional "org_invite_link_generated"` + - `type: optional "org_external_key_validated"` - default: org_invite_link_generated + default: org_external_key_validated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81019,6 +81017,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the validated external key config + + - `validation_result: "failure" or "success" or "unspecified"` + + Outcome of the encrypt/decrypt roundtrip + + - `"failure"` + + - `"success"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81037,13 +81049,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteLinkRegenerated object` + - `OrgHipaaArtifactsTermsAccepted object` - Organization invite link was regenerated (previous link invalidated). + An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. - - `type: optional "org_invite_link_regenerated"` + - `type: optional "org_hipaa_artifacts_terms_accepted"` - default: org_invite_link_regenerated + default: org_hipaa_artifacts_terms_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81251,6 +81263,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `terms_content_hash: string` + + SHA-256 digest (hex) of the terms that were accepted. + + - `terms_version_label: string` + + Version label of the terms that were accepted, e.g. "2026-10-02". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81269,13 +81289,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteViewed object` + - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` - An organization invite was viewed. + The HIPAA configuration for Claude Code (local mode) and Cowork (local mode) was left off for the organization when the configuration launched, and stays off until it is applied. - - `type: optional "org_invite_viewed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` - default: org_invite_viewed + default: org_hipaa_claude_code_cowork_restrictions_deferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81483,10 +81503,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invite_id: string` - - Tagged ID of the viewed invite - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81505,13 +81521,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInvitesListed object` + - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` - Organization invites were listed. + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. - - `type: optional "org_invites_listed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` - default: org_invites_listed + default: org_hipaa_claude_code_cowork_restrictions_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81719,6 +81735,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `reason: "admin_opt_in" or "enabled_by_anthropic" or "unspecified"` + + Why the HIPAA configuration was applied: "admin_opt_in" when an administrator of the organization applied it, "enabled_by_anthropic" when Anthropic applied it for the organization. + + - `"admin_opt_in"` + + - `"enabled_by_anthropic"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81737,13 +81763,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinProposalDecided object` + - `OrgHipaaSelfServeEnabled object` - Approve or reject decision on a parent-org join proposal. + A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. - - `type: optional "org_join_proposal_decided"` + - `type: optional "org_hipaa_self_serve_enabled"` - default: org_join_proposal_decided + default: org_hipaa_self_serve_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81951,243 +81977,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `approved: boolean` - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `incoming_organization_id: optional string or null` - - The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `OrgJoinRequestApproved object` - - Admin approved a join request. - - - `type: optional "org_join_request_approved"` - - default: org_join_request_approved - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` + - `baa_content_hash: string` - default: attested_device_actor + SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - `external_client_id: string` + - `baa_version_label: string` - - `kid_hash: string` + Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - `ip_address: optional string or null` + - `setup_guide_content_hash: string` - - `user_agent: optional string or null` + SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - `id: optional string` @@ -82207,13 +82007,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestCreated object` + - `OrgIPRestrictionCreated object` - User requested to join an organization. + Organization IP restriction was created. - - `type: optional "org_join_request_created"` + - `type: optional "org_ip_restriction_created"` - default: org_join_request_created + default: org_ip_restriction_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82431,6 +82231,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_range: optional string or null` + + The IP range added to the allowlist, e.g. "192.0.2.0/24", which is not enforced while it is inactive or the IP allowlist is turned off; absent for activities recorded before this field was added. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82439,13 +82243,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestDismissed object` + - `OrgIPRestrictionDeleted object` - Admin dismissed a join request. + Organization IP restriction was deleted. - - `type: optional "org_join_request_dismissed"` + - `type: optional "org_ip_restriction_deleted"` - default: org_join_request_dismissed + default: org_ip_restriction_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82663,6 +82467,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_range: optional string or null` + + The IP range removed from the allowlist, e.g. "192.0.2.0/24"; absent for activities recorded before this field was added. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82671,13 +82479,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestInstantApproved object` + - `OrgIPRestrictionUpdated object` - Join request was instantly approved. + Organization IP restriction was updated. - - `type: optional "org_join_request_instant_approved"` + - `type: optional "org_ip_restriction_updated"` - default: org_join_request_instant_approved + default: org_ip_restriction_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82895,6 +82703,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_allowlist_enabled: optional boolean or null` + + Whether the organization's IP allowlist is turned on (true) or off (false) after this change; absent when the change did not turn the IP allowlist on or off, and for activities recorded before this field was added. + + - `ip_range: optional string or null` + + The IP range this change applied to, as it is after the change, e.g. "192.0.2.0/24"; absent when the change was not to an individual IP range, and for activities recorded before this field was added. + + - `ip_range_active: optional boolean or null` + + Whether the IP range is active on the allowlist (true) or saved but inactive (false) after this change; absent when the change did not turn the range on or off. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82903,13 +82723,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestsBulkDismissed object` + - `previous_ip_range: optional string or null` - Admin bulk-dismissed join requests. + The IP range before this change; absent unless the range itself was changed. - - `type: optional "org_join_requests_bulk_dismissed"` + - `OrgInviteLinkDisabled object` - default: org_join_requests_bulk_dismissed + Organization invite link was disabled. + + - `type: optional "org_invite_link_disabled"` + + default: org_invite_link_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83135,13 +82959,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgLibrarySubmissionCreated object` + - `OrgInviteLinkGenerated object` - A member submitted one of their own skills or plugins for publication into the organization library. + Organization invite link was generated. - - `type: optional "org_library_submission_created"` + - `type: optional "org_invite_link_generated"` - default: org_library_submission_created + default: org_invite_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83349,40 +83173,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `library_submission_id: string` - - The submission. - - - `publish_policy: "off" or "open" or "review" or "unspecified"` - - The organization's Publishing setting when the submission was made: "review" (Requires review) or "open" (Open). Any decision, and whether a reviewer made it, is recorded as org_library_submission_resolved with the same library_submission_id. - - - `"off"` - - - `"open"` - - - `"review"` - - - `"unspecified"` - - - `source_kind: "plugin" or "skill" or "unspecified"` - - Whether the item was submitted as a skill or as a plugin. - - - `"plugin"` - - - `"skill"` - - - `"unspecified"` - - - `source_plugin_id: string` - - The member's own skill or plugin that was submitted. - - - `source_plugin_version_id: string` - - The exact version that was submitted. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -83401,17 +83191,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates_published_plugin_id: optional string or null` - - The existing library entry this submission proposes to update; unset for a new entry. - - - `OrgLibrarySubmissionResolved object` + - `OrgInviteLinkRegenerated object` - A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + Organization invite link was regenerated (previous link invalidated). - - `type: optional "org_library_submission_resolved"` + - `type: optional "org_invite_link_regenerated"` - default: org_library_submission_resolved + default: org_invite_link_regenerated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83619,70 +83405,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `content_hash: string` - - SHA-256 digest (hex) of the submitted version's archive, as submitted. Set only on a record whose publish_completed is true, and may be empty even there. A digest of the content, never the content itself. - - - `decision: "accepted" or "denied" or "unspecified"` - - Whether the submission was accepted into the library or denied. - - - `"accepted"` - - - `"denied"` - - - `"unspecified"` - - - `destination_marketplace_id: string` - - The marketplace the submission was accepted into. Empty on a denial. - - - `publish_completed: boolean` - - Whether publication had completed when this record was written. If it completed with the acceptance, there is one accepted record and this is true. Otherwise this is false, and if publication completes later, a second accepted record with the same library_submission_id follows with this set to true. - - - `published_plugin_version_id: string` - - The published version. Empty when publish_completed is false. - - - `source_plugin_id: string` - - The member's own skill or plugin that was submitted. - - - `source_plugin_version_id: string` - - The exact version that was decided on. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `installation_preference: optional string or null` - - The installation preference the submission was accepted with: "available", "auto_install" or "required". Unset on a denial, and when an update to an existing library entry was accepted without one. - - - `library_submission_id: optional string or null` - - The submission that was decided on. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -83691,33 +83423,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - - How this submission was resolved, whatever the organization's setting: "review" when a library reviewer accepted or denied it, "open" when it was accepted on submission with no reviewer. - - - `"off"` - - - `"open"` - - - `"review"` - - - `"unspecified"` - - - `reviewed_by_user_id: optional string or null` - - The library reviewer who made the decision; unset when the submission was accepted without review (publish_policy "open"), or if the reviewer's account had been deleted when this record was written. - - - `submitted_by_user_id: optional string or null` - - The member who made the submission. - - - `OrgLibrarySubmissionWithdrawn object` + - `OrgInviteViewed object` - A pending submission to the organization library was withdrawn before any reviewer decided on it. + An organization invite was viewed. - - `type: optional "org_library_submission_withdrawn"` + - `type: optional "org_invite_viewed"` - default: org_library_submission_withdrawn + default: org_invite_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83925,35 +83637,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `library_submission_id: string` - - The submission. - - - `reason: "requester" or "unspecified"` - - Why the submission was withdrawn. - - - `"requester"` - - - `"unspecified"` - - - `source_kind: "plugin" or "skill" or "unspecified"` - - Whether the withdrawn item had been submitted as a skill or as a plugin. - - - `"plugin"` - - - `"skill"` - - - `"unspecified"` - - - `source_plugin_id: string` - - The member's own skill or plugin that had been submitted. - - - `source_plugin_version_id: string` + - `invite_id: string` - The version that had been submitted. + Tagged ID of the viewed invite - `id: optional string` @@ -83973,13 +83659,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMagicLinkSecondFactorToggled object` + - `OrgInvitesListed object` - Organization magic link second factor was toggled. + Organization invites were listed. - - `type: optional "org_magic_link_second_factor_toggled"` + - `type: optional "org_invites_listed"` - default: org_magic_link_second_factor_toggled + default: org_invites_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84187,10 +83873,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether members signing in with SSO must also complete a magic link as a second factor, after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -84209,13 +83891,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberAvatarRemoved object` + - `OrgJoinProposalDecided object` - An administrator removed another member's profile picture. + Approve or reject decision on a parent-org join proposal. - - `type: optional "org_member_avatar_removed"` + - `type: optional "org_join_proposal_decided"` - default: org_member_avatar_removed + default: org_join_proposal_decided - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84423,9 +84105,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the member whose profile picture was removed. + - `approved: boolean` - `id: optional string` @@ -84437,6 +84117,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `incoming_organization_id: optional string or null` + + The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -84445,13 +84129,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberInvitesDisabled object` + - `OrgJoinRequestApproved object` - Admin disabled member invites for the organization. + Admin approved a join request. - - `type: optional "org_member_invites_disabled"` + - `type: optional "org_join_request_approved"` - default: org_member_invites_disabled + default: org_join_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84677,13 +84361,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberInvitesEnabled object` + - `OrgJoinRequestCreated object` - Admin enabled member invites for the organization. + User requested to join an organization. - - `type: optional "org_member_invites_enabled"` + - `type: optional "org_join_request_created"` - default: org_member_invites_enabled + default: org_join_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84909,13 +84593,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMembersExported object` + - `OrgJoinRequestDismissed object` - Organization members list was exported as CSV. + Admin dismissed a join request. - - `type: optional "org_members_exported"` + - `type: optional "org_join_request_dismissed"` - default: org_members_exported + default: org_join_request_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85141,23 +84825,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgModelDefaultUpdated object` - - An organization or role default model setting was changed by an administrator. - - - `type: optional "org_model_default_updated"` - - default: org_model_default_updated - - - `action: "cleared" or "set" or "unspecified"` - - Whether the default model was set or cleared + - `OrgJoinRequestInstantApproved object` - - `"cleared"` + Join request was instantly approved. - - `"set"` + - `type: optional "org_join_request_instant_approved"` - - `"unspecified"` + default: org_join_request_instant_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85365,24 +85039,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `override_user_selection: boolean` - - Whether the default is enforced as a fixed default, resetting members' own model selections at the start of each new conversation - - - `principal_id: string` - - Tagged ID of the organization or role the default applies to - - - `principal_type: "org" or "rbac_role" or "unspecified"` - - Whether the default applies to the whole organization or to a single role - - - `"org"` - - - `"rbac_role"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -85393,26 +85049,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `default_model: optional string or null` - - The model set as the default, when the action is set - - - `model_access: optional array of object` - - The per-model access overrides set for this principal; absent when no overrides are configured - - - `api_name: string` - - The model the decision applies to - - - `enabled: boolean` - - Whether members with this principal may select the model - - - `max_effort_level: optional string or null` - - The highest effort level members may select for this model, when capped - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -85421,13 +85057,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgParentJoinProposalCreated object` + - `OrgJoinRequestsBulkDismissed object` - Organization parent join proposal was created. + Admin bulk-dismissed join requests. - - `type: optional "org_parent_join_proposal_created"` + - `type: optional "org_join_requests_bulk_dismissed"` - default: org_parent_join_proposal_created + default: org_join_requests_bulk_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85645,10 +85281,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `incoming_organization_id: optional string or null` - - The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -85657,13 +85289,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgParentSearchPerformed object` + - `OrgLibrarySubmissionCreated object` - Organization parent search was performed. + A member submitted one of their own skills or plugins for publication into the organization library. - - `type: optional "org_parent_search_performed"` + - `type: optional "org_library_submission_created"` - default: org_parent_search_performed + default: org_library_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85871,6 +85503,40 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `library_submission_id: string` + + The submission. + + - `publish_policy: "off" or "open" or "review" or "unspecified"` + + The organization's Publishing setting when the submission was made: "review" (Requires review) or "open" (Open). Any decision, and whether a reviewer made it, is recorded as org_library_submission_resolved with the same library_submission_id. + + - `"off"` + + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `source_kind: "plugin" or "skill" or "unspecified"` + + Whether the item was submitted as a skill or as a plugin. + + - `"plugin"` + + - `"skill"` + + - `"unspecified"` + + - `source_plugin_id: string` + + The member's own skill or plugin that was submitted. + + - `source_plugin_version_id: string` + + The exact version that was submitted. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -85889,13 +85555,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOAddInitiated object` + - `updates_published_plugin_id: optional string or null` - Organization SSO setup was initiated. + The existing library entry this submission proposes to update; unset for a new entry. - - `type: optional "org_sso_add_initiated"` + - `OrgLibrarySubmissionResolved object` - default: org_sso_add_initiated + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `type: optional "org_library_submission_resolved"` + + default: org_library_submission_resolved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86103,16 +85773,70 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `content_hash: string` + + SHA-256 digest (hex) of the submitted version's archive, as submitted. Set only on a record whose publish_completed is true, and may be empty even there. A digest of the content, never the content itself. + + - `decision: "accepted" or "denied" or "unspecified"` + + Whether the submission was accepted into the library or denied. + + - `"accepted"` + + - `"denied"` + + - `"unspecified"` + + - `destination_marketplace_id: string` + + The marketplace the submission was accepted into. Empty on a denial. + + - `publish_completed: boolean` + + Whether publication had completed when this record was written. If it completed with the acceptance, there is one accepted record and this is true. Otherwise this is false, and if publication completes later, a second accepted record with the same library_submission_id follows with this set to true. + + - `published_plugin_version_id: string` + + The published version. Empty when publish_completed is false. + + - `source_plugin_id: string` + + The member's own skill or plugin that was submitted. + + - `source_plugin_version_id: string` + + The exact version that was decided on. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time + - `installation_preference: optional string or null` + + The installation preference the submission was accepted with: "available", "auto_install" or "required". Unset on a denial, and when an update to an existing library entry was accepted without one. + + - `library_submission_id: optional string or null` + + The submission that was decided on. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -86121,13 +85845,33 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionActivated object` + - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - Organization SSO connection was activated. + How this submission was resolved, whatever the organization's setting: "review" when a library reviewer accepted or denied it, "open" when it was accepted on submission with no reviewer. - - `type: optional "org_sso_connection_activated"` + - `"off"` - default: org_sso_connection_activated + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `reviewed_by_user_id: optional string or null` + + The library reviewer who made the decision; unset when the submission was accepted without review (publish_policy "open"), or if the reviewer's account had been deleted when this record was written. + + - `submitted_by_user_id: optional string or null` + + The member who made the submission. + + - `OrgLibrarySubmissionWithdrawn object` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + + - `type: optional "org_library_submission_withdrawn"` + + default: org_library_submission_withdrawn - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86335,17 +86079,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `library_submission_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The submission. - - `connection_id: optional string or null` + - `reason: "requester" or "unspecified"` - Identifier of the SSO connection that was activated. + Why the submission was withdrawn. - - `connection_type: optional string or null` + - `"requester"` - The type of SSO connection that was activated, e.g. "OktaSAML" or "GenericOIDC". + - `"unspecified"` + + - `source_kind: "plugin" or "skill" or "unspecified"` + + Whether the withdrawn item had been submitted as a skill or as a plugin. + + - `"plugin"` + + - `"skill"` + + - `"unspecified"` + + - `source_plugin_id: string` + + The member's own skill or plugin that had been submitted. + + - `source_plugin_version_id: string` + + The version that had been submitted. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86361,13 +86127,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionDeactivated object` + - `OrgMagicLinkSecondFactorToggled object` - Organization SSO connection was deactivated. + Organization magic link second factor was toggled. - - `type: optional "org_sso_connection_deactivated"` + - `type: optional "org_magic_link_second_factor_toggled"` - default: org_sso_connection_deactivated + default: org_magic_link_second_factor_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86575,13 +86341,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `enabled: boolean` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether members signing in with SSO must also complete a magic link as a second factor, after this change. - - `connection_id: optional string or null` + - `id: optional string` - Identifier of the SSO connection that was deactivated. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86597,13 +86363,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionDeleted object` + - `OrgMemberAvatarRemoved object` - Organization SSO connection was deleted. + An administrator removed another member's profile picture. - - `type: optional "org_sso_connection_deleted"` + - `type: optional "org_member_avatar_removed"` - default: org_sso_connection_deleted + default: org_member_avatar_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86811,13 +86577,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `user_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the member whose profile picture was removed. - - `connection_id: optional string or null` + - `id: optional string` - Identifier of the SSO connection that was deleted. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86833,13 +86599,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOGroupRoleMappingsUpdated object` + - `OrgMemberInvitesDisabled object` - Organization SSO group role mappings were updated. + Admin disabled member invites for the organization. - - `type: optional "org_sso_group_role_mappings_updated"` + - `type: optional "org_member_invites_disabled"` - default: org_sso_group_role_mappings_updated + default: org_member_invites_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87065,13 +86831,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOProvisioningModeChanged object` + - `OrgMemberInvitesEnabled object` - Organization SSO provisioning mode was changed. + Admin enabled member invites for the organization. - - `type: optional "org_sso_provisioning_mode_changed"` + - `type: optional "org_member_invites_enabled"` - default: org_sso_provisioning_mode_changed + default: org_member_invites_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87289,10 +87055,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_mode: optional string or null` - - The SSO provisioning mode after this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -87301,17 +87063,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_mode: optional string or null` - - The SSO provisioning mode before this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - - `OrgSSOScimWelcomeEmailToggled object` + - `OrgMembersExported object` - Organization SCIM-provisioned welcome email was toggled. + Organization members list was exported as CSV. - - `type: optional "org_sso_scim_welcome_email_toggled"` + - `type: optional "org_members_exported"` - default: org_sso_scim_welcome_email_toggled + default: org_members_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87519,10 +87277,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether the SCIM welcome email is enabled after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -87541,17 +87295,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` + - `OrgModelDefaultUpdated object` - Whether the SCIM welcome email was enabled before this change. + An organization or role default model setting was changed by an administrator. - - `OrgSSOSeatTierAssignmentToggled object` + - `type: optional "org_model_default_updated"` - Organization SSO seat tier assignment was toggled. + default: org_model_default_updated - - `type: optional "org_sso_seat_tier_assignment_toggled"` + - `action: "cleared" or "set" or "unspecified"` - default: org_sso_seat_tier_assignment_toggled + Whether the default model was set or cleared + + - `"cleared"` + + - `"set"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87759,9 +87519,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` + - `override_user_selection: boolean` - Whether SSO seat tier assignment is enabled after this change. + Whether the default is enforced as a fixed default, resetting members' own model selections at the start of each new conversation + + - `principal_id: string` + + Tagged ID of the organization or role the default applies to + + - `principal_type: "org" or "rbac_role" or "unspecified"` + + Whether the default applies to the whole organization or to a single role + + - `"org"` + + - `"rbac_role"` + + - `"unspecified"` - `id: optional string` @@ -87773,6 +87547,26 @@ compliance activities that can be filtered by various criteria. format: date-time + - `default_model: optional string or null` + + The model set as the default, when the action is set + + - `model_access: optional array of object` + + The per-model access overrides set for this principal; absent when no overrides are configured + + - `api_name: string` + + The model the decision applies to + + - `enabled: boolean` + + Whether members with this principal may select the model + + - `max_effort_level: optional string or null` + + The highest effort level members may select for this model, when capped + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -87781,17 +87575,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether SSO seat tier assignment was enabled before this change. - - - `OrgSSOSeatTierMappingsUpdated object` + - `OrgParentJoinProposalCreated object` - Organization SSO seat tier mappings were updated. + Organization parent join proposal was created. - - `type: optional "org_sso_seat_tier_mappings_updated"` + - `type: optional "org_parent_join_proposal_created"` - default: org_sso_seat_tier_mappings_updated + default: org_parent_join_proposal_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88009,17 +87799,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_mappings: optional array of object or null` - - Identity provider group to seat tier mappings after this change. - - - `idp_group_name: string` - - Name of the identity provider group. - - - `seat_tier: optional string or null` + - `incoming_organization_id: optional string or null` - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - `organization_id: optional string or null` @@ -88029,25 +87811,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_mappings: optional array of object or null` - - Identity provider group to seat tier mappings before this change. - - - `idp_group_name: string` - - Name of the identity provider group. - - - `seat_tier: optional string or null` - - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. - - - `OrgSSOToggled object` + - `OrgParentSearchPerformed object` - Organization SSO was toggled on or off. + Organization parent search was performed. - - `type: optional "org_sso_toggled"` + - `type: optional "org_parent_search_performed"` - default: org_sso_toggled + default: org_parent_search_performed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88255,10 +88025,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether SSO login is enforced after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -88277,13 +88043,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSyncDeletingSynchronizedFilesStarted object` + - `OrgSSOAddInitiated object` - Organization started deleting synchronized files. + Organization SSO setup was initiated. - - `type: optional "org_sync_deleting_synchronized_files_started"` + - `type: optional "org_sso_add_initiated"` - default: org_sync_deleting_synchronized_files_started + default: org_sso_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88509,13 +88275,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSyncSynchronizedFilesDeleted object` + - `OrgSSOConnectionActivated object` - Organization synchronized files were deleted. + Organization SSO connection was activated. - - `type: optional "org_sync_synchronized_files_deleted"` + - `type: optional "org_sso_connection_activated"` - default: org_sync_synchronized_files_deleted + default: org_sso_connection_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88727,6 +88493,14 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was activated. + + - `connection_type: optional string or null` + + The type of SSO connection that was activated, e.g. "OktaSAML" or "GenericOIDC". + - `created_at: optional string` When this activity occurred. @@ -88741,13 +88515,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgTaintAdded object` + - `OrgSSOConnectionDeactivated object` - A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. + Organization SSO connection was deactivated. - - `type: optional "org_taint_added"` + - `type: optional "org_sso_connection_deactivated"` - default: org_taint_added + default: org_sso_connection_deactivated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88959,6 +88733,10 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was deactivated. + - `created_at: optional string` When this activity occurred. @@ -88973,21 +88751,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `taint: optional string or null` - - The marker that was added, for example the HIPAA marker. - - - `workspace_id: optional string or null` - - Tagged ID of the workspace the marker was applied to. Unset when applied at organization scope. - - - `OrgTaintRemoved object` + - `OrgSSOConnectionDeleted object` - A compliance marker (taint) was removed from an organization. + Organization SSO connection was deleted. - - `type: optional "org_taint_removed"` + - `type: optional "org_sso_connection_deleted"` - default: org_taint_removed + default: org_sso_connection_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89199,6 +88969,10 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was deleted. + - `created_at: optional string` When this activity occurred. @@ -89213,17 +88987,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `taint: optional string or null` - - The marker that was removed, for example the HIPAA marker. - - - `OrgUserDeleted object` + - `OrgSSOGroupRoleMappingsUpdated object` - User was removed from organization. + Organization SSO group role mappings were updated. - - `type: optional "org_user_deleted"` + - `type: optional "org_sso_group_role_mappings_updated"` - default: org_user_deleted + default: org_sso_group_role_mappings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89441,14 +89211,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deleted_user_email: optional string or null` - - Email address of the member who was removed, when known. - - - `deleted_user_id: optional string or null` - - Tagged ID of the member who was removed from the organization, e.g. "user_01HX...". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -89457,13 +89219,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteAccepted object` + - `OrgSSOProvisioningModeChanged object` - Organization user invite was accepted. + Organization SSO provisioning mode was changed. - - `type: optional "org_user_invite_accepted"` + - `type: optional "org_sso_provisioning_mode_changed"` - default: org_user_invite_accepted + default: org_sso_provisioning_mode_changed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89681,9 +89443,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` + - `new_mode: optional string or null` - Tagged ID of the invite that was accepted. + The SSO provisioning mode after this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - `organization_id: optional string or null` @@ -89693,17 +89455,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `rbac_group_ids: optional array of string or null` + - `previous_mode: optional string or null` - RBAC group IDs the user was added to on acceptance, as confirmed by the group service (absent on rows written before this was recorded, and when the invite carried no groups) + The SSO provisioning mode before this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - `OrgUserInviteDeleted object` + - `OrgSSOScimWelcomeEmailToggled object` - Organization user invite was deleted. + Organization SCIM-provisioned welcome email was toggled. - - `type: optional "org_user_invite_deleted"` + - `type: optional "org_sso_scim_welcome_email_toggled"` - default: org_user_invite_deleted + default: org_sso_scim_welcome_email_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89911,6 +89673,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether the SCIM welcome email is enabled after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -89921,10 +89687,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` - - Tagged ID of the invite that was deleted. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -89933,13 +89695,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteReSent object` + - `previous_enabled: optional boolean or null` - Organization user invite was re-sent. + Whether the SCIM welcome email was enabled before this change. - - `type: optional "org_user_invite_re_sent"` + - `OrgSSOSeatTierAssignmentToggled object` - default: org_user_invite_re_sent + Organization SSO seat tier assignment was toggled. + + - `type: optional "org_sso_seat_tier_assignment_toggled"` + + default: org_sso_seat_tier_assignment_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90147,6 +89913,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether SSO seat tier assignment is enabled after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -90157,18 +89927,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invited_email: optional string or null` - - Email address the invite was re-sent to. - - - `invited_role: optional string or null` - - Role the invited user will receive on joining - - - `invited_seat_tier: optional string or null` - - Seat tier the invited user will receive on joining - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -90177,13 +89935,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteRejected object` + - `previous_enabled: optional boolean or null` - Organization user invite was rejected. + Whether SSO seat tier assignment was enabled before this change. - - `type: optional "org_user_invite_rejected"` + - `OrgSSOSeatTierMappingsUpdated object` - default: org_user_invite_rejected + Organization SSO seat tier mappings were updated. + + - `type: optional "org_sso_seat_tier_mappings_updated"` + + default: org_sso_seat_tier_mappings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90401,9 +90163,17 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` + - `current_mappings: optional array of object or null` - Tagged ID of the invite that was rejected. + Identity provider group to seat tier mappings after this change. + + - `idp_group_name: string` + + Name of the identity provider group. + + - `seat_tier: optional string or null` + + Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. - `organization_id: optional string or null` @@ -90413,13 +90183,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteSent object` + - `previous_mappings: optional array of object or null` - Organization user invite was sent. + Identity provider group to seat tier mappings before this change. - - `type: optional "org_user_invite_sent"` + - `idp_group_name: string` - default: org_user_invite_sent + Name of the identity provider group. + + - `seat_tier: optional string or null` + + Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + + - `OrgSSOToggled object` + + Organization SSO was toggled on or off. + + - `type: optional "org_sso_toggled"` + + default: org_sso_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90627,6 +90409,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether SSO login is enforced after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -90637,22 +90423,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invited_email: optional string or null` - - Email address the invite was sent to. - - - `invited_rbac_group_ids: optional array of string or null` - - RBAC group IDs the invited user will be added to on joining - - - `invited_role: optional string or null` - - Role the invited user will receive on joining. - - - `invited_seat_tier: optional string or null` - - Seat tier the invited user will receive on joining - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -90661,13 +90431,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserLeft object` + - `OrgSyncDeletingSynchronizedFilesStarted object` - User removed themselves from organization. + Organization started deleting synchronized files. - - `type: optional "org_user_left"` + - `type: optional "org_sync_deleting_synchronized_files_started"` - default: org_user_left + default: org_sync_deleting_synchronized_files_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90893,17 +90663,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` - - The role the member held in the organization before leaving, e.g. "user" or "admin". - - - `OrgUserSharesRetained object` + - `OrgSyncSynchronizedFilesDeleted object` - A member left or was removed from the organization while projects, skills, plugins, or chats they had shared were still shared, and those shares were kept. + Organization synchronized files were deleted. - - `type: optional "org_user_shares_retained"` + - `type: optional "org_sync_synchronized_files_deleted"` - default: org_user_shares_retained + default: org_sync_synchronized_files_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91111,34 +90877,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_count: number` - - Number of distinct resources the member had shared that are still shared, counted up to a fixed limit, so a lower bound when `truncated` is true; it can exceed the number of IDs listed below. - - - `share_count: number` - - Number of shares kept across those resources (one per audience a resource is shared with), counted up to the same limit, so a lower bound when `truncated` is true. - - - `truncated: boolean` - - True when the ID lists do not include every still-shared resource or the counts stopped at their limit. - - - `user_id: string` - - Tagged ID of the member who left or was removed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_ids: optional array of string` - - Tagged IDs of chats among those resources. - - - `claude_project_ids: optional array of string` - - Tagged IDs of projects among those resources; the four ID lists hold at most the first 50 resources between them. - - `created_at: optional string` When this activity occurred. @@ -91153,21 +90895,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_ids: optional array of string` - - Tagged IDs of plugins among those resources. - - - `skill_ids: optional array of string` - - Tagged IDs of skills among those resources. - - - `OrgUserTrustedDevicesRevoked object` + - `OrgTaintAdded object` - An organization admin revoked a member's trusted devices and signed the member out of all active sessions. + A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. - - `type: optional "org_user_trusted_devices_revoked"` + - `type: optional "org_taint_added"` - default: org_user_trusted_devices_revoked + default: org_taint_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91375,22 +91109,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `completed: boolean` - - Whether the operation completed fully. False records an attempt that revoked the counted credentials but failed before finishing. - - - `devices_revoked_count: number` - - Number of trusted devices revoked - - - `sessions_revoked_count: number` - - Number of active sessions the member was signed out of - - - `user_id: string` - - Tagged ID of the member whose trusted devices were revoked - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -91409,13 +91127,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserViewed object` + - `taint: optional string or null` - An organization user was viewed. + The marker that was added, for example the HIPAA marker. - - `type: optional "org_user_viewed"` + - `workspace_id: optional string or null` - default: org_user_viewed + Tagged ID of the workspace the marker was applied to. Unset when applied at organization scope. + + - `OrgTaintRemoved object` + + A compliance marker (taint) was removed from an organization. + + - `type: optional "org_taint_removed"` + + default: org_taint_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91623,10 +91349,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the viewed user - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -91645,13 +91367,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUsersListed object` + - `taint: optional string or null` - Organization users were listed. + The marker that was removed, for example the HIPAA marker. - - `type: optional "org_users_listed"` + - `OrgUserDeleted object` - default: org_users_listed + User was removed from organization. + + - `type: optional "org_user_deleted"` + + default: org_user_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91869,6 +91595,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `deleted_user_email: optional string or null` + + Email address of the member who was removed, when known. + + - `deleted_user_id: optional string or null` + + Tagged ID of the member who was removed from the organization, e.g. "user_01HX...". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -91877,13 +91611,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgWorkAcrossAppsDisabled object` + - `OrgUserInviteAccepted object` - The organization's "Let Claude work across apps" setting was turned off. + Organization user invite was accepted. - - `type: optional "org_work_across_apps_disabled"` + - `type: optional "org_user_invite_accepted"` - default: org_work_across_apps_disabled + default: org_user_invite_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92101,9 +91835,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `invite_id: optional string or null` - Setting value immediately after this change + Tagged ID of the invite that was accepted. - `organization_id: optional string or null` @@ -92113,17 +91847,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `rbac_group_ids: optional array of string or null` - Setting value immediately before this change + RBAC group IDs the user was added to on acceptance, as confirmed by the group service (absent on rows written before this was recorded, and when the invite carried no groups) - - `OrgWorkAcrossAppsEnabled object` + - `OrgUserInviteDeleted object` - The organization's "Let Claude work across apps" setting was turned on. + Organization user invite was deleted. - - `type: optional "org_work_across_apps_enabled"` + - `type: optional "org_user_invite_deleted"` - default: org_work_across_apps_enabled + default: org_user_invite_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92341,9 +92075,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `invite_id: optional string or null` - Setting value immediately after this change + Tagged ID of the invite that was deleted. - `organization_id: optional string or null` @@ -92353,17 +92087,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrganizationAddressUpdated object` + - `OrgUserInviteReSent object` - The organization's billing or shipping address was updated. + Organization user invite was re-sent. - - `type: optional "organization_address_updated"` + - `type: optional "org_user_invite_re_sent"` - default: organization_address_updated + default: org_user_invite_re_sent - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92575,19 +92305,23 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `billing_address_updated: optional boolean or null` + - `created_at: optional string` - Whether the billing address was updated. + When this activity occurred. - - `billing_name_updated: optional boolean or null` + format: date-time - Whether the billing name was updated. + - `invited_email: optional string or null` - - `created_at: optional string` + Email address the invite was re-sent to. - When this activity occurred. + - `invited_role: optional string or null` - format: date-time + Role the invited user will receive on joining + + - `invited_seat_tier: optional string or null` + + Seat tier the invited user will receive on joining - `organization_id: optional string or null` @@ -92597,21 +92331,2441 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `shipping_address_updated: optional boolean or null` - - Whether the shipping address was updated. - - - `shipping_name_updated: optional boolean or null` - - Whether the shipping name was updated. - - - `OrganizationIconDeleted object` + - `OrgUserInviteRejected object` - Organization's custom icon deleted. + Organization user invite was rejected. - - `type: optional "organization_icon_deleted"` + - `type: optional "org_user_invite_rejected"` - default: organization_icon_deleted + default: org_user_invite_rejected + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `invite_id: optional string or null` + + Tagged ID of the invite that was rejected. + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUserInviteSent object` + + Organization user invite was sent. + + - `type: optional "org_user_invite_sent"` + + default: org_user_invite_sent + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `invited_email: optional string or null` + + Email address the invite was sent to. + + - `invited_rbac_group_ids: optional array of string or null` + + RBAC group IDs the invited user will be added to on joining + + - `invited_role: optional string or null` + + Role the invited user will receive on joining. + + - `invited_seat_tier: optional string or null` + + Seat tier the invited user will receive on joining + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUserLeft object` + + User removed themselves from organization. + + - `type: optional "org_user_left"` + + default: org_user_left + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_role: optional string or null` + + The role the member held in the organization before leaving, e.g. "user" or "admin". + + - `OrgUserSharesRetained object` + + A member left or was removed from the organization while projects, skills, plugins, or chats they had shared were still shared, and those shares were kept. + + - `type: optional "org_user_shares_retained"` + + default: org_user_shares_retained + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `resource_count: number` + + Number of distinct resources the member had shared that are still shared, counted up to a fixed limit, so a lower bound when `truncated` is true; it can exceed the number of IDs listed below. + + - `share_count: number` + + Number of shares kept across those resources (one per audience a resource is shared with), counted up to the same limit, so a lower bound when `truncated` is true. + + - `truncated: boolean` + + True when the ID lists do not include every still-shared resource or the counts stopped at their limit. + + - `user_id: string` + + Tagged ID of the member who left or was removed. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `claude_chat_ids: optional array of string` + + Tagged IDs of chats among those resources. + + - `claude_project_ids: optional array of string` + + Tagged IDs of projects among those resources; the four ID lists hold at most the first 50 resources between them. + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `plugin_ids: optional array of string` + + Tagged IDs of plugins among those resources. + + - `skill_ids: optional array of string` + + Tagged IDs of skills among those resources. + + - `OrgUserTrustedDevicesRevoked object` + + An organization admin revoked a member's trusted devices and signed the member out of all active sessions. + + - `type: optional "org_user_trusted_devices_revoked"` + + default: org_user_trusted_devices_revoked + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `completed: boolean` + + Whether the operation completed fully. False records an attempt that revoked the counted credentials but failed before finishing. + + - `devices_revoked_count: number` + + Number of trusted devices revoked + + - `sessions_revoked_count: number` + + Number of active sessions the member was signed out of + + - `user_id: string` + + Tagged ID of the member whose trusted devices were revoked + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUserViewed object` + + An organization user was viewed. + + - `type: optional "org_user_viewed"` + + default: org_user_viewed + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `user_id: string` + + Tagged ID of the viewed user + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUsersListed object` + + Organization users were listed. + + - `type: optional "org_users_listed"` + + default: org_users_listed + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgWorkAcrossAppsDisabled object` + + The organization's "Let Claude work across apps" setting was turned off. + + - `type: optional "org_work_across_apps_disabled"` + + default: org_work_across_apps_disabled + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `OrgWorkAcrossAppsEnabled object` + + The organization's "Let Claude work across apps" setting was turned on. + + - `type: optional "org_work_across_apps_enabled"` + + default: org_work_across_apps_enabled + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `OrganizationAddressUpdated object` + + The organization's billing or shipping address was updated. + + - `type: optional "organization_address_updated"` + + default: organization_address_updated + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `billing_address_updated: optional boolean or null` + + Whether the billing address was updated. + + - `billing_name_updated: optional boolean or null` + + Whether the billing name was updated. + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `shipping_address_updated: optional boolean or null` + + Whether the shipping address was updated. + + - `shipping_name_updated: optional boolean or null` + + Whether the shipping name was updated. + + - `OrganizationIconDeleted object` + + Organization's custom icon deleted. + + - `type: optional "organization_icon_deleted"` + + default: organization_icon_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -93283,7 +95437,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `updates: array of Name or Capabilities or RedactContent or 105 more` + - `updates: array of Name or Capabilities or RedactContent or 107 more` - `Name object` @@ -95218,6 +97372,38 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change. Null means the organization had never opted in or out. + - `ArtifactOrganizationWideSharingEnabled object` + + The artifact organization-wide sharing setting was changed for the organization. + + - `type: optional "artifact_organization_wide_sharing_enabled"` + + default: artifact_organization_wide_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactOutsideOrganizationInvitesEnabled object` + + The setting that allows email invitations to an artifact for people outside the organization was changed for the organization. + + - `type: optional "artifact_outside_organization_invites_enabled"` + + default: artifact_outside_organization_invites_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -148996,7 +151182,7 @@ malformed session identifier returns 400. - `sent_by_user_id: string or null` - Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. + Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. Can also be null on an agent-owned session, where several people may take part, when the turn cannot be attributed to one human account (for example, no sender was recorded). - `next_page: string or null` diff --git a/content/en/api/compliance/activities.md b/content/en/api/compliance/activities.md index 3096b80bf9..6e38cd01c8 100644 --- a/content/en/api/compliance/activities.md +++ b/content/en/api/compliance/activities.md @@ -17,7 +17,7 @@ compliance activities that can be filtered by various criteria. ### Query parameters -- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 558 more` +- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 566 more` Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`. @@ -737,6 +737,38 @@ compliance activities that can be filtered by various criteria. SAML IdP configuration updated for a public sector organization. + - `"claude_security_finding_deleted"` + + A Claude Security finding was permanently deleted by a user. + + - `"claude_security_finding_updated"` + + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). + + - `"claude_security_knowledge_document_created"` + + A knowledge document was created in a Claude Security scan project. + + - `"claude_security_knowledge_document_updated"` + + A Claude Security scan project's knowledge document, such as its threat model, was changed. + + - `"claude_security_knowledge_document_version_restored"` + + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. + + - `"claude_security_scan_project_asset_added"` + + A repository was added to a Claude Security scan project. + + - `"claude_security_scan_project_asset_removed"` + + A repository was removed from a Claude Security scan project. + + - `"claude_security_scan_project_asset_updated"` + + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. + - `"claude_skill_auto_disabled"` A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. @@ -2320,7 +2352,7 @@ compliance activities that can be filtered by various criteria. format: date-time -- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 558 more` +- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 566 more` Exclude activities of these types. Cannot be combined with `activity_types[]`. @@ -3040,6 +3072,38 @@ compliance activities that can be filtered by various criteria. SAML IdP configuration updated for a public sector organization. + - `"claude_security_finding_deleted"` + + A Claude Security finding was permanently deleted by a user. + + - `"claude_security_finding_updated"` + + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). + + - `"claude_security_knowledge_document_created"` + + A knowledge document was created in a Claude Security scan project. + + - `"claude_security_knowledge_document_updated"` + + A Claude Security scan project's knowledge document, such as its threat model, was changed. + + - `"claude_security_knowledge_document_version_restored"` + + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. + + - `"claude_security_scan_project_asset_added"` + + A repository was added to a Claude Security scan project. + + - `"claude_security_scan_project_asset_removed"` + + A repository was removed from a Claude Security scan project. + + - `"claude_security_scan_project_asset_updated"` + + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. + - `"claude_skill_auto_disabled"` A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. @@ -4621,7 +4685,7 @@ compliance activities that can be filtered by various criteria. ### Returns -- `data: optional array of AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 558 more` +- `data: optional array of AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 566 more` List of activity records. Each element's `type` field identifies which activity it is and which additional fields are present. @@ -27367,7 +27431,7 @@ compliance activities that can be filtered by various criteria. - `status: optional string or null` - Updated status (ACTIVE/INACTIVE) + Status of the repository configuration after the change: "active" or "disabled". Absent when the change did not set a status. - `trigger_mode: optional string or null` @@ -40117,13 +40181,13 @@ compliance activities that can be filtered by various criteria. A short provider-specific identifier for the external resource after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - `ClaudeSkillAutoDisabled object` + - `ClaudeSecurityFindingDeleted object` - A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. + A Claude Security finding was permanently deleted by a user. - - `type: optional "claude_skill_auto_disabled"` + - `type: optional "claude_security_finding_deleted"` - default: claude_skill_auto_disabled + default: claude_security_finding_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40331,23 +40395,31 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "auto_enable_reverted" or "content_changed" or "unspecified"` + - `finding_id: string` - Why the skill was turned off automatically: "content_changed" (a change to the skill was saved or attempted, or the skill was scanned again, and it could not be confirmed as still eligible to be on automatically) or "auto_enable_reverted" (Anthropic turned off skills that had been turned on automatically; not in response to a change to this skill). + The finding that was deleted, e.g. "find_...". - - `"auto_enable_reverted"` + - `scan_project_id: string` - - `"content_changed"` + The scan project the finding belonged to, e.g. "spj_...". - - `"unspecified"` + - `id: optional string` - - `user_id: string` + Unique identifier for the activity e.g. 'activity_abcd1234' - The member the skill was turned off for. + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `id: optional string` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -40363,29 +40435,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `shared_by_user_id: optional string or null` + - `ClaudeSecurityFindingUpdated object` - For a skill that had been turned on because it was shared: the member who shared it. + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). - - `skill_id: optional string or null` - - The skill that was turned off. - - - `skill_name: optional string or null` - - The name of the skill that was turned off. + - `type: optional "claude_security_finding_updated"` - - `skill_version: optional string or null` + default: claude_security_finding_updated - The version of the skill the member had just before it was turned off. Absent when not known. + - `action: "reopened" or "resolved" or "unspecified"` - - `ClaudeSkillAutoEnabled object` + The state change applied to the finding. - A skill was turned on for a member automatically, not by the member; trigger gives the cause, such as another member sharing an eligible skill with them. A member turning a skill on themselves is recorded as claude_skill_enabled. + - `"reopened"` - - `type: optional "claude_skill_auto_enabled"` + - `"resolved"` - default: claude_skill_auto_enabled + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40593,75 +40659,57 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `trigger: "share" or "unspecified"` - - What caused the skill to be turned on automatically: "share" (another member shared it with the member, directly or through a group). - - - `"share"` + - `finding_id: string` - - `"unspecified"` + The finding that was acted on, e.g. "find_...". - - `user_id: string` + - `scan_project_id: string` - The member the skill was turned on for. + The scan project the finding belongs to, e.g. "spj_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - When this activity occurred. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when the change was made by an automated process, or when no project relationship was involved; events recorded before this field was introduced omit it. - format: date-time + - `"member"` - - `organization_id: optional string or null` + - `"organization_admin"` - Organization ID this activity is associated with + - `"organization_share"` - - `organization_uuid: optional string or null` + - `"owner"` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"unspecified"` - - `shared_at: optional string or null` + - `created_at: optional string` - For a skill turned on because it was shared: when it was shared with the member or with their group. + When this activity occurred. format: date-time - - `shared_by_user_id: optional string or null` - - For a skill turned on because it was shared: the member who shared it. - - - `shared_via: optional "direct" or "group" or "unspecified" or null` - - For a skill turned on because it was shared: "direct" if shared with the member themselves, "group" if shared with a group they belong to. - - - `"direct"` - - - `"group"` - - - `"unspecified"` - - - `skill_id: optional string or null` + - `organization_id: optional string or null` - The skill that was turned on. + Organization ID this activity is associated with - - `skill_name: optional string or null` + - `organization_uuid: optional string or null` - The name of the skill that was turned on. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `skill_version: optional string or null` + - `resolution_reason: optional string or null` - The version of the skill that was turned on. + The categorized reason the finding was resolved: "false_positive", "accepted_risk", "fixed", "duplicate", or "other". Set only when the action is "resolved". - - `ClaudeSkillDownloaded object` + - `ClaudeSecurityKnowledgeDocumentCreated object` - A member explicitly downloaded a skill's files to their device: the Download action in Claude, a single file saved from the skill viewer, or an install they asked one of their Claude apps for. Background syncs to the Claude apps, viewing a skill in the app and services reading a skill on the member's behalf are not recorded. + A knowledge document was created in a Claude Security scan project. - - `type: optional "claude_skill_downloaded"` + - `type: optional "claude_security_knowledge_document_created"` - default: claude_skill_downloaded + default: claude_security_knowledge_document_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40869,77 +40917,61 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - - Whether the whole bundle, one file, or only the instructions were downloaded. - - - `"bundle"` + - `memory_id: string` - - `"file"` + The memory ID of the knowledge document that was created, e.g. "mem_...". - - `"instructions"` + - `scan_project_id: string` - - `"unspecified"` + The scan project the document belongs to, e.g. "spj_...". - - `skill_id: string` + - `workspace_id: string` - The skill that was downloaded. + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `marketplace_id: optional string or null` - - The marketplace of the plugin that carries the skill; unset for a standalone skill. - - - `organization_id: optional string or null` - - Organization ID this activity is associated with + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `organization_uuid: optional string or null` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"member"` - - `owner_user_id: optional string or null` + - `"organization_admin"` - The member who owns the skill; unset for an organization-owned skill. + - `"organization_share"` - - `plugin_id: optional string or null` + - `"owner"` - The plugin that carries the skill; unset for a standalone skill. + - `"unspecified"` - - `scope: optional "organization" or "personal" or "unspecified" or null` + - `created_at: optional string` - Whether the skill is a member's own or the organization's. + When this activity occurred. - - `"organization"` + format: date-time - - `"personal"` + - `memory_version_id: optional string or null` - - `"unspecified"` + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. - - `skill_name: optional string or null` + - `organization_id: optional string or null` - The name of the skill that was downloaded. + Organization ID this activity is associated with - - `skill_version: optional string or null` + - `organization_uuid: optional string or null` - The version that was downloaded; unset for an unversioned skill. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyClosed object` + - `ClaudeSecurityKnowledgeDocumentUpdated object` - An organization admin closed an in-app survey before its end date, ending the collection of responses; a survey that reaches its end date records no event. + A Claude Security scan project's knowledge document, such as its threat model, was changed. - - `type: optional "claude_survey_closed"` + - `type: optional "claude_security_knowledge_document_updated"` - default: claude_survey_closed + default: claude_security_knowledge_document_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41147,20 +41179,46 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `memory_id: string` - Tagged ID of the closed survey, e.g. "srvy_01HX...". + The memory ID of the knowledge document that was changed, e.g. "mem_...". + + - `scan_project_id: string` + + The scan project the document belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. format: date-time + - `memory_version_id: optional string or null` + + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -41169,13 +41227,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyCreated object` + - `ClaudeSecurityKnowledgeDocumentVersionRestored object` - An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. - - `type: optional "claude_survey_created"` + - `type: optional "claude_security_knowledge_document_version_restored"` - default: claude_survey_created + default: claude_security_knowledge_document_version_restored - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41383,33 +41441,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `all_members: boolean` + - `memory_id: string` - Whether the survey was opened to every member of the organization. When false, it was opened to members who, at launch, were in any of the selected groups, departments, or cost centers. + The memory ID of the knowledge document that was restored, e.g. "mem_...". - - `survey_id: string` + - `restored_from_memory_version_id: string` - Tagged ID of the created survey, e.g. "srvy_01HX...". + The earlier version whose text was written back, e.g. "memver_...". - - `survey_name: string` + - `scan_project_id: string` - The name the admin gave the survey. Not shown to members. + The scan project the document belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `audience_cost_centers: optional array of string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - Cost center values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by cost center. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - - `audience_departments: optional array of string` + - `"member"` - Department values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by department. + - `"organization_admin"` - - `audience_group_ids: optional array of string` + - `"organization_share"` - Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -41417,6 +41481,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `memory_version_id: optional string or null` + + The new version this restore produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -41425,13 +41493,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyDeleted object` + - `ClaudeSecurityScanProjectAssetAdded object` - An organization admin permanently deleted a closed in-app survey together with every response collected for it. + A repository was added to a Claude Security scan project. - - `type: optional "claude_survey_deleted"` + - `type: optional "claude_security_scan_project_asset_added"` - default: claude_survey_deleted + default: claude_security_scan_project_asset_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41639,18 +41707,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` + - `asset_id: string` - The number of submitted responses that were deleted with the survey. + The asset ID of the repository, e.g. "asst_...". - - `survey_id: string` + - `scan_project_id: string` - Tagged ID of the deleted survey, e.g. "srvy_01HX...". + The scan project the repository was added to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -41665,13 +41751,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyResponseSubmitted object` + - `ClaudeSecurityScanProjectAssetRemoved object` - A member submitted their response to an in-app survey run by their organization; the record omits the response content, and a retried submission can produce more than one record for the same response. + A repository was removed from a Claude Security scan project. - - `type: optional "claude_survey_response_submitted"` + - `type: optional "claude_security_scan_project_asset_removed"` - default: claude_survey_response_submitted + default: claude_security_scan_project_asset_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41879,14 +41965,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `asset_id: string` - Tagged ID of the survey that was answered, e.g. "srvy_01HX...". + The asset ID of the repository, e.g. "asst_...". + + - `scan_project_id: string` + + The scan project the repository was removed from, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -41901,13 +42009,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyResponsesExported object` + - `ClaudeSecurityScanProjectAssetUpdated object` - An organization admin downloaded a survey's responses as a CSV file, one row per response with the member's email address (blank if it is no longer available, for example because they left the organization), the groups, department and cost center they were invited through, the product they answered in, the submission time, and their answers. + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. - - `type: optional "claude_survey_responses_exported"` + - `type: optional "claude_security_scan_project_asset_updated"` - default: claude_survey_responses_exported + default: claude_security_scan_project_asset_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42115,18 +42223,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` + - `asset_id: string` - The number of submitted responses included in the export. + The asset ID of the repository, e.g. "asst_...". - - `survey_id: string` + - `scan_project_id: string` - Tagged ID of the exported survey, e.g. "srvy_01HX...". + The scan project the repository belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -42141,13 +42267,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeUserSeatTierUpdated object` + - `updated_fields: optional array of string` - An organization member's seat tier was changed. A null `previous_seat_tier` means the member previously had no seat assigned; a null `current_seat_tier` means the seat was removed. + The settings whose value changed, e.g. "branch", "base_paths" (directories that are scanned) or "exclude_paths" (directories left out). The list can be empty. - - `type: optional "claude_user_seat_tier_updated"` + - `ClaudeSkillAutoDisabled object` - default: claude_user_seat_tier_updated + A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. + + - `type: optional "claude_skill_auto_disabled"` + + default: claude_skill_auto_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42355,13 +42485,19 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_email: string` + - `reason: "auto_enable_reverted" or "content_changed" or "unspecified"` - Email address of the member at the time of the change. + Why the skill was turned off automatically: "content_changed" (a change to the skill was saved or attempted, or the skill was scanned again, and it could not be confirmed as still eligible to be on automatically) or "auto_enable_reverted" (Anthropic turned off skills that had been turned on automatically; not in response to a change to this skill). + + - `"auto_enable_reverted"` + + - `"content_changed"` + + - `"unspecified"` - `user_id: string` - Tagged ID of the member whose seat tier changed. + The member the skill was turned off for. - `id: optional string` @@ -42373,10 +42509,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_seat_tier: optional string or null` - - The member's seat tier after this change, or null if the seat was removed. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42385,17 +42517,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_seat_tier: optional string or null` + - `shared_by_user_id: optional string or null` - The member's seat tier before this change, or null if no seat was assigned. + For a skill that had been turned on because it was shared: the member who shared it. - - `CliPluginExecPolicyUpdated object` + - `skill_id: optional string or null` - Admin set or cleared the per-op permission ceiling for a plugin CLI. + The skill that was turned off. - - `type: optional "cli_plugin_exec_policy_updated"` + - `skill_name: optional string or null` - default: cli_plugin_exec_policy_updated + The name of the skill that was turned off. + + - `skill_version: optional string or null` + + The version of the skill the member had just before it was turned off. Absent when not known. + + - `ClaudeSkillAutoEnabled object` + + A skill was turned on for a member automatically, not by the member; trigger gives the cause, such as another member sharing an eligible skill with them. A member turning a skill on themselves is recorded as claude_skill_enabled. + + - `type: optional "claude_skill_auto_enabled"` + + default: claude_skill_auto_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42603,25 +42747,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cli_name: string` - - CLI name as declared by the plugin manifest - - - `marketplace_id: string` - - Marketplace ID owning the plugin - - - `op_name: string` + - `trigger: "share" or "unspecified"` - Op name (or '*' for the per-CLI default) + What caused the skill to be turned on automatically: "share" (another member shared it with the member, directly or through a group). - - `plugin_id: string` + - `"share"` - Plugin ID resolved from the URL + - `"unspecified"` - - `plugin_name: string` + - `user_id: string` - Plugin name within its marketplace + The member the skill was turned on for. - `id: optional string` @@ -42633,10 +42769,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `max_permission: optional string or null` - - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42645,17 +42777,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_max_permission: optional string or null` + - `shared_at: optional string or null` - Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op + For a skill turned on because it was shared: when it was shared with the member or with their group. - - `ClaudeCommandCreated object` + format: date-time - Command was created. + - `shared_by_user_id: optional string or null` - - `type: optional "claude_command_created"` + For a skill turned on because it was shared: the member who shared it. - default: claude_command_created + - `shared_via: optional "direct" or "group" or "unspecified" or null` + + For a skill turned on because it was shared: "direct" if shared with the member themselves, "group" if shared with a group they belong to. + + - `"direct"` + + - `"group"` + + - `"unspecified"` + + - `skill_id: optional string or null` + + The skill that was turned on. + + - `skill_name: optional string or null` + + The name of the skill that was turned on. + + - `skill_version: optional string or null` + + The version of the skill that was turned on. + + - `ClaudeSkillDownloaded object` + + A member explicitly downloaded a skill's files to their device: the Download action in Claude, a single file saved from the skill viewer, or an install they asked one of their Claude apps for. Background syncs to the Claude apps, viewing a skill in the app and services reading a skill on the member's behalf are not recorded. + + - `type: optional "claude_skill_downloaded"` + + default: claude_skill_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42863,13 +43023,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether the whole bundle, one file, or only the instructions were downloaded. - - `command_id: optional string or null` + - `"bundle"` - - `command_name: optional string or null` + - `"file"` + + - `"instructions"` + + - `"unspecified"` + + - `skill_id: string` + + The skill that was downloaded. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -42877,6 +43049,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `marketplace_id: optional string or null` + + The marketplace of the plugin that carries the skill; unset for a standalone skill. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42885,13 +43061,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCommandDeleted object` + - `owner_user_id: optional string or null` - Command was deleted. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "claude_command_deleted"` + - `plugin_id: optional string or null` - default: claude_command_deleted + The plugin that carries the skill; unset for a standalone skill. + + - `scope: optional "organization" or "personal" or "unspecified" or null` + + Whether the skill is a member's own or the organization's. + + - `"organization"` + + - `"personal"` + + - `"unspecified"` + + - `skill_name: optional string or null` + + The name of the skill that was downloaded. + + - `skill_version: optional string or null` + + The version that was downloaded; unset for an unversioned skill. + + - `ClaudeSurveyClosed object` + + An organization admin closed an in-app survey before its end date, ending the collection of responses; a survey that reaches its end date records no event. + + - `type: optional "claude_survey_closed"` + + default: claude_survey_closed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43099,13 +43301,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `survey_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the closed survey, e.g. "srvy_01HX...". - - `command_id: optional string or null` + - `id: optional string` - - `command_name: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -43121,13 +43323,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCommandReplaced object` + - `ClaudeSurveyCreated object` - Command was replaced. + An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. - - `type: optional "claude_command_replaced"` + - `type: optional "claude_survey_created"` - default: claude_command_replaced + default: claude_survey_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43335,13 +43537,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `all_members: boolean` + + Whether the survey was opened to every member of the organization. When false, it was opened to members who, at launch, were in any of the selected groups, departments, or cost centers. + + - `survey_id: string` + + Tagged ID of the created survey, e.g. "srvy_01HX...". + + - `survey_name: string` + + The name the admin gave the survey. Not shown to members. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `command_id: optional string or null` + - `audience_cost_centers: optional array of string` - - `command_name: optional string or null` + Cost center values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by cost center. + + - `audience_departments: optional array of string` + + Department values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by department. + + - `audience_group_ids: optional array of string` + + Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". - `created_at: optional string` @@ -43357,13 +43579,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ComplianceAPIAccessed object` + - `ClaudeSurveyDeleted object` - Logging event auto-generated for each compliance API request. + An organization admin permanently deleted a closed in-app survey together with every response collected for it. - - `type: optional "compliance_api_accessed"` + - `type: optional "claude_survey_deleted"` - default: compliance_api_accessed + default: claude_survey_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43571,31 +43793,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `request_id: string` - - Identifier of the request, as returned in the response's request-id header - - - `request_method: "DELETE" or "GET" or "POST" or 2 more` - - HTTP method of the request - - - `"DELETE"` - - - `"GET"` - - - `"POST"` - - - `"PUT"` - - - `"unspecified"` - - - `status_code: number` + - `response_count: number` - HTTP status code + The number of submitted responses that were deleted with the survey. - - `url: string` + - `survey_id: string` - Full URL that was requested, including any query string + Tagged ID of the deleted survey, e.g. "srvy_01HX...". - `id: optional string` @@ -43615,17 +43819,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_body: optional string or null` - - Serialized JSON request body - - - `CoworkSessionUpdated object` + - `ClaudeSurveyResponseSubmitted object` - A Cowork session was updated. + A member submitted their response to an in-app survey run by their organization; the record omits the response content, and a retried submission can produce more than one record for the same response. - - `type: optional "cowork_session_updated"` + - `type: optional "claude_survey_response_submitted"` - default: cowork_session_updated + default: claude_survey_response_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43833,18 +44033,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cowork_session_id: string` + - `survey_id: string` - Tagged ID of the updated session, e.g. "sess_01HX...". + Tagged ID of the survey that was answered, e.g. "srvy_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_id: optional string or null` - - Tagged ID of the project the session was moved to, if any, e.g. "claude_proj_01HX...". Absent when the session was removed from its project. - - `created_at: optional string` When this activity occurred. @@ -43859,13 +44055,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesignProjectArtifactPublished object` + - `ClaudeSurveyResponsesExported object` - A Claude Design project's content was published as a claude.ai artifact, making a snapshot of one of its files viewable outside the project's sharing settings. + An organization admin downloaded a survey's responses as a CSV file, one row per response with the member's email address (blank if it is no longer available, for example because they left the organization), the groups, department and cost center they were invited through, the product they answered in, the submission time, and their answers. - - `type: optional "design_project_artifact_published"` + - `type: optional "claude_survey_responses_exported"` - default: design_project_artifact_published + default: claude_survey_responses_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44073,9 +44269,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `response_count: number` - The Design project whose content was published, e.g. "design_proj_01HX...". + The number of submitted responses included in the export. + + - `survey_id: string` + + Tagged ID of the exported survey, e.g. "srvy_01HX...". - `id: optional string` @@ -44087,10 +44287,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `is_public: optional boolean or null` - - True when the published artifact is publicly viewable after this call (anyone with the link). False when it is not — by default, a newly published artifact is visible only to the person who published it. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44099,17 +44295,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectCreated object` + - `ClaudeUserSeatTierUpdated object` - A Claude Design project was created. + An organization member's seat tier was changed. A null `previous_seat_tier` means the member previously had no seat assigned; a null `current_seat_tier` means the seat was removed. - - `type: optional "design_project_created"` + - `type: optional "claude_user_seat_tier_updated"` - default: design_project_created + default: claude_user_seat_tier_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44317,13 +44509,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `creation_method: string` + - `user_email: string` - How the project was created: "direct", "duplicate", "remix", or "template_from_project". + Email address of the member at the time of the change. - - `design_project_id: string` + - `user_id: string` - The Design project that was created, e.g. "design_proj_01HX...". + Tagged ID of the member whose seat tier changed. - `id: optional string` @@ -44335,6 +44527,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_seat_tier: optional string or null` + + The member's seat tier after this change, or null if the seat was removed. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44343,21 +44539,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project type: "project", "template", or "design_system". - - - `source_project_id: optional string or null` + - `previous_seat_tier: optional string or null` - The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. + The member's seat tier before this change, or null if no seat was assigned. - - `DesignProjectDeleted object` + - `CliPluginExecPolicyUpdated object` - A Claude Design project was deleted. + Admin set or cleared the per-op permission ceiling for a plugin CLI. - - `type: optional "design_project_deleted"` + - `type: optional "cli_plugin_exec_policy_updated"` - default: design_project_deleted + default: cli_plugin_exec_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44565,9 +44757,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `cli_name: string` - The Design project that was deleted, e.g. "design_proj_01HX...". + CLI name as declared by the plugin manifest + + - `marketplace_id: string` + + Marketplace ID owning the plugin + + - `op_name: string` + + Op name (or '*' for the per-CLI default) + + - `plugin_id: string` + + Plugin ID resolved from the URL + + - `plugin_name: string` + + Plugin name within its marketplace - `id: optional string` @@ -44579,6 +44787,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `max_permission: optional string or null` + + New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44587,13 +44799,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesignProjectMemberAdded object` + - `previous_max_permission: optional string or null` - A member was granted access to a Claude Design project. + Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - `type: optional "design_project_member_added"` + - `ClaudeCommandCreated object` - default: design_project_member_added + Command was created. + + - `type: optional "claude_command_created"` + + default: claude_command_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44801,26 +45017,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member was added to, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - - `role: string` - - The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -44835,17 +45039,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectMemberRemoved object` + - `ClaudeCommandDeleted object` - A member's access to a Claude Design project was revoked. + Command was deleted. - - `type: optional "design_project_member_removed"` + - `type: optional "claude_command_deleted"` - default: design_project_member_removed + default: claude_command_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45053,22 +45253,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member was removed from, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member that was removed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -45083,17 +45275,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectMemberRoleUpdated object` + - `ClaudeCommandReplaced object` - A Claude Design project member's role was changed. + Command was replaced. - - `type: optional "design_project_member_role_updated"` + - `type: optional "claude_command_replaced"` - default: design_project_member_role_updated + default: claude_command_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45301,26 +45489,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member belongs to, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member whose role was changed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - - `role: string` - - The member's role after the change: "viewer", "commenter", or "editor". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -45335,21 +45511,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` - - The member's role before the change. - - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectPublished object` + - `ComplianceAPIAccessed object` - A Claude Design template or design system was published, making it discoverable by everyone in its organization. + Logging event auto-generated for each compliance API request. - - `type: optional "design_project_published"` + - `type: optional "compliance_api_accessed"` - default: design_project_published + default: compliance_api_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45557,9 +45725,31 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `request_id: string` - The Design project that was published, e.g. "design_proj_01HX...". + Identifier of the request, as returned in the response's request-id header + + - `request_method: "DELETE" or "GET" or "POST" or 2 more` + + HTTP method of the request + + - `"DELETE"` + + - `"GET"` + + - `"POST"` + + - `"PUT"` + + - `"unspecified"` + + - `status_code: number` + + HTTP status code + + - `url: string` + + Full URL that was requested, including any query string - `id: optional string` @@ -45579,17 +45769,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` + - `request_body: optional string or null` - The project's type: "template" or "design_system". + Serialized JSON request body - - `DesignProjectSharingUpdated object` + - `CoworkSessionUpdated object` - A Claude Design project's link-sharing settings were changed — who the project's link works for, and what people opening it through the link may do. Access granted to individual members is reported separately (see design_project_member_added). + A Cowork session was updated. - - `type: optional "design_project_sharing_updated"` + - `type: optional "cowork_session_updated"` - default: design_project_sharing_updated + default: cowork_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45797,22 +45987,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project whose sharing settings changed, e.g. "design_proj_01HX...". - - - `new_link_permission: string` - - What people opening the project through its link may do after the change: "view", "comment", or "edit". - - - `new_scope: string` + - `cowork_session_id: string` - Who the project link is set to work for after the change: "invited" (only the owner and individually invited members) or "org" (anyone in the project's organization, where the organization's own sharing settings allow org-wide visibility). This records the project's stored setting as changed by the actor; organization-level settings can further restrict who the link actually admits, and changes to those settings are not project events. Projects created before link sharing was restricted may also report a legacy "public" value. + Tagged ID of the updated session, e.g. "sess_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + Tagged ID of the project the session was moved to, if any, e.g. "claude_proj_01HX...". Absent when the session was removed from its project. + - `created_at: optional string` When this activity occurred. @@ -45827,25 +46013,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_link_permission: optional string or null` - - What people opening the project through its link could do before the change. - - - `previous_scope: optional string or null` - - Who the project link was set to work for before the change — the stored setting, with the same organization-level caveat as new_scope. May include the legacy "public" value. - - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectUnpublished object` + - `DesignProjectArtifactPublished object` - A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + A Claude Design project's content was published as a claude.ai artifact, making a snapshot of one of its files viewable outside the project's sharing settings. - - `type: optional "design_project_unpublished"` + - `type: optional "design_project_artifact_published"` - default: design_project_unpublished + default: design_project_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46055,7 +46229,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was unpublished, e.g. "design_proj_01HX...". + The Design project whose content was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -46067,6 +46241,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `is_public: optional boolean or null` + + True when the published artifact is publicly viewable after this call (anyone with the link). False when it is not — by default, a newly published artifact is visible only to the person who published it. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -46077,15 +46255,15 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "template" or "design_system". + The project's type: "project", "template", or "design_system". - - `DesignProjectUpdated object` + - `DesignProjectCreated object` - A Claude Design project's metadata was updated. + A Claude Design project was created. - - `type: optional "design_project_updated"` + - `type: optional "design_project_created"` - default: design_project_updated + default: design_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46293,9 +46471,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `creation_method: string` + + How the project was created: "direct", "duplicate", "remix", or "template_from_project". + - `design_project_id: string` - The Design project that was updated, e.g. "design_proj_01HX...". + The Design project that was created, e.g. "design_proj_01HX...". - `id: optional string` @@ -46317,19 +46499,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. + The project type: "project", "template", or "design_system". - - `updated_fields: optional array of string` + - `source_project_id: optional string or null` - Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. - - `DesignProjectVersionRestored object` + - `DesignProjectDeleted object` - A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + A Claude Design project was deleted. - - `type: optional "design_project_version_restored"` + - `type: optional "design_project_deleted"` - default: design_project_version_restored + default: design_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46539,7 +46721,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was restored, e.g. "design_proj_01HX...". + The Design project that was deleted, e.g. "design_proj_01HX...". - `id: optional string` @@ -46559,21 +46741,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectViewed object` - - A Claude Design project's content was read. The surface field records which kind of read — a project open, a full-content read, a single-file read, a saved-version read, or an export request. The actor is the reader. + - `DesignProjectMemberAdded object` - This activity type is retired: project content reads are no longer - recorded. Events of this type may still appear in feeds for reads that - occurred while it was active. + A member was granted access to a Claude Design project. - - `type: optional "design_project_viewed"` + - `type: optional "design_project_member_added"` - default: design_project_viewed + default: design_project_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46783,19 +46957,23 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project whose content was read, e.g. "design_proj_01HX...". + The Design project the member was added to, e.g. "design_proj_01HX...". - - `surface: string` + - `principal_id: string` - Which read surface recorded this open: "project" (the project was opened), "project_data" (the project's full contents were read or made readable — either a direct data read, which also includes the project's conversations when the reader's access extends to them, or a render-token request, which exposes the project's files for the token's lifetime; the two share this value and are not distinguished), "file" (one of the project's files was read), "version" (a saved version of the project's files, including their contents, was read — version-history browsing that lists names without contents is not recorded), or "export" (an authenticated export of the project's contents was requested). + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - `id: optional string` + - `principal_type: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `access_via: optional string or null` + - `role: string` - How the viewer was authorized to open the project: "owner" (the project's owner), "member_grant" (an individually invited member), "org_link" (org-wide link sharing), "trusted_service" (an authorized agent), or "design_system_reference" (an indirect read of a design system through a project that uses it). + The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -46815,13 +46993,13 @@ compliance activities that can be filtered by various criteria. The project's type: "project", "template", or "design_system". - - `DesktopExtensionAllowlisted object` + - `DesignProjectMemberRemoved object` - A desktop extension was added to an org's allowlist. + A member's access to a Claude Design project was revoked. - - `type: optional "desktop_extension_allowlisted"` + - `type: optional "design_project_member_removed"` - default: desktop_extension_allowlisted + default: design_project_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47029,25 +47207,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - Allowlisted DXT extension ID - - - `id: optional string` + - `design_project_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The Design project the member was removed from, e.g. "design_proj_01HX...". - - `attestations: optional array of object` + - `principal_id: string` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - `type: string` + - `principal_type: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The kind of member that was removed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `content_hash: string` + - `id: optional string` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -47063,13 +47237,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionBlocklisted object` + - `project_type: optional string or null` - A desktop extension was added to the global blocklist. + The project's type: "project", "template", or "design_system". - - `type: optional "desktop_extension_blocklisted"` + - `DesignProjectMemberRoleUpdated object` - default: desktop_extension_blocklisted + A Claude Design project member's role was changed. + + - `type: optional "design_project_member_role_updated"` + + default: design_project_member_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47277,9 +47455,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Blocklisted DXT extension ID + The Design project the member belongs to, e.g. "design_proj_01HX...". + + - `principal_id: string` + + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". + + - `principal_type: string` + + The kind of member whose role was changed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). + + - `role: string` + + The member's role after the change: "viewer", "commenter", or "editor". - `id: optional string` @@ -47299,13 +47489,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionDeleted object` + - `previous_role: optional string or null` - A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. + The member's role before the change. - - `type: optional "desktop_extension_deleted"` + - `project_type: optional string or null` - default: desktop_extension_deleted + The project's type: "project", "template", or "design_system". + + - `DesignProjectPublished object` + + A Claude Design template or design system was published, making it discoverable by everyone in its organization. + + - `type: optional "design_project_published"` + + default: design_project_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47513,9 +47711,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - DXT extension ID + The Design project that was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -47535,17 +47733,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `version: optional string or null` + - `project_type: optional string or null` - Specific version deleted (null if all versions) + The project's type: "template" or "design_system". - - `DesktopExtensionRemovedFromAllowlist object` + - `DesignProjectSharingUpdated object` - A desktop extension was removed from an org's allowlist. + A Claude Design project's link-sharing settings were changed — who the project's link works for, and what people opening it through the link may do. Access granted to individual members is reported separately (see design_project_member_added). - - `type: optional "desktop_extension_removed_from_allowlist"` + - `type: optional "design_project_sharing_updated"` - default: desktop_extension_removed_from_allowlist + default: design_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47753,9 +47951,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - DXT extension ID removed from allowlist + The Design project whose sharing settings changed, e.g. "design_proj_01HX...". + + - `new_link_permission: string` + + What people opening the project through its link may do after the change: "view", "comment", or "edit". + + - `new_scope: string` + + Who the project link is set to work for after the change: "invited" (only the owner and individually invited members) or "org" (anyone in the project's organization, where the organization's own sharing settings allow org-wide visibility). This records the project's stored setting as changed by the actor; organization-level settings can further restrict who the link actually admits, and changes to those settings are not project events. Projects created before link sharing was restricted may also report a legacy "public" value. - `id: optional string` @@ -47775,13 +47981,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionUnblocked object` + - `previous_link_permission: optional string or null` - A desktop extension was removed from the global blocklist. + What people opening the project through its link could do before the change. - - `type: optional "desktop_extension_unblocked"` + - `previous_scope: optional string or null` - default: desktop_extension_unblocked + Who the project link was set to work for before the change — the stored setting, with the same organization-level caveat as new_scope. May include the legacy "public" value. + + - `project_type: optional string or null` + + The project's type: "project", "template", or "design_system". + + - `DesignProjectUnpublished object` + + A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + + - `type: optional "design_project_unpublished"` + + default: design_project_unpublished - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47989,9 +48207,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Unblocked DXT extension ID + The Design project that was unpublished, e.g. "design_proj_01HX...". - `id: optional string` @@ -48011,13 +48229,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionUploaded object` + - `project_type: optional string or null` - A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. + The project's type: "template" or "design_system". - - `type: optional "desktop_extension_uploaded"` + - `DesignProjectUpdated object` - default: desktop_extension_uploaded + A Claude Design project's metadata was updated. + + - `type: optional "design_project_updated"` + + default: design_project_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48225,30 +48447,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - DXT extension ID - - - `version: string` + - `design_project_id: string` - Version string from the manifest + The Design project that was updated, e.g. "design_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. @@ -48263,13 +48469,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionVersionUploaded object` + - `project_type: optional string or null` - A new version of an existing org-owned desktop extension was uploaded. + The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. - - `type: optional "desktop_extension_version_uploaded"` + - `updated_fields: optional array of string` - default: desktop_extension_version_uploaded + Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + + - `DesignProjectVersionRestored object` + + A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + + - `type: optional "design_project_version_restored"` + + default: design_project_version_restored - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48477,30 +48691,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - DXT extension ID - - - `version: string` + - `design_project_id: string` - Version string from the manifest + The Design project that was restored, e.g. "design_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. @@ -48515,13 +48713,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksConfigDeleted object` + - `project_type: optional string or null` - Inference hooks configuration was removed for the organization. + The project's type: "project", "template", or "design_system". - - `type: optional "inference_hooks_config_deleted"` + - `DesignProjectViewed object` - default: inference_hooks_config_deleted + A Claude Design project's content was read. The surface field records which kind of read — a project open, a full-content read, a single-file read, a saved-version read, or an export request. The actor is the reader. + + This activity type is retired: project content reads are no longer + recorded. Events of this type may still appear in feeds for reads that + occurred while it was active. + + - `type: optional "design_project_viewed"` + + default: design_project_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48729,10 +48935,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `design_project_id: string` + + The Design project whose content was read, e.g. "design_proj_01HX...". + + - `surface: string` + + Which read surface recorded this open: "project" (the project was opened), "project_data" (the project's full contents were read or made readable — either a direct data read, which also includes the project's conversations when the reader's access extends to them, or a render-token request, which exposes the project's files for the token's lifetime; the two share this value and are not distinguished), "file" (one of the project's files was read), "version" (a saved version of the project's files, including their contents, was read — version-history browsing that lists names without contents is not recorded), or "export" (an authenticated export of the project's contents was requested). + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional string or null` + + How the viewer was authorized to open the project: "owner" (the project's owner), "member_grant" (an individually invited member), "org_link" (org-wide link sharing), "trusted_service" (an authorized agent), or "design_system_reference" (an indirect read of a design system through a project that uses it). + - `created_at: optional string` When this activity occurred. @@ -48747,13 +48965,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksConfigUpdated object` + - `project_type: optional string or null` - Inference hooks configuration was created or updated for the organization. + The project's type: "project", "template", or "design_system". - - `type: optional "inference_hooks_config_updated"` + - `DesktopExtensionAllowlisted object` - default: inference_hooks_config_updated + A desktop extension was added to an org's allowlist. + + - `type: optional "desktop_extension_allowlisted"` + + default: desktop_extension_allowlisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48961,33 +49183,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether Inference hooks enforcement is enabled after this change. - - - `enforcement_mode: string` - - Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). - - - `fail_mode: string` + - `extension_id: string` - Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + Allowlisted DXT extension ID - - `final_verdict_timeout_ms: number` + - `id: optional string` - Milliseconds inference waits for the Inference hooks verdict on the response. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `prompt_verdict_timeout_ms: number` + - `attestations: optional array of object` - Milliseconds inference waits for the Inference hooks verdict on the prompt. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `webhook_url: string` + - `type: string` - Scheme and host of the endpoint that Inference hooks sends prompts and responses to after this change, for example `https://hooks.example.com`; the port, path and query are never included. Empty when the address cannot be shown safely, and on activities recorded before this field was limited to scheme and host. + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `id: optional string` + - `content_hash: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -48995,18 +49209,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deny_message: optional string or null` - - Administrator-written text shown to users at the end of the error message when a request is blocked by the organization's Inference hooks policy, as configured after this change. Null when the built-in default message is in effect; an empty string when the administrator configured an empty message, in which case no text is appended. - - - `deny_message_enabled: optional boolean or null` - - Whether the organization has the appended deny message turned on, as configured after this change. When on, the administrator-written message (or the built-in default, when none is configured) is appended to the error users see when a request is blocked by the organization's Inference hooks policy; no text is appended when the administrator-written message is empty, or when this is off. - - - `extra_header_names: optional array of string or null` - - Names of the custom HTTP headers attached to every Inference hooks request after this change, or null when this update did not change headers. Header values are write-only and are not recorded. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -49015,29 +49217,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reset_circuit_breaker: optional boolean or null` - - Whether this update carried an explicit request to clear the circuit breaker. A tripped breaker otherwise survives configuration updates; it also clears whenever an update enables enforcement. - - - `rollout_percentage: optional number or null` - - Percentage of requests (0-100) inspected by Inference hooks after this change, or null when this update did not change it. 0 disables inspection; 100 inspects every request. - - - `shadow_mode: optional boolean or null` - - Whether the organization's Inference hooks run in shadow mode after this change, or null when this update did not change it. In shadow mode, prompts are still sent to the organization's endpoint and verdicts are recorded, but requests are never blocked. - - - `validate_tool_calls: optional boolean or null` - - Whether Inference hooks validate tool calls, as configured after this change. Null means tool calls are not validated: either nothing has been saved for this setting, as in a configuration created before the setting became available, or the setting is not yet available to the organization. A configuration created once the setting is available starts with it on by default. When on, tool calls the model requests are also sent to the organization's endpoint before they run, and its verdict is applied as it is for prompts. - - - `InferenceHooksSigningSecretGenerated object` + - `DesktopExtensionBlocklisted object` - A request signing secret was generated for the organization's Inference hooks configuration. + A desktop extension was added to the global blocklist. - - `type: optional "inference_hooks_signing_secret_generated"` + - `type: optional "desktop_extension_blocklisted"` - default: inference_hooks_signing_secret_generated + default: desktop_extension_blocklisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49245,9 +49431,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `rotated: boolean` + - `extension_id: string` - Whether this generation replaced an existing signing secret (true) or created the organization's first one (false). Replacing a secret invalidates the previous one immediately. + Blocklisted DXT extension ID - `id: optional string` @@ -49267,13 +49453,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimCancelled object` + - `DesktopExtensionDeleted object` - A pending domain claim was cancelled before it took effect, so the personal accounts on the claimed domains will no longer be migrated or deactivated at its deadline. + A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. - - `type: optional "domain_claim_cancelled"` + - `type: optional "desktop_extension_deleted"` - default: domain_claim_cancelled + default: desktop_extension_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49481,9 +49667,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `domain_claim_id: string` + - `extension_id: string` - The domain claim that was cancelled, e.g. "dclm_01Ab...". + DXT extension ID - `id: optional string` @@ -49503,23 +49689,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimDeadlineUpdated object` - - The migration deadline of a pending domain claim was moved to a later or an earlier date by Anthropic staff or an automated process. - - - `type: optional "domain_claim_deadline_updated"` - - default: domain_claim_deadline_updated + - `version: optional string or null` - - `action: "extended" or "shortened" or "unspecified"` + Specific version deleted (null if all versions) - Whether the deadline was extended (moved later) or shortened (moved earlier). + - `DesktopExtensionRemovedFromAllowlist object` - - `"extended"` + A desktop extension was removed from an org's allowlist. - - `"shortened"` + - `type: optional "desktop_extension_removed_from_allowlist"` - - `"unspecified"` + default: desktop_extension_removed_from_allowlist - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49727,9 +49907,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `domain_claim_id: string` + - `extension_id: string` - The domain claim whose deadline was moved, e.g. "dclm_01Ab...". + DXT extension ID removed from allowlist - `id: optional string` @@ -49741,12 +49921,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deadline_at: optional string or null` - - The deadline after the change. - - format: date-time - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -49755,19 +49929,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_deadline_at: optional string or null` - - The deadline before the change. - - format: date-time - - - `DomainClaimInitiated object` + - `DesktopExtensionUnblocked object` - Domain capture claim initiated over personal accounts on verified domains. + A desktop extension was removed from the global blocklist. - - `type: optional "domain_claim_initiated"` + - `type: optional "desktop_extension_unblocked"` - default: domain_claim_initiated + default: desktop_extension_unblocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49975,6 +50143,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `extension_id: string` + + Unblocked DXT extension ID + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -49993,13 +50165,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `EndUserInviteRequested object` + - `DesktopExtensionUploaded object` - Non-admin member submitted an invite request for a new org member. + A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. - - `type: optional "end_user_invite_requested"` + - `type: optional "desktop_extension_uploaded"` - default: end_user_invite_requested + default: desktop_extension_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50207,12 +50379,30 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` + - `extension_id: string` + + DXT extension ID + + - `version: string` + + Version string from the manifest - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. @@ -50227,13 +50417,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageBillingEnabled object` + - `DesktopExtensionVersionUploaded object` - Usage credit billing was enabled for an organization. + A new version of an existing org-owned desktop extension was uploaded. - - `type: optional "extra_usage_billing_enabled"` + - `type: optional "desktop_extension_version_uploaded"` - default: extra_usage_billing_enabled + default: desktop_extension_version_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50441,10 +50631,30 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `extension_id: string` + + DXT extension ID + + - `version: string` + + Version string from the manifest + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. @@ -50459,13 +50669,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageCreditGranted object` + - `InferenceHooksConfigDeleted object` - A promotional usage credit grant was claimed. + Inference hooks configuration was removed for the organization. - - `type: optional "extra_usage_credit_granted"` + - `type: optional "inference_hooks_config_deleted"` - default: extra_usage_credit_granted + default: inference_hooks_config_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50691,13 +50901,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageSpendLimitCreated object` + - `InferenceHooksConfigUpdated object` - Usage credit spend limit was created. + Inference hooks configuration was created or updated for the organization. - - `type: optional "extra_usage_spend_limit_created"` + - `type: optional "inference_hooks_config_updated"` - default: extra_usage_spend_limit_created + default: inference_hooks_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50905,13 +51115,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `enabled: boolean` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether Inference hooks enforcement is enabled after this change. - - `amount: optional number or null` + - `enforcement_mode: string` - The monthly credit limit amount in minor units (e.g. cents). + Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). + + - `fail_mode: string` + + Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + + - `final_verdict_timeout_ms: number` + + Milliseconds inference waits for the Inference hooks verdict on the response. + + - `prompt_verdict_timeout_ms: number` + + Milliseconds inference waits for the Inference hooks verdict on the prompt. + + - `webhook_url: string` + + Scheme and host of the endpoint that Inference hooks sends prompts and responses to after this change, for example `https://hooks.example.com`; the port, path and query are never included. Empty when the address cannot be shown safely, and on activities recorded before this field was limited to scheme and host. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -50919,13 +51149,17 @@ compliance activities that can be filtered by various criteria. format: date-time - - `is_enabled: optional boolean or null` + - `deny_message: optional string or null` - Whether the spend limit is enabled. + Administrator-written text shown to users at the end of the error message when a request is blocked by the organization's Inference hooks policy, as configured after this change. Null when the built-in default message is in effect; an empty string when the administrator configured an empty message, in which case no text is appended. - - `limit_type: optional string or null` + - `deny_message_enabled: optional boolean or null` - The type of spend limit created (e.g. organization, seat_tier, member, service, group). + Whether the organization has the appended deny message turned on, as configured after this change. When on, the administrator-written message (or the built-in default, when none is configured) is appended to the error users see when a request is blocked by the organization's Inference hooks policy; no text is appended when the administrator-written message is empty, or when this is off. + + - `extra_header_names: optional array of string or null` + + Names of the custom HTTP headers attached to every Inference hooks request after this change, or null when this update did not change headers. Header values are write-only and are not recorded. - `organization_id: optional string or null` @@ -50935,23 +51169,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` + - `reset_circuit_breaker: optional boolean or null` - Tagged ID of the spend limit. + Whether this update carried an explicit request to clear the circuit breaker. A tripped breaker otherwise survives configuration updates; it also clears whenever an update enables enforcement. - - `user_id: optional string or null` + - `rollout_percentage: optional number or null` - **Deprecated** + Percentage of requests (0-100) inspected by Inference hooks after this change, or null when this update did not change it. 0 disables inspection; 100 inspects every request. - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + - `shadow_mode: optional boolean or null` - - `ExtraUsageSpendLimitDeleted object` + Whether the organization's Inference hooks run in shadow mode after this change, or null when this update did not change it. In shadow mode, prompts are still sent to the organization's endpoint and verdicts are recorded, but requests are never blocked. - Usage credit spend limit was deleted. + - `validate_tool_calls: optional boolean or null` - - `type: optional "extra_usage_spend_limit_deleted"` + Whether Inference hooks validate tool calls, as configured after this change. Null means tool calls are not validated: either nothing has been saved for this setting, as in a configuration created before the setting became available, or the setting is not yet available to the organization. A configuration created once the setting is available starts with it on by default. When on, tool calls the model requests are also sent to the organization's endpoint before they run, and its verdict is applied as it is for prompts. - default: extra_usage_spend_limit_deleted + - `InferenceHooksSigningSecretGenerated object` + + A request signing secret was generated for the organization's Inference hooks configuration. + + - `type: optional "inference_hooks_signing_secret_generated"` + + default: inference_hooks_signing_secret_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51159,6 +51399,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `rotated: boolean` + + Whether this generation replaced an existing signing secret (true) or created the organization's first one (false). Replacing a secret invalidates the previous one immediately. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -51177,23 +51421,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` - - **Deprecated** - - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - - `ExtraUsageSpendLimitIncreaseRequestApproved object` + - `DomainClaimCancelled object` - A usage credit spend limit increase request was approved. + A pending domain claim was cancelled before it took effect, so the personal accounts on the claimed domains will no longer be migrated or deactivated at its deadline. - - `type: optional "extra_usage_spend_limit_increase_request_approved"` + - `type: optional "domain_claim_cancelled"` - default: extra_usage_spend_limit_increase_request_approved + default: domain_claim_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51401,13 +51635,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `domain_claim_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The domain claim that was cancelled, e.g. "dclm_01Ab...". - - `amount: optional number or null` + - `id: optional string` - The approved spend limit amount in minor units (e.g. cents). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -51423,25 +51657,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `requester_user_id: optional string or null` - - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + - `DomainClaimDeadlineUpdated object` - - `spend_limit_id: optional string or null` + The migration deadline of a pending domain claim was moved to a later or an earlier date by Anthropic staff or an automated process. - Tagged ID of the member's spend limit that the approval created or updated. + - `type: optional "domain_claim_deadline_updated"` - - `spend_limit_increase_request_id: optional string or null` + default: domain_claim_deadline_updated - Tagged ID of the spend limit increase request that was approved. + - `action: "extended" or "shortened" or "unspecified"` - - `ExtraUsageSpendLimitIncreaseRequestDenied object` + Whether the deadline was extended (moved later) or shortened (moved earlier). - A usage credit spend limit increase request was denied. + - `"extended"` - - `type: optional "extra_usage_spend_limit_increase_request_denied"` + - `"shortened"` - default: extra_usage_spend_limit_increase_request_denied + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51649,6 +51881,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `domain_claim_id: string` + + The domain claim whose deadline was moved, e.g. "dclm_01Ab...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -51659,6 +51895,12 @@ compliance activities that can be filtered by various criteria. format: date-time + - `deadline_at: optional string or null` + + The deadline after the change. + + format: date-time + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51667,21 +51909,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `requester_user_id: optional string or null` - - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + - `previous_deadline_at: optional string or null` - - `spend_limit_increase_request_id: optional string or null` + The deadline before the change. - Tagged ID of the spend limit increase request that was denied. + format: date-time - - `ExtraUsageSpendLimitUpdated object` + - `DomainClaimInitiated object` - Usage credit spend limit was updated. + Domain capture claim initiated over personal accounts on verified domains. - - `type: optional "extra_usage_spend_limit_updated"` + - `type: optional "domain_claim_initiated"` - default: extra_usage_spend_limit_updated + default: domain_claim_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51893,24 +52133,12 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `amount: optional number or null` - - The new monthly credit limit amount in minor units (e.g. cents). - - `created_at: optional string` When this activity occurred. format: date-time - - `is_enabled: optional boolean or null` - - Whether the spend limit is enabled. - - - `limit_type: optional string or null` - - The type of spend limit updated (e.g. organization, seat_tier, member, service, group). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51919,23 +52147,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` - - **Deprecated** - - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - - `ClaudeFileDeleted object` + - `EndUserInviteRequested object` - A file was deleted. + Non-admin member submitted an invite request for a new org member. - - `type: optional "claude_file_deleted"` + - `type: optional "end_user_invite_requested"` - default: claude_file_deleted + default: end_user_invite_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52143,9 +52361,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` - - Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". + - `invitee_email: string` - `id: optional string` @@ -52165,19 +52381,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated. The name can't be looked up once the file is deleted. - - - `ClaudeFileUploaded object` + - `ExtraUsageBillingEnabled object` - A file was uploaded. + Usage credit billing was enabled for an organization. - - `type: optional "claude_file_uploaded"` + - `type: optional "extra_usage_billing_enabled"` - default: claude_file_uploaded + default: extra_usage_billing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52385,22 +52595,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` - - Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_id: optional string or null` - - Chat ID if known at upload time (null for the upload-then-attach flow). To find which chats a file was later attached to, use `GET /v1/compliance/apps/chats/files/{claude_file_id}`. - - - `claude_project_id: optional string or null` - - Project ID if file was uploaded to a project - - `created_at: optional string` When this activity occurred. @@ -52415,19 +52613,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `GheConfigurationCreated object` + - `ExtraUsageCreditGranted object` - Admin created a GHE configuration. + A promotional usage credit grant was claimed. - - `type: optional "ghe_configuration_created"` + - `type: optional "extra_usage_credit_granted"` - default: ghe_configuration_created + default: extra_usage_credit_granted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52635,10 +52827,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -52649,14 +52837,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` - - Hostname of the GitHub Enterprise instance - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -52665,17 +52845,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GheConfigurationDeleted object` + - `ExtraUsageSpendLimitCreated object` - Admin deleted a GHE configuration. + Usage credit spend limit was created. - - `type: optional "ghe_configuration_deleted"` + - `type: optional "extra_usage_spend_limit_created"` - default: ghe_configuration_deleted + default: extra_usage_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52883,27 +53059,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The monthly credit limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time - - `display_name: optional string or null` + - `is_enabled: optional boolean or null` - Display name the configuration had when deleted + Whether the spend limit is enabled. - - `hostname: optional string or null` + - `limit_type: optional string or null` - Hostname of the GitHub Enterprise instance + The type of spend limit created (e.g. organization, seat_tier, member, service, group). - `organization_id: optional string or null` @@ -52913,17 +53089,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` + - `spend_limit_id: optional string or null` - Custom port, if not the HTTPS default + Tagged ID of the spend limit. - - `GheConfigurationUpdated object` + - `user_id: optional string or null` - Admin updated a GHE configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + **Deprecated** - - `type: optional "ghe_configuration_updated"` + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - default: ghe_configuration_updated + - `ExtraUsageSpendLimitDeleted object` + + Usage credit spend limit was deleted. + + - `type: optional "extra_usage_spend_limit_deleted"` + + default: extra_usage_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53131,10 +53313,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -53145,38 +53323,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `custom_ca_certificate_updated: optional boolean or null` - - Whether the custom CA certificate was replaced in this update - - - `display_name: optional string or null` - - New display name, when it changed - - - `github_app_client_id: optional string or null` - - New GitHub App client ID, when it changed - - - `github_app_client_secret_updated: optional boolean or null` - - Whether the GitHub App client secret was replaced in this update - - - `github_app_id: optional number or null` - - New GitHub App ID, when it changed - - - `github_app_private_key_updated: optional boolean or null` - - Whether the GitHub App private key was replaced in this update - - - `hostname: optional string or null` - - Hostname of the GitHub Enterprise instance (immutable; included for context) - - - `is_active: optional boolean or null` - - New active state, when it changed - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53185,45 +53331,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - New port, when it changed - - - `previous_display_name: optional string or null` - - Display name before the change, when it changed - - - `previous_github_app_client_id: optional string or null` - - GitHub App client ID before the change, when it changed - - - `previous_github_app_id: optional number or null` - - GitHub App ID before the change, when it changed - - - `previous_is_active: optional boolean or null` - - Active state before the change, when it changed - - - `previous_port: optional number or null` - - Port before the change, when it changed + - `spend_limit_id: optional string or null` - - `read_replica_hostnames_updated: optional boolean or null` + Tagged ID of the spend limit. - Whether the read replica hostnames were replaced in this update + - `user_id: optional string or null` - - `webhook_secret_updated: optional boolean or null` + **Deprecated** - Whether the webhook secret was replaced in this update + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - `GheUserConnected object` + - `ExtraUsageSpendLimitIncreaseRequestApproved object` - User connected to a GHE instance. + A usage credit spend limit increase request was approved. - - `type: optional "ghe_user_connected"` + - `type: optional "extra_usage_spend_limit_increase_request_approved"` - default: ghe_user_connected + default: extra_usage_spend_limit_increase_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53435,16 +53559,16 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The approved spend limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time - - `ghe_configuration_id: optional string or null` - - ID of the GHE configuration - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53453,13 +53577,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GheUserDisconnected object` + - `requester_user_id: optional string or null` - User disconnected from a GHE instance. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "ghe_user_disconnected"` + - `spend_limit_id: optional string or null` - default: ghe_user_disconnected + Tagged ID of the member's spend limit that the approval created or updated. + + - `spend_limit_increase_request_id: optional string or null` + + Tagged ID of the spend limit increase request that was approved. + + - `ExtraUsageSpendLimitIncreaseRequestDenied object` + + A usage credit spend limit increase request was denied. + + - `type: optional "extra_usage_spend_limit_increase_request_denied"` + + default: extra_usage_spend_limit_increase_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53677,10 +53813,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` - - ID of the GHE configuration - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53689,13 +53821,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GheWebhookSignatureInvalid object` + - `requester_user_id: optional string or null` - Webhook signature validation failed. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "ghe_webhook_signature_invalid"` + - `spend_limit_increase_request_id: optional string or null` - default: ghe_webhook_signature_invalid + Tagged ID of the spend limit increase request that was denied. + + - `ExtraUsageSpendLimitUpdated object` + + Usage credit spend limit was updated. + + - `type: optional "extra_usage_spend_limit_updated"` + + default: extra_usage_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53903,20 +54043,28 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The new monthly credit limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time + - `is_enabled: optional boolean or null` + + Whether the spend limit is enabled. + + - `limit_type: optional string or null` + + The type of spend limit updated (e.g. organization, seat_tier, member, service, group). + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53925,13 +54073,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGitHubIntegrationCreated object` + - `spend_limit_id: optional string or null` - A GitHub integration was enabled for the organization. + Tagged ID of the spend limit. - - `type: optional "claude_github_integration_created"` + - `user_id: optional string or null` - default: claude_github_integration_created + **Deprecated** + + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + + - `ClaudeFileDeleted object` + + A file was deleted. + + - `type: optional "claude_file_deleted"` + + default: claude_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54139,63 +54297,41 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `claude_file_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `enabled: optional boolean or null` - - Whether the integration is enabled after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_name: optional string or null` - - Name of the GitHub organization the integration is connected to, when known. - - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. + - `filename: optional string or null` - - `repository_name: optional string or null` + **Deprecated** - Name of the GitHub repository the integration is connected to, when known. + No longer populated. The name can't be looked up once the file is deleted. - - `ClaudeGitHubIntegrationDeleted object` + - `ClaudeFileUploaded object` - A GitHub integration was disabled for the organization. + A file was uploaded. - - `type: optional "claude_github_integration_deleted"` + - `type: optional "claude_file_uploaded"` - default: claude_github_integration_deleted + default: claude_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54403,51 +54539,49 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `claude_file_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_chat_id: optional string or null` + + Chat ID if known at upload time (null for the upload-then-attach flow). To find which chats a file was later attached to, use `GET /v1/compliance/apps/chats/files/{claude_file_id}`. + + - `claude_project_id: optional string or null` + + Project ID if file was uploaded to a project + - `created_at: optional string` When this activity occurred. format: date-time - - `enabled: optional boolean or null` - - Whether the integration is enabled after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_name: optional string or null` - - Name of the GitHub organization the integration was connected to, when known. - - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. + - `filename: optional string or null` - - `repository_name: optional string or null` + **Deprecated** - Name of the GitHub repository the integration was connected to, when known. + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - `ClaudeGitHubIntegrationUpdated object` + - `GheConfigurationCreated object` - A GitHub integration's configuration was updated. + Admin created a GHE configuration. - - `type: optional "claude_github_integration_updated"` + - `type: optional "ghe_configuration_created"` - default: claude_github_integration_updated + default: ghe_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54655,9 +54789,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `ghe_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GHE configuration - `id: optional string` @@ -54669,29 +54803,33 @@ compliance activities that can be filtered by various criteria. format: date-time - - `organization_id: optional string or null` + - `display_name: optional string or null` - Organization ID this activity is associated with + Display name given to the configuration - - `organization_name: optional string or null` + - `hostname: optional string or null` - Name of the GitHub organization the integration is connected to, when known. + Hostname of the GitHub Enterprise instance + + - `organization_id: optional string or null` + + Organization ID this activity is associated with - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `repository_name: optional string or null` + - `port: optional number or null` - Name of the GitHub repository the integration is connected to, when known. + Custom port, if not the HTTPS default - - `GitHubAppInstallationLinked object` + - `GheConfigurationDeleted object` - An installation of the Claude GitHub App (a GitHub organization or user account where the App is installed) was linked to the organization, letting the organization's Claude Code features act on that GitHub account's repositories. + Admin deleted a GHE configuration. - - `type: optional "github_app_installation_linked"` + - `type: optional "ghe_configuration_deleted"` - default: github_app_installation_linked + default: ghe_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54899,9 +55037,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `ghe_configuration_id: string` - Numeric GitHub ID of the installation that was linked + ID of the GHE configuration - `id: optional string` @@ -54913,13 +55051,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_account_login: optional string or null` + - `display_name: optional string or null` - Login of the GitHub organization or user account the App is installed on + Display name the configuration had when deleted - - `github_account_type: optional string or null` + - `hostname: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + Hostname of the GitHub Enterprise instance - `organization_id: optional string or null` @@ -54929,13 +55067,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GitHubAppInstallationUnlinked object` + - `port: optional number or null` - An installation of the Claude GitHub App was unlinked from the organization, so the organization's Claude Code features can no longer act on that GitHub account's repositories through it. + Custom port, if not the HTTPS default - - `type: optional "github_app_installation_unlinked"` + - `GheConfigurationUpdated object` - default: github_app_installation_unlinked + Admin updated a GHE configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + + - `type: optional "ghe_configuration_updated"` + + default: ghe_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55143,9 +55285,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `ghe_configuration_id: string` - Numeric GitHub ID of the installation that was unlinked + ID of the GHE configuration - `id: optional string` @@ -55157,13 +55299,37 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_account_login: optional string or null` + - `custom_ca_certificate_updated: optional boolean or null` - Login of the GitHub organization or user account the App is installed on + Whether the custom CA certificate was replaced in this update - - `github_account_type: optional string or null` + - `display_name: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + New display name, when it changed + + - `github_app_client_id: optional string or null` + + New GitHub App client ID, when it changed + + - `github_app_client_secret_updated: optional boolean or null` + + Whether the GitHub App client secret was replaced in this update + + - `github_app_id: optional number or null` + + New GitHub App ID, when it changed + + - `github_app_private_key_updated: optional boolean or null` + + Whether the GitHub App private key was replaced in this update + + - `hostname: optional string or null` + + Hostname of the GitHub Enterprise instance (immutable; included for context) + + - `is_active: optional boolean or null` + + New active state, when it changed - `organization_id: optional string or null` @@ -55173,13 +55339,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GitHubTokenImport object` + - `port: optional number or null` - A user attempted to import a personal GitHub access token for use with Claude Code. The `result` field indicates the outcome of the import (imported, rejected, or failed). + New port, when it changed - - `type: optional "github_token_import"` + - `previous_display_name: optional string or null` - default: github_token_import + Display name before the change, when it changed + + - `previous_github_app_client_id: optional string or null` + + GitHub App client ID before the change, when it changed + + - `previous_github_app_id: optional number or null` + + GitHub App ID before the change, when it changed + + - `previous_is_active: optional boolean or null` + + Active state before the change, when it changed + + - `previous_port: optional number or null` + + Port before the change, when it changed + + - `read_replica_hostnames_updated: optional boolean or null` + + Whether the read replica hostnames were replaced in this update + + - `webhook_secret_updated: optional boolean or null` + + Whether the webhook secret was replaced in this update + + - `GheUserConnected object` + + User connected to a GHE instance. + + - `type: optional "ghe_user_connected"` + + default: ghe_user_connected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55387,30 +55585,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - - The outcome of the import. - - - `"failed_internal"` - - - `"imported"` - - - `"rejected_feature_disabled"` - - - `"rejected_invalid_credential"` - - - `"rejected_missing_repo_scope"` - - - `"rejected_tenant_not_ready"` - - - `"rejected_zdr_policy"` - - - `"unspecified"` - - - `source: string` - - How the token was imported. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -55421,13 +55595,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_username: optional string or null` - - The GitHub username the imported token authenticates as, when known. - - - `granted_scopes: optional string or null` + - `ghe_configuration_id: optional string or null` - The scopes granted to the imported token, when available. + ID of the GHE configuration - `organization_id: optional string or null` @@ -55437,17 +55607,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `token_fingerprint_sha256: optional string or null` - - Not populated. - - - `GitlabConfigurationCreated object` + - `GheUserDisconnected object` - An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + User disconnected from a GHE instance. - - `type: optional "gitlab_configuration_created"` + - `type: optional "ghe_user_disconnected"` - default: gitlab_configuration_created + default: ghe_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55655,10 +55821,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` - - ID of the GitLab configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -55669,13 +55831,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` + - `ghe_configuration_id: optional string or null` - Hostname of the GitLab instance + ID of the GHE configuration - `organization_id: optional string or null` @@ -55685,17 +55843,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationDeleted object` + - `GheWebhookSignatureInvalid object` - An organization admin deleted a self-managed GitLab configuration. + Webhook signature validation failed. - - `type: optional "gitlab_configuration_deleted"` + - `type: optional "ghe_webhook_signature_invalid"` - default: gitlab_configuration_deleted + default: ghe_webhook_signature_invalid - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55903,9 +56057,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `ghe_configuration_id: string` - ID of the GitLab configuration + ID of the GHE configuration - `id: optional string` @@ -55917,14 +56071,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name the configuration had when deleted - - - `hostname: optional string or null` - - Hostname of the GitLab instance - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -55933,17 +56079,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationUpdated object` + - `ClaudeGitHubIntegrationCreated object` - An organization admin updated a self-managed GitLab configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + A GitHub integration was enabled for the organization. - - `type: optional "gitlab_configuration_updated"` + - `type: optional "claude_github_integration_created"` - default: gitlab_configuration_updated + default: claude_github_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56151,71 +56293,63 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `integration_id: string` - ID of the GitLab configuration + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_token_updated: optional boolean or null` - - Whether the access token was replaced in this update - - - `created_at: optional string` + - `attestations: optional array of object` - When this activity occurred. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - format: date-time + - `type: string` - - `custom_ca_certificate_updated: optional boolean or null` + Attestation type, such as "safe_for_phi" (may be used with protected health information). - Whether the custom CA certificate was replaced in this update + - `content_hash: string` - - `display_name: optional string or null` + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - New display name, when it changed + - `created_at: optional string` - - `hostname: optional string or null` + When this activity occurred. - Hostname of the GitLab instance (immutable; included for context) + format: date-time - - `is_active: optional boolean or null` + - `enabled: optional boolean or null` - New active state, when it changed + Whether the integration is enabled after this change. - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `port: optional number or null` + - `organization_name: optional string or null` - New port, when it changed + Name of the GitHub organization the integration is connected to, when known. - - `previous_display_name: optional string or null` + - `organization_uuid: optional string or null` - Display name before the change, when it changed + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_is_active: optional boolean or null` + - `previous_enabled: optional boolean or null` - Active state before the change, when it changed + Whether the integration was enabled before this change; null when the integration had never been configured. - - `previous_port: optional number or null` + - `repository_name: optional string or null` - Port before the change, when it changed + Name of the GitHub repository the integration is connected to, when known. - - `ClaudeGdriveIntegrationCreated object` + - `ClaudeGitHubIntegrationDeleted object` - A Google Drive integration was enabled for the organization. + A GitHub integration was disabled for the organization. - - `type: optional "claude_gdrive_integration_created"` + - `type: optional "claude_github_integration_deleted"` - default: claude_gdrive_integration_created + default: claude_github_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56425,49 +56559,49 @@ compliance activities that can be filtered by various criteria. - `integration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `folder_id: optional string or null` + - `enabled: optional boolean or null` - Identifier of the Google Drive folder the integration is connected to, when known. + Whether the integration is enabled after this change. - `organization_id: optional string or null` Organization ID this activity is associated with + - `organization_name: optional string or null` + + Name of the GitHub organization the integration was connected to, when known. + - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGdriveIntegrationDeleted object` + - `previous_enabled: optional boolean or null` - A Google Drive integration was disabled for the organization. + Whether the integration was enabled before this change; null when the integration had never been configured. - - `type: optional "claude_gdrive_integration_deleted"` + - `repository_name: optional string or null` - default: claude_gdrive_integration_deleted + Name of the GitHub repository the integration was connected to, when known. + + - `ClaudeGitHubIntegrationUpdated object` + + A GitHub integration's configuration was updated. + + - `type: optional "claude_github_integration_updated"` + + default: claude_github_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56677,7 +56811,7 @@ compliance activities that can be filtered by various criteria. - `integration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -56689,25 +56823,29 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` - - Identifier of the Google Drive folder the integration was connected to, when known. - - `organization_id: optional string or null` Organization ID this activity is associated with + - `organization_name: optional string or null` + + Name of the GitHub organization the integration is connected to, when known. + - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGdriveIntegrationUpdated object` + - `repository_name: optional string or null` - A Google Drive integration's configuration was updated. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "claude_gdrive_integration_updated"` + - `GitHubAppInstallationLinked object` - default: claude_gdrive_integration_updated + An installation of the Claude GitHub App (a GitHub organization or user account where the App is installed) was linked to the organization, letting the organization's Claude Code features act on that GitHub account's repositories. + + - `type: optional "github_app_installation_linked"` + + default: github_app_installation_linked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56915,9 +57053,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `github_installation_id: number` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Numeric GitHub ID of the installation that was linked - `id: optional string` @@ -56929,9 +57067,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` + - `github_account_login: optional string or null` - Identifier of the Google Drive folder the integration is connected to, when known. + Login of the GitHub organization or user account the App is installed on + + - `github_account_type: optional string or null` + + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") - `organization_id: optional string or null` @@ -56941,13 +57083,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupCreated object` + - `GitHubAppInstallationUnlinked object` - A group was created (RBAC admin or SCIM provisioning). + An installation of the Claude GitHub App was unlinked from the organization, so the organization's Claude Code features can no longer act on that GitHub account's repositories through it. - - `type: optional "group_created"` + - `type: optional "github_app_installation_unlinked"` - default: group_created + default: github_app_installation_unlinked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57155,13 +57297,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the created group - - - `group_name: string` + - `github_installation_id: number` - Name of the created group + Numeric GitHub ID of the installation that was unlinked - `id: optional string` @@ -57173,6 +57311,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `github_account_login: optional string or null` + + Login of the GitHub organization or user account the App is installed on + + - `github_account_type: optional string or null` + + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57181,13 +57327,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupDeleted object` + - `GitHubTokenImport object` - A group was deleted (RBAC admin or SCIM provisioning). + A user attempted to import a personal GitHub access token for use with Claude Code. The `result` field indicates the outcome of the import (imported, rejected, or failed). - - `type: optional "group_deleted"` + - `type: optional "github_token_import"` - default: group_deleted + default: github_token_import - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57395,9 +57541,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - Tagged ID of the deleted group + The outcome of the import. + + - `"failed_internal"` + + - `"imported"` + + - `"rejected_feature_disabled"` + + - `"rejected_invalid_credential"` + + - `"rejected_missing_repo_scope"` + + - `"rejected_tenant_not_ready"` + + - `"rejected_zdr_policy"` + + - `"unspecified"` + + - `source: string` + + How the token was imported. - `id: optional string` @@ -57409,6 +57575,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `github_username: optional string or null` + + The GitHub username the imported token authenticates as, when known. + + - `granted_scopes: optional string or null` + + The scopes granted to the imported token, when available. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57417,13 +57591,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupListViewed object` + - `token_fingerprint_sha256: optional string or null` - Admin viewed the list of RBAC groups. + Not populated. - - `type: optional "group_list_viewed"` + - `GitlabConfigurationCreated object` - default: group_list_viewed + An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + + - `type: optional "gitlab_configuration_created"` + + default: gitlab_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57631,6 +57809,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `gitlab_configuration_id: string` + + ID of the GitLab configuration + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -57641,6 +57823,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `display_name: optional string or null` + + Display name given to the configuration + + - `hostname: optional string or null` + + Hostname of the GitLab instance + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57649,13 +57839,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberAdded object` + - `port: optional number or null` - One or more members were added to a group. + Custom port, if not the HTTPS default - - `type: optional "group_member_added"` + - `GitlabConfigurationDeleted object` - default: group_member_added + An organization admin deleted a self-managed GitLab configuration. + + - `type: optional "gitlab_configuration_deleted"` + + default: gitlab_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57863,9 +58057,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the group + ID of the GitLab configuration - `id: optional string` @@ -57877,9 +58071,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `display_name: optional string or null` - Tagged IDs of the members added: user IDs, or service account IDs (svac_...) when a service account was added + Display name the configuration had when deleted + + - `hostname: optional string or null` + + Hostname of the GitLab instance - `organization_id: optional string or null` @@ -57889,13 +58087,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberAdditionFailed object` + - `port: optional number or null` - A request to add members to a group failed. Some of the requested members may have been added before the failure. + Custom port, if not the HTTPS default - - `type: optional "group_member_addition_failed"` + - `GitlabConfigurationUpdated object` - default: group_member_addition_failed + An organization admin updated a self-managed GitLab configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + + - `type: optional "gitlab_configuration_updated"` + + default: gitlab_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58103,23 +58305,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the group + ID of the GitLab configuration - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_token_updated: optional boolean or null` + + Whether the access token was replaced in this update + - `created_at: optional string` When this activity occurred. format: date-time - - `member_ids: optional array of string` + - `custom_ca_certificate_updated: optional boolean or null` - Tagged IDs of the members the request attempted to add + Whether the custom CA certificate was replaced in this update + + - `display_name: optional string or null` + + New display name, when it changed + + - `hostname: optional string or null` + + Hostname of the GitLab instance (immutable; included for context) + + - `is_active: optional boolean or null` + + New active state, when it changed - `organization_id: optional string or null` @@ -58129,13 +58347,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberListViewed object` + - `port: optional number or null` - Admin viewed the members of an RBAC group. + New port, when it changed - - `type: optional "group_member_list_viewed"` + - `previous_display_name: optional string or null` - default: group_member_list_viewed + Display name before the change, when it changed + + - `previous_is_active: optional boolean or null` + + Active state before the change, when it changed + + - `previous_port: optional number or null` + + Port before the change, when it changed + + - `ClaudeGdriveIntegrationCreated object` + + A Google Drive integration was enabled for the organization. + + - `type: optional "claude_gdrive_integration_created"` + + default: claude_gdrive_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58343,20 +58577,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time + - `folder_id: optional string or null` + + Identifier of the Google Drive folder the integration is connected to, when known. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -58365,13 +58615,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberRemovalFailed object` + - `ClaudeGdriveIntegrationDeleted object` - A request to remove members from a group failed. Some of the requested members may have been removed before the failure. + A Google Drive integration was disabled for the organization. - - `type: optional "group_member_removal_failed"` + - `type: optional "claude_gdrive_integration_deleted"` - default: group_member_removal_failed + default: claude_gdrive_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58579,9 +58829,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -58593,9 +58843,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `folder_id: optional string or null` - Tagged IDs of the members the request attempted to remove. These are always recorded as user IDs, since whether a member was a service account is only established once its removal succeeds + Identifier of the Google Drive folder the integration was connected to, when known. - `organization_id: optional string or null` @@ -58605,13 +58855,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberRemoved object` + - `ClaudeGdriveIntegrationUpdated object` - One or more members were removed from a group. + A Google Drive integration's configuration was updated. - - `type: optional "group_member_removed"` + - `type: optional "claude_gdrive_integration_updated"` - default: group_member_removed + default: claude_gdrive_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58819,9 +59069,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -58833,9 +59083,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `folder_id: optional string or null` - Tagged IDs of the members removed: user IDs, or service account IDs (svac_...) when a service account was removed. A requested member that was not in the group is listed as a user ID + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -58845,13 +59095,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupProjectSharesRevoked object` + - `GroupCreated object` - An RBAC group's project shares in one organization were revoked in bulk. + A group was created (RBAC admin or SCIM provisioning). - - `type: optional "group_project_shares_revoked"` + - `type: optional "group_created"` - default: group_project_shares_revoked + default: group_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59061,20 +59311,16 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose project shares were revoked. + Tagged ID of the created group - - `revoked_count: number` + - `group_name: string` - Number of distinct projects whose share with this group was revoked. + Name of the created group - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_ids: optional array of string` - - Tagged IDs of the projects whose share with this group was revoked. - - `created_at: optional string` When this activity occurred. @@ -59089,13 +59335,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupSkillSharesRevoked object` + - `GroupDeleted object` - An RBAC group's skill shares in one organization were revoked in bulk. + A group was deleted (RBAC admin or SCIM provisioning). - - `type: optional "group_skill_shares_revoked"` + - `type: optional "group_deleted"` - default: group_skill_shares_revoked + default: group_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59305,11 +59551,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose skill shares were revoked. - - - `revoked_count: number` - - Number of distinct skills and plugins whose share with this group was revoked: the combined size of `skill_ids` and `plugin_ids`. + Tagged ID of the deleted group - `id: optional string` @@ -59329,21 +59571,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_ids: optional array of string` - - Tagged IDs of the plugins whose share with this group was revoked. - - - `skill_ids: optional array of string` - - Tagged IDs of the skills whose share with this group was revoked. - - - `GroupUpdated object` + - `GroupListViewed object` - A group was updated (RBAC admin or SCIM provisioning). + Admin viewed the list of RBAC groups. - - `type: optional "group_updated"` + - `type: optional "group_list_viewed"` - default: group_updated + default: group_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59551,10 +59785,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the updated group - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -59573,13 +59803,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupViewed object` + - `GroupMemberAdded object` - A group was viewed. + One or more members were added to a group. - - `type: optional "group_viewed"` + - `type: optional "group_member_added"` - default: group_viewed + default: group_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59789,7 +60019,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the viewed group + Tagged ID of the group - `id: optional string` @@ -59801,6 +60031,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members added: user IDs, or service account IDs (svac_...) when a service account was added + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -59809,13 +60043,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupVisibilityUpdated object` + - `GroupMemberAdditionFailed object` - An RBAC group's visibility policy was updated. + A request to add members to a group failed. Some of the requested members may have been added before the failure. - - `type: optional "group_visibility_updated"` + - `type: optional "group_member_addition_failed"` - default: group_visibility_updated + default: group_member_addition_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60025,7 +60259,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose visibility policy was updated. + Tagged ID of the group - `id: optional string` @@ -60037,6 +60271,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members the request attempted to add + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60045,69 +60283,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `policies: optional array of object` - - The group's visibility policy after this update. - - - `audience: "everyone" or "members" or "none" or "unspecified"` - - The audience granted this visibility facet. - - - `"everyone"` - - - `"members"` - - - `"none"` - - - `"unspecified"` - - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` - - The visibility facet this entry grants. - - - `"discover"` - - - `"share_with"` - - - `"unspecified"` - - - `"view_members"` - - - `previous_policies: optional array of object` - - The group's visibility policy before this update. - - - `audience: "everyone" or "members" or "none" or "unspecified"` - - The audience granted this visibility facet. - - - `"everyone"` - - - `"members"` - - - `"none"` - - - `"unspecified"` - - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` - - The visibility facet this entry grants. - - - `"discover"` - - - `"share_with"` - - - `"unspecified"` - - - `"view_members"` - - - `InferenceHooksCircuitBreakerTripped object` + - `GroupMemberListViewed object` - The organization's Inference hooks circuit breaker tripped automatically: calls to the organization's Inference hooks endpoint crossed a failure threshold, and inspection was suspended to protect live traffic. While tripped, requests are handled according to the organization's failure handling setting — allowed through uninspected (fail open) or rejected (fail closed) — and no per-request Inference hooks activities are recorded. Inspection turns back on by itself once the organization's Inference hooks endpoint returns a valid allow or deny answer to Anthropic's test request again, at least 10 minutes after the trip. An administrator can also end the tripped state by re-enabling Inference hooks inspection. If an administrator saves the Inference hooks settings after the trip (even without changing anything) or generates a new signing secret, inspection no longer turns back on by itself and stays off until an administrator re-enables it. + Admin viewed the members of an RBAC group. - - `type: optional "inference_hooks_circuit_breaker_tripped"` + - `type: optional "group_member_list_viewed"` - default: inference_hooks_circuit_breaker_tripped + default: group_member_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60315,13 +60497,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `fail_mode: string` - - The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). - - - `trigger_reason: string` + - `group_id: string` - The kind of failure that crossed the threshold. Currently always "webhook_error": repeated failures of calls to the organization's Inference hooks endpoint. + Tagged ID of the group - `id: optional string` @@ -60341,17 +60519,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `surface: optional string or null` - - The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - - `InferenceHooksRequestDenied object` + - `GroupMemberRemovalFailed object` - Inference hooks inspection denied a request. The request was blocked. + A request to remove members from a group failed. Some of the requested members may have been removed before the failure. - - `type: optional "inference_hooks_request_denied"` + - `type: optional "group_member_removal_failed"` - default: inference_hooks_request_denied + default: group_member_removal_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60559,13 +60733,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `group_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the group - - `conversation_id: optional string or null` + - `id: optional string` - The conversation the denied request belonged to, when available. The identifier format depends on `surface`. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -60573,9 +60747,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `event: optional string or null` + - `member_ids: optional array of string` - Which hook event the Inference hooks endpoint denied, the same value it received as `type`: "prompt" (the request's prompt, inspected before the model ran) or "tool_call" (the tool calls in a model response, inspected before any of them ran). Absent means "prompt". + Tagged IDs of the members the request attempted to remove. These are always recorded as user IDs, since whether a member was a service account is only established once its removal succeeds - `organization_id: optional string or null` @@ -60585,25 +60759,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reference_id: optional string or null` - - The Inference hooks endpoint's own identifier for this scan, when it returned one — lets this denial be matched to the corresponding record in the inspection provider's console. - - - `request_id: optional string or null` - - Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. - - - `surface: optional string or null` - - The product surface the request came from, e.g. "claude-ai" or "claude-code". - - - `InferenceHooksRequestFailedOpen object` + - `GroupMemberRemoved object` - A request proceeded without Inference hooks inspection because a verdict could not be obtained and the organization's Inference hooks configuration is set to fail open. + One or more members were removed from a group. - - `type: optional "inference_hooks_request_failed_open"` + - `type: optional "group_member_removed"` - default: inference_hooks_request_failed_open + default: group_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60811,32 +60973,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - - Why Inference hooks inspection did not return a verdict. - - - `"endpoint_error"` - - - `"endpoint_timeout"` - - - `"internal_error"` + - `group_id: string` - - `"unspecified"` + Tagged ID of the group - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `conversation_id: optional string or null` - - The conversation the request belonged to, when available. The identifier format depends on `surface`. - - `created_at: optional string` When this activity occurred. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members removed: user IDs, or service account IDs (svac_...) when a service account was removed. A requested member that was not in the group is listed as a user ID + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60845,21 +60999,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_id: optional string or null` - - Anthropic's identifier for the request that proceeded uninspected. When a call to the Inference hooks endpoint was made for this request, it carried this value as `request_id`. - - - `surface: optional string or null` - - The product surface the request came from, e.g. "claude-ai" or "claude-code". - - - `IntegrationUserConnected object` + - `GroupProjectSharesRevoked object` - User connected to an integration. + An RBAC group's project shares in one organization were revoked in bulk. - - `type: optional "integration_user_connected"` + - `type: optional "group_project_shares_revoked"` - default: integration_user_connected + default: group_project_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61067,27 +61213,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `group_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the group whose project shares were revoked. - - `created_at: optional string` + - `revoked_count: number` - When this activity occurred. + Number of distinct projects whose share with this group was revoked. - format: date-time + - `id: optional string` - - `integration_type: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - The kind of integration the user connected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + - `claude_project_ids: optional array of string` - - `mcp_server_id: optional string or null` + Tagged IDs of the projects whose share with this group was revoked. - ID of the connected remote MCP server, when the integration is a remote MCP server. + - `created_at: optional string` - - `mcp_server_name: optional string or null` + When this activity occurred. - Display name of the connected remote MCP server, when the integration is a remote MCP server. + format: date-time - `organization_id: optional string or null` @@ -61097,17 +61243,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `token_vault_connect_mode: optional string or null` - - How a token vault credential sign-in was completed: "authorization_server" for a sign-in at an administrator-provided authorization server, or "mcp_server" for a sign-in at a tool server the organization has not registered as a connector. - - - `IntegrationUserDisconnected object` + - `GroupSkillSharesRevoked object` - User disconnected from an integration. + An RBAC group's skill shares in one organization were revoked in bulk. - - `type: optional "integration_user_disconnected"` + - `type: optional "group_skill_shares_revoked"` - default: integration_user_disconnected + default: group_skill_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61315,6 +61457,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group whose skill shares were revoked. + + - `revoked_count: number` + + Number of distinct skills and plugins whose share with this group was revoked: the combined size of `skill_ids` and `plugin_ids`. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61325,18 +61475,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `integration_type: optional string or null` - - The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. - - - `mcp_server_id: optional string or null` - - ID of the disconnected remote MCP server, when the integration is a remote MCP server. - - - `mcp_server_name: optional string or null` - - Display name of the disconnected remote MCP server, when the integration is a remote MCP server. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -61345,13 +61483,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InvoiceCollectionMethodUpdated object` + - `plugin_ids: optional array of string` - Invoice collection method was changed. + Tagged IDs of the plugins whose share with this group was revoked. - - `type: optional "invoice_collection_method_updated"` + - `skill_ids: optional array of string` - default: invoice_collection_method_updated + Tagged IDs of the skills whose share with this group was revoked. + + - `GroupUpdated object` + + A group was updated (RBAC admin or SCIM provisioning). + + - `type: optional "group_updated"` + + default: group_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61559,6 +61705,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the updated group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61569,10 +61719,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_collection_method: optional string or null` - - New collection method (e.g. charge_automatically, send_invoice). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -61581,13 +61727,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `UserLoggedOut object` + - `GroupViewed object` - A user signed out of one or all sessions. + A group was viewed. - - `type: optional "user_logged_out"` + - `type: optional "group_viewed"` - default: user_logged_out + default: group_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61795,6 +61941,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the viewed group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61813,13 +61963,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiLaunchInitiated object` + - `GroupVisibilityUpdated object` - LTI launch was initiated. + An RBAC group's visibility policy was updated. - - `type: optional "lti_launch_initiated"` + - `type: optional "group_visibility_updated"` - default: lti_launch_initiated + default: group_visibility_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62027,6 +62177,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group whose visibility policy was updated. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62045,13 +62199,69 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiLaunchSuccess object` + - `policies: optional array of object` - LTI launch completed successfully. + The group's visibility policy after this update. - - `type: optional "lti_launch_success"` + - `audience: "everyone" or "members" or "none" or "unspecified"` - default: lti_launch_success + The audience granted this visibility facet. + + - `"everyone"` + + - `"members"` + + - `"none"` + + - `"unspecified"` + + - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + + The visibility facet this entry grants. + + - `"discover"` + + - `"share_with"` + + - `"unspecified"` + + - `"view_members"` + + - `previous_policies: optional array of object` + + The group's visibility policy before this update. + + - `audience: "everyone" or "members" or "none" or "unspecified"` + + The audience granted this visibility facet. + + - `"everyone"` + + - `"members"` + + - `"none"` + + - `"unspecified"` + + - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + + The visibility facet this entry grants. + + - `"discover"` + + - `"share_with"` + + - `"unspecified"` + + - `"view_members"` + + - `InferenceHooksCircuitBreakerTripped object` + + The organization's Inference hooks circuit breaker tripped automatically: calls to the organization's Inference hooks endpoint crossed a failure threshold, and inspection was suspended to protect live traffic. While tripped, requests are handled according to the organization's failure handling setting — allowed through uninspected (fail open) or rejected (fail closed) — and no per-request Inference hooks activities are recorded. Inspection turns back on by itself once the organization's Inference hooks endpoint returns a valid allow or deny answer to Anthropic's test request again, at least 10 minutes after the trip. An administrator can also end the tripped state by re-enabling Inference hooks inspection. If an administrator saves the Inference hooks settings after the trip (even without changing anything) or generates a new signing secret, inspection no longer turns back on by itself and stays off until an administrator re-enables it. + + - `type: optional "inference_hooks_circuit_breaker_tripped"` + + default: inference_hooks_circuit_breaker_tripped - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62259,6 +62469,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `fail_mode: string` + + The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). + + - `trigger_reason: string` + + The kind of failure that crossed the threshold. Currently always "webhook_error": repeated failures of calls to the organization's Inference hooks endpoint. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62277,13 +62495,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiPlatformCreated object` + - `surface: optional string or null` - Anthropic staff created an LTI platform integration on behalf of an org. + The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - `type: optional "lti_platform_created"` + - `InferenceHooksRequestDenied object` - default: lti_platform_created + Inference hooks inspection denied a request. The request was blocked. + + - `type: optional "inference_hooks_request_denied"` + + default: inference_hooks_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62491,24 +62713,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` - - UUID of the LTI platform - - - `lti_platform_issuer: string` - - Platform issuer URL - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `conversation_id: optional string or null` + + The conversation the denied request belonged to, when available. The identifier format depends on `surface`. + - `created_at: optional string` When this activity occurred. format: date-time + - `event: optional string or null` + + Which hook event the Inference hooks endpoint denied, the same value it received as `type`: "prompt" (the request's prompt, inspected before the model ran) or "tool_call" (the tool calls in a model response, inspected before any of them ran). Absent means "prompt". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62517,13 +62739,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiPlatformUpdated object` + - `reference_id: optional string or null` - Anthropic staff updated an LTI platform integration on behalf of an org. + The Inference hooks endpoint's own identifier for this scan, when it returned one — lets this denial be matched to the corresponding record in the inspection provider's console. - - `type: optional "lti_platform_updated"` + - `request_id: optional string or null` - default: lti_platform_updated + Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. + + - `surface: optional string or null` + + The product surface the request came from, e.g. "claude-ai" or "claude-code". + + - `InferenceHooksRequestFailedOpen object` + + A request proceeded without Inference hooks inspection because a verdict could not be obtained and the organization's Inference hooks configuration is set to fail open. + + - `type: optional "inference_hooks_request_failed_open"` + + default: inference_hooks_request_failed_open - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62731,24 +62965,32 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` + - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - UUID of the LTI platform + Why Inference hooks inspection did not return a verdict. + + - `"endpoint_error"` + + - `"endpoint_timeout"` + + - `"internal_error"` + + - `"unspecified"` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `conversation_id: optional string or null` + + The conversation the request belonged to, when available. The identifier format depends on `surface`. + - `created_at: optional string` When this activity occurred. format: date-time - - `lti_platform_issuer: optional string or null` - - Platform issuer URL - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62757,13 +62999,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginFailed object` + - `request_id: optional string or null` - A magic link sign-in attempt failed. + Anthropic's identifier for the request that proceeded uninspected. When a call to the Inference hooks endpoint was made for this request, it carried this value as `request_id`. - - `type: optional "magic_link_login_failed"` + - `surface: optional string or null` - default: magic_link_login_failed + The product surface the request came from, e.g. "claude-ai" or "claude-code". + + - `IntegrationUserConnected object` + + User connected to an integration. + + - `type: optional "integration_user_connected"` + + default: integration_user_connected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62981,6 +63231,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `integration_type: optional string or null` + + The kind of integration the user connected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + + - `mcp_server_id: optional string or null` + + ID of the connected remote MCP server, when the integration is a remote MCP server. + + - `mcp_server_name: optional string or null` + + Display name of the connected remote MCP server, when the integration is a remote MCP server. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62989,13 +63251,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginInitiated object` + - `token_vault_connect_mode: optional string or null` - A user requested a magic link sign-in email. + How a token vault credential sign-in was completed: "authorization_server" for a sign-in at an administrator-provided authorization server, or "mcp_server" for a sign-in at a tool server the organization has not registered as a connector. - - `type: optional "magic_link_login_initiated"` + - `IntegrationUserDisconnected object` - default: magic_link_login_initiated + User disconnected from an integration. + + - `type: optional "integration_user_disconnected"` + + default: integration_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63213,6 +63479,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `integration_type: optional string or null` + + The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + + - `mcp_server_id: optional string or null` + + ID of the disconnected remote MCP server, when the integration is a remote MCP server. + + - `mcp_server_name: optional string or null` + + Display name of the disconnected remote MCP server, when the integration is a remote MCP server. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -63221,13 +63499,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginSucceeded object` + - `InvoiceCollectionMethodUpdated object` - A user successfully signed in with a magic link email. + Invoice collection method was changed. - - `type: optional "magic_link_login_succeeded"` + - `type: optional "invoice_collection_method_updated"` - default: magic_link_login_succeeded + default: invoice_collection_method_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63439,27 +63717,15 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `auth_method: optional "magic_link" or "unspecified" or null` - - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - - `"magic_link"` - - - `"unspecified"` - - `created_at: optional string` When this activity occurred. format: date-time - - `mfa_method: optional "not_used" or "unspecified" or null` - - The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. - - - `"not_used"` + - `new_collection_method: optional string or null` - - `"unspecified"` + New collection method (e.g. charge_automatically, send_invoice). - `organization_id: optional string or null` @@ -63469,13 +63735,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ManagedOrganizationSetupCompleted object` + - `UserLoggedOut object` - Managed (AWS Marketplace) organization setup was completed. + A user signed out of one or all sessions. - - `type: optional "managed_organization_setup_completed"` + - `type: optional "user_logged_out"` - default: managed_organization_setup_completed + default: user_logged_out - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63701,13 +63967,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceCreated object` + - `LtiLaunchInitiated object` - Admin created an organization marketplace. + LTI launch was initiated. - - `type: optional "marketplace_created"` + - `type: optional "lti_launch_initiated"` - default: marketplace_created + default: lti_launch_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63915,36 +64181,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `default_installation_preference: optional string or null` - - Default installation preference the marketplace was created with, applied to its plugins that have no preference of their own (required, auto_install, available or not_available); absent when none was set - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -63953,13 +64199,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceDeleted object` + - `LtiLaunchSuccess object` - Admin deleted an organization marketplace. + LTI launch completed successfully. - - `type: optional "marketplace_deleted"` + - `type: optional "lti_launch_success"` - default: marketplace_deleted + default: lti_launch_success - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64167,10 +64413,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -64189,13 +64431,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceUpdated object` + - `LtiPlatformCreated object` - Admin updated an organization marketplace. + Anthropic staff created an LTI platform integration on behalf of an org. - - `type: optional "marketplace_updated"` + - `type: optional "lti_platform_created"` - default: marketplace_updated + default: lti_platform_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64403,25 +64645,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `attestations: optional array of object` + - `lti_platform_id: string` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + UUID of the LTI platform - - `type: string` + - `lti_platform_issuer: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + Platform issuer URL - - `content_hash: string` + - `id: optional string` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -64437,33 +64671,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - - `type: "default_installation_preference" or "unspecified"` - - The marketplace setting that changed - - - `"default_installation_preference"` - - - `"unspecified"` - - - `current_value: string` - - Setting value immediately after this change; empty when the setting is no longer set - - - `previous_value: string` - - Setting value immediately before this change; empty when the setting was not set - - - `MarketplaceWebhookDeleted object` + - `LtiPlatformUpdated object` - Admin removed the GitHub push webhook for a marketplace. + Anthropic staff updated an LTI platform integration on behalf of an org. - - `type: optional "marketplace_webhook_deleted"` + - `type: optional "lti_platform_updated"` - default: marketplace_webhook_deleted + default: lti_platform_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64671,9 +64885,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `lti_platform_id: string` - Tagged ID of the marketplace + UUID of the LTI platform - `id: optional string` @@ -64685,6 +64899,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `lti_platform_issuer: optional string or null` + + Platform issuer URL + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -64693,13 +64911,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceWebhookProvisioned object` + - `MagicLinkLoginFailed object` - Admin provisioned a GitHub push webhook for a marketplace. + A magic link sign-in attempt failed. - - `type: optional "marketplace_webhook_provisioned"` + - `type: optional "magic_link_login_failed"` - default: marketplace_webhook_provisioned + default: magic_link_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64907,10 +65125,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -64921,10 +65135,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_webhook_id: optional number or null` - - GitHub-assigned webhook ID returned by the hooks API - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -64933,13 +65143,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpDirectoryServerPublished object` + - `MagicLinkLoginInitiated object` - The organization published its approved MCP directory listing. + A user requested a magic link sign-in email. - - `type: optional "mcp_directory_server_published"` + - `type: optional "magic_link_login_initiated"` - default: mcp_directory_server_published + default: magic_link_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65147,14 +65357,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_directory_server_id: string` - - Tagged ID of the MCP directory listing - - - `mcp_directory_server_name: string` - - Display name of the MCP directory listing - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -65173,13 +65375,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerCreated object` + - `MagicLinkLoginSucceeded object` - An MCP server was added to the organization. + A user successfully signed in with a magic link email. - - `type: optional "mcp_server_created"` + - `type: optional "magic_link_login_succeeded"` - default: mcp_server_created + default: magic_link_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65387,29 +65589,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` + - `auth_method: optional "magic_link" or "unspecified" or null` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - `content_hash: string` + - `"magic_link"` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `"unspecified"` - `created_at: optional string` @@ -65417,6 +65607,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `mfa_method: optional "not_used" or "unspecified" or null` + + The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. + + - `"not_used"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -65425,13 +65623,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerDeleted object` + - `ManagedOrganizationSetupCompleted object` - An MCP server was removed from the organization. + Managed (AWS Marketplace) organization setup was completed. - - `type: optional "mcp_server_deleted"` + - `type: optional "managed_organization_setup_completed"` - default: mcp_server_deleted + default: managed_organization_setup_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65639,14 +65837,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -65665,13 +65855,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerManagedAuthTokenExchanged object` + - `MarketplaceCreated object` - A user attempted to obtain an access token for an MCP server via enterprise managed authorization. This event reports the outcomes of attempted token exchanges. Repeated failures with the same cause may be reported once until the cause changes, and requests refused before a token exchange is attempted are not reported, except the "connector_scope_not_granted" and "identity_assertion_refused" failures described under error_type. + Admin created an organization marketplace. - - `type: optional "mcp_server_managed_auth_token_exchanged"` + - `type: optional "marketplace_created"` - default: mcp_server_managed_auth_token_exchanged + default: marketplace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65879,29 +66069,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `managed_auth_mode: string` - - The managed-authorization mode used for the exchange ("claude" or "sso"). - - - `mcp_server_id: string` + - `marketplace_id: string` - The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `assertion_jti: optional string or null` + - `attestations: optional array of object` - The JWT ID of the identity assertion presented to the authorization server, when one was minted, for cross-reference with the identity provider's own logs. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `authorization_server_issuer: optional string or null` + - `type: string` - The issuer identifier of the authorization server the exchange was attempted against. + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `correlation_id: optional string or null` + - `content_hash: string` - An opaque identifier customers can quote when contacting Anthropic support about this exchange. + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -65909,17 +66095,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `error_subtype: optional string or null` - - A more specific classification of the failure, when available. For authorization-server rejections this is the OAuth error code the server returned (for example "invalid_grant"); for identity-provider rejections this is the error code the identity provider returned; for refused identity assertions this is a short reason code such as "not_org_member" (the user's membership in the organization could not be confirmed). Values may be added over time; treat an unrecognized value as a generic failure. - - - `error_type: optional string or null` - - A short classification of why the exchange failed, when outcome is "failure". Values include "authorization_server_rejected", "authorization_server_unavailable", "identity_provider_rejected", "sso_session_invalid", "sso_connection_unsupported", "connector_scope_not_granted" and "identity_assertion_refused". The last two are refusals made before a token exchange was attempted: "connector_scope_not_granted" means the organization's role configuration grants no scopes on this connector; "identity_assertion_refused" means no identity assertion could be issued for this user and server (for example, the user's membership in the organization could not be confirmed), and is reported when access the user already had could not be renewed and, depending on the reason, when first connecting; error_subtype names the reason. Values may be added over time; treat an unrecognized value as a generic failure. - - - `mcp_server_name: optional string or null` + - `default_installation_preference: optional string or null` - The MCP server's display name at the time of the exchange, when available. + Default installation preference the marketplace was created with, applied to its plugins that have no preference of their own (required, auto_install, available or not_available); absent when none was set - `organization_id: optional string or null` @@ -65929,17 +66107,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `outcome: optional string or null` - - Whether the token exchange succeeded ("success") or was rejected ("failure"). - - - `McpServerManagedAuthUpdated object` + - `MarketplaceDeleted object` - An MCP server's enterprise managed authorization settings were set, changed, or cleared, including when they were supplied while the server was being added or edited. Fields without a "previous_" prefix describe the settings after the change and are null when the server has no managed authorization settings afterwards; "previous_" fields describe the settings before the change and are null when the server had none before (always the case for a newly added server). + Admin deleted an organization marketplace. - - `type: optional "mcp_server_managed_auth_updated"` + - `type: optional "marketplace_deleted"` - default: mcp_server_managed_auth_updated + default: marketplace_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66147,48 +66321,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` + - `marketplace_id: string` - Display name of the MCP server + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `allowed_scopes: optional string or null` - - The OAuth scopes managed authorization may request for the server after the change, as a space-delimited list. Null when no scope restriction is configured (or the server has no managed authorization settings); an empty string when the restriction permits no scopes. - - - `built_in_roles_included: optional boolean or null` - - Whether, after the change, managed authorization extends to members who hold one of the organization's built-in roles (such as User, Admin, or Owner) rather than a custom role, in addition to members whose custom role grants it. This describes whom managed authorization reaches and is reported on every change, independent of how built-in role access is configured. - - `created_at: optional string` When this activity occurred. format: date-time - - `individual_auth_enabled: optional boolean or null` - - Whether members may authorize the server individually, through their own sign-in and consent, after the change. - - - `managed_auth_enabled: optional boolean or null` - - Whether managed authorization is enabled for the server after the change, so that members whose role permits it are authorized through the organization's identity provider. - - - `managed_auth_mode: optional string or null` - - The managed-authorization mode after the change ("claude" or "sso"): how the identity assertion presented on members' behalf is issued. Recorded whenever managed authorization settings exist, whether or not managed authorization is enabled; null when the server has no managed authorization settings after the change. - - - `mcp_server_url: optional string or null` - - Origin (scheme, host and port, the default port omitted) of the MCP server at the time of the change; the path is never included. Null when not available, and on activities recorded before this field was limited to the origin. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -66197,29 +66343,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_allowed_scopes: optional string or null` - - The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - - `previous_built_in_roles_included: optional boolean or null` - - Whether managed authorization extended to members holding one of the organization's built-in roles before the change. - - - `previous_individual_auth_enabled: optional boolean or null` - - Whether members could authorize the server individually before the change. - - - `previous_managed_auth_enabled: optional boolean or null` - - Whether managed authorization was enabled for the server before the change. - - - `McpServerUpdated object` + - `MarketplaceUpdated object` - An MCP server's configuration was updated. + Admin updated an organization marketplace. - - `type: optional "mcp_server_updated"` + - `type: optional "marketplace_updated"` - default: mcp_server_updated + default: marketplace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66427,13 +66557,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` + - `marketplace_id: string` - Display name of the MCP server + Tagged ID of the marketplace - `id: optional string` @@ -66465,13 +66591,33 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpToolPolicyUpdated object` + - `updates: optional array of object` - The permission restriction for an MCP tool was set or cleared. + The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - `type: optional "mcp_tool_policy_updated"` + - `type: "default_installation_preference" or "unspecified"` - default: mcp_tool_policy_updated + The marketplace setting that changed + + - `"default_installation_preference"` + + - `"unspecified"` + + - `current_value: string` + + Setting value immediately after this change; empty when the setting is no longer set + + - `previous_value: string` + + Setting value immediately before this change; empty when the setting was not set + + - `MarketplaceWebhookDeleted object` + + Admin removed the GitHub push webhook for a marketplace. + + - `type: optional "marketplace_webhook_deleted"` + + default: marketplace_webhook_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66679,52 +66825,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - - `tool_name: string` + - `marketplace_id: string` - Tool name (or '*' for the MCP-server-wide default) + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `action: optional "reenabled" or "unspecified" or null` - - "reenabled" when the change lifted the organization-wide block on the server (the block a HIPAA configuration places); unset for any other restriction change. - - - `"reenabled"` - - - `"unspecified"` - - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none (a server that already carries one is not asked again). - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `max_permission: optional string or null` - - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -66733,13 +66847,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgAnalyticsAPICapabilityUpdated object` + - `MarketplaceWebhookProvisioned object` - Organization analytics_api capability was enabled or disabled. + Admin provisioned a GitHub push webhook for a marketplace. - - `type: optional "org_analytics_api_capability_updated"` + - `type: optional "marketplace_webhook_provisioned"` - default: org_analytics_api_capability_updated + default: marketplace_webhook_provisioned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66947,6 +67061,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `marketplace_id: string` + + Tagged ID of the marketplace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -66957,9 +67075,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `github_webhook_id: optional number or null` - Whether the analytics API capability is enabled immediately after this change + GitHub-assigned webhook ID returned by the hooks API - `organization_id: optional string or null` @@ -66969,17 +67087,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Whether the analytics API capability was enabled immediately before this change - - - `OrgBulkDeleteInitiated object` + - `McpDirectoryServerPublished object` - Organization bulk deletion was initiated. + The organization published its approved MCP directory listing. - - `type: optional "org_bulk_delete_initiated"` + - `type: optional "mcp_directory_server_published"` - default: org_bulk_delete_initiated + default: mcp_directory_server_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67187,6 +67301,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_directory_server_id: string` + + Tagged ID of the MCP directory listing + + - `mcp_directory_server_name: string` + + Display name of the MCP directory listing + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -67205,13 +67327,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCapabilityGrantAdded object` + - `McpServerCreated object` - A capability grant was added to a workspace or role. + An MCP server was added to the organization. - - `type: optional "org_capability_grant_added"` + - `type: optional "mcp_server_created"` - default: org_capability_grant_added + default: mcp_server_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67419,27 +67541,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `grant_type: string` + - `mcp_server_id: string` - The type of capability grant that was added. + Tagged ID of the MCP server - - `principal_id: string` + - `mcp_server_name: string` - Tagged ID of the principal the grant was added to. + Display name of the MCP server - - `principal_type: "rbac_role" or "unspecified" or "workspace"` + - `id: optional string` - The kind of principal the grant was added to. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"rbac_role"` + - `attestations: optional array of object` - - `"unspecified"` + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `"workspace"` + - `type: string` - - `id: optional string` + Attestation type, such as "safe_for_phi" (may be used with protected health information). - Unique identifier for the activity e.g. 'activity_abcd1234' + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -67455,13 +67579,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCapabilityGrantRemoved object` + - `McpServerDeleted object` - A capability grant was removed from a workspace or role. + An MCP server was removed from the organization. - - `type: optional "org_capability_grant_removed"` + - `type: optional "mcp_server_deleted"` - default: org_capability_grant_removed + default: mcp_server_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67669,23 +67793,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `grant_type: string` - - The type of capability grant that was removed. - - - `principal_id: string` - - Tagged ID of the principal the grant was removed from. - - - `principal_type: "rbac_role" or "unspecified" or "workspace"` - - The kind of principal the grant was removed from. + - `mcp_server_id: string` - - `"rbac_role"` + Tagged ID of the MCP server - - `"unspecified"` + - `mcp_server_name: string` - - `"workspace"` + Display name of the MCP server - `id: optional string` @@ -67705,13 +67819,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgChatCoworkUnifiedDisabled object` + - `McpServerManagedAuthTokenExchanged object` - The organization's setting for the unified Chat and Cowork experience was turned off. + A user attempted to obtain an access token for an MCP server via enterprise managed authorization. This event reports the outcomes of attempted token exchanges. Repeated failures with the same cause may be reported once until the cause changes, and requests refused before a token exchange is attempted are not reported, except the "connector_scope_not_granted" and "identity_assertion_refused" failures described under error_type. - - `type: optional "org_chat_cowork_unified_disabled"` + - `type: optional "mcp_server_managed_auth_token_exchanged"` - default: org_chat_cowork_unified_disabled + default: mcp_server_managed_auth_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67919,19 +68033,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `managed_auth_mode: string` + + The managed-authorization mode used for the exchange ("claude" or "sso"). + + - `mcp_server_id: string` + + The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `assertion_jti: optional string or null` + + The JWT ID of the identity assertion presented to the authorization server, when one was minted, for cross-reference with the identity provider's own logs. + + - `authorization_server_issuer: optional string or null` + + The issuer identifier of the authorization server the exchange was attempted against. + + - `correlation_id: optional string or null` + + An opaque identifier customers can quote when contacting Anthropic support about this exchange. + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `error_subtype: optional string or null` - Setting value immediately after this change + A more specific classification of the failure, when available. For authorization-server rejections this is the OAuth error code the server returned (for example "invalid_grant"); for identity-provider rejections this is the error code the identity provider returned; for refused identity assertions this is a short reason code such as "not_org_member" (the user's membership in the organization could not be confirmed). Values may be added over time; treat an unrecognized value as a generic failure. + + - `error_type: optional string or null` + + A short classification of why the exchange failed, when outcome is "failure". Values include "authorization_server_rejected", "authorization_server_unavailable", "identity_provider_rejected", "sso_session_invalid", "sso_connection_unsupported", "connector_scope_not_granted" and "identity_assertion_refused". The last two are refusals made before a token exchange was attempted: "connector_scope_not_granted" means the organization's role configuration grants no scopes on this connector; "identity_assertion_refused" means no identity assertion could be issued for this user and server (for example, the user's membership in the organization could not be confirmed), and is reported when access the user already had could not be renewed and, depending on the reason, when first connecting; error_subtype names the reason. Values may be added over time; treat an unrecognized value as a generic failure. + + - `mcp_server_name: optional string or null` + + The MCP server's display name at the time of the exchange, when available. - `organization_id: optional string or null` @@ -67941,17 +68083,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `outcome: optional string or null` - Setting value immediately before this change + Whether the token exchange succeeded ("success") or was rejected ("failure"). - - `OrgChatCoworkUnifiedEnabled object` + - `McpServerManagedAuthUpdated object` - The organization's setting for the unified Chat and Cowork experience was turned on. + An MCP server's enterprise managed authorization settings were set, changed, or cleared, including when they were supplied while the server was being added or edited. Fields without a "previous_" prefix describe the settings after the change and are null when the server has no managed authorization settings afterwards; "previous_" fields describe the settings before the change and are null when the server had none before (always the case for a newly added server). - - `type: optional "org_chat_cowork_unified_enabled"` + - `type: optional "mcp_server_managed_auth_updated"` - default: org_chat_cowork_unified_enabled + default: mcp_server_managed_auth_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68159,19 +68301,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `allowed_scopes: optional string or null` + + The OAuth scopes managed authorization may request for the server after the change, as a space-delimited list. Null when no scope restriction is configured (or the server has no managed authorization settings); an empty string when the restriction permits no scopes. + + - `built_in_roles_included: optional boolean or null` + + Whether, after the change, managed authorization extends to members who hold one of the organization's built-in roles (such as User, Admin, or Owner) rather than a custom role, in addition to members whose custom role grants it. This describes whom managed authorization reaches and is reported on every change, independent of how built-in role access is configured. + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `individual_auth_enabled: optional boolean or null` - Setting value immediately after this change + Whether members may authorize the server individually, through their own sign-in and consent, after the change. + + - `managed_auth_enabled: optional boolean or null` + + Whether managed authorization is enabled for the server after the change, so that members whose role permits it are authorized through the organization's identity provider. + + - `managed_auth_mode: optional string or null` + + The managed-authorization mode after the change ("claude" or "sso"): how the identity assertion presented on members' behalf is issued. Recorded whenever managed authorization settings exist, whether or not managed authorization is enabled; null when the server has no managed authorization settings after the change. + + - `mcp_server_url: optional string or null` + + Origin (scheme, host and port, the default port omitted) of the MCP server at the time of the change; the path is never included. Null when not available, and on activities recorded before this field was limited to the origin. - `organization_id: optional string or null` @@ -68181,17 +68351,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `previous_allowed_scopes: optional string or null` - Setting value immediately before this change + The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - `OrgClaudeCodeDataSharingDisabled object` + - `previous_built_in_roles_included: optional boolean or null` - Organization Claude Code data sharing was disabled. + Whether managed authorization extended to members holding one of the organization's built-in roles before the change. - - `type: optional "org_claude_code_data_sharing_disabled"` + - `previous_individual_auth_enabled: optional boolean or null` - default: org_claude_code_data_sharing_disabled + Whether members could authorize the server individually before the change. + + - `previous_managed_auth_enabled: optional boolean or null` + + Whether managed authorization was enabled for the server before the change. + + - `McpServerUpdated object` + + An MCP server's configuration was updated. + + - `type: optional "mcp_server_updated"` + + default: mcp_server_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68399,20 +68581,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -68421,17 +68619,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeDataSharingEnabled object` + - `McpToolPolicyUpdated object` - Organization Claude Code data sharing was enabled. + The permission restriction for an MCP tool was set or cleared. - - `type: optional "org_claude_code_data_sharing_enabled"` + - `type: optional "mcp_tool_policy_updated"` - default: org_claude_code_data_sharing_enabled + default: mcp_tool_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68639,19 +68833,51 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + + - `tool_name: string` + + Tool name (or '*' for the MCP-server-wide default) + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `action: optional "reenabled" or "unspecified" or null` + + "reenabled" when the change lifted the organization-wide block on the server (the block a HIPAA configuration places); unset for any other restriction change. + + - `"reenabled"` + + - `"unspecified"` + + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none (a server that already carries one is not asked again). + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `max_permission: optional string or null` - Setting value immediately after this change + New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - `organization_id: optional string or null` @@ -68661,17 +68887,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeDesktopDisabled object` + - `OrgAnalyticsAPICapabilityUpdated object` - Organization Claude Code Desktop was disabled. + Organization analytics_api capability was enabled or disabled. - - `type: optional "org_claude_code_desktop_disabled"` + - `type: optional "org_analytics_api_capability_updated"` - default: org_claude_code_desktop_disabled + default: org_analytics_api_capability_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68891,7 +69113,7 @@ compliance activities that can be filtered by various criteria. - `current_value: optional boolean or null` - Setting value immediately after this change + Whether the analytics API capability is enabled immediately after this change - `organization_id: optional string or null` @@ -68903,15 +69125,15 @@ compliance activities that can be filtered by various criteria. - `previous_value: optional boolean or null` - Setting value immediately before this change + Whether the analytics API capability was enabled immediately before this change - - `OrgClaudeCodeDesktopEnabled object` + - `OrgBulkDeleteInitiated object` - Organization Claude Code Desktop was enabled. + Organization bulk deletion was initiated. - - `type: optional "org_claude_code_desktop_enabled"` + - `type: optional "org_bulk_delete_initiated"` - default: org_claude_code_desktop_enabled + default: org_bulk_delete_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69129,10 +69351,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -69141,17 +69359,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeZeroDataRetentionDisabled object` + - `OrgCapabilityGrantAdded object` - A primary owner disabled zero data retention for Claude Code, so Claude Code content is retained according to the organization's data retention settings. + A capability grant was added to a workspace or role. - - `type: optional "org_claude_code_zero_data_retention_disabled"` + - `type: optional "org_capability_grant_added"` - default: org_claude_code_zero_data_retention_disabled + default: org_capability_grant_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69359,6 +69573,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `grant_type: string` + + The type of capability grant that was added. + + - `principal_id: string` + + Tagged ID of the principal the grant was added to. + + - `principal_type: "rbac_role" or "unspecified" or "workspace"` + + The kind of principal the grant was added to. + + - `"rbac_role"` + + - `"unspecified"` + + - `"workspace"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -69377,13 +69609,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgComplianceAPISettingsUpdated object` + - `OrgCapabilityGrantRemoved object` - Organization compliance API settings were updated. + A capability grant was removed from a workspace or role. - - `type: optional "org_compliance_api_settings_updated"` + - `type: optional "org_capability_grant_removed"` - default: org_compliance_api_settings_updated + default: org_capability_grant_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69591,17 +69823,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `grant_type: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The type of capability grant that was removed. - - `compliance_api_enabled: optional boolean or null` + - `principal_id: string` - Whether the compliance API is enabled for the organization after this change. + Tagged ID of the principal the grant was removed from. - - `compliance_api_logging_enabled: optional boolean or null` + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - Whether compliance activity logging is enabled for the organization after this change. + The kind of principal the grant was removed from. + + - `"rbac_role"` + + - `"unspecified"` + + - `"workspace"` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -69617,13 +69859,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgConnectorDomainGuardUpdated object` + - `OrgChatCoworkUnifiedDisabled object` - Enterprise admin changed whether connectors are restricted to verified domains. + The organization's setting for the unified Chat and Cowork experience was turned off. - - `type: optional "org_connector_domain_guard_updated"` + - `type: optional "org_chat_cowork_unified_disabled"` - default: org_connector_domain_guard_updated + default: org_chat_cowork_unified_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69831,8 +70073,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enforced: boolean` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -69843,6 +70083,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -69851,13 +70095,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkActWithoutAskingModeDisabled object` + - `previous_value: optional boolean or null` - The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. + Setting value immediately before this change - - `type: optional "org_cowork_act_without_asking_mode_disabled"` + - `OrgChatCoworkUnifiedEnabled object` - default: org_cowork_act_without_asking_mode_disabled + The organization's setting for the unified Chat and Cowork experience was turned on. + + - `type: optional "org_chat_cowork_unified_enabled"` + + default: org_chat_cowork_unified_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70075,6 +70323,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -70083,13 +70335,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkActWithoutAskingModeEnabled object` + - `previous_value: optional boolean or null` - The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. + Setting value immediately before this change - - `type: optional "org_cowork_act_without_asking_mode_enabled"` + - `OrgClaudeCodeDataSharingDisabled object` - default: org_cowork_act_without_asking_mode_enabled + Organization Claude Code data sharing was disabled. + + - `type: optional "org_claude_code_data_sharing_disabled"` + + default: org_claude_code_data_sharing_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70307,6 +70563,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -70315,13 +70575,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkAgentDisabled object` + - `previous_value: optional boolean or null` - Organization Cowork Agent was disabled. + Setting value immediately before this change - - `type: optional "org_cowork_agent_disabled"` + - `OrgClaudeCodeDataSharingEnabled object` - default: org_cowork_agent_disabled + Organization Claude Code data sharing was enabled. + + - `type: optional "org_claude_code_data_sharing_enabled"` + + default: org_claude_code_data_sharing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70555,13 +70819,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAgentEnabled object` + - `OrgClaudeCodeDesktopDisabled object` - Organization Cowork Agent was enabled. + Organization Claude Code Desktop was disabled. - - `type: optional "org_cowork_agent_enabled"` + - `type: optional "org_claude_code_desktop_disabled"` - default: org_cowork_agent_enabled + default: org_claude_code_desktop_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70795,13 +71059,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAutoModeDisabled object` + - `OrgClaudeCodeDesktopEnabled object` - The "Auto" permission mode in Cowork was disabled for the organization, so members can no longer let Claude approve its own actions after a safety check. + Organization Claude Code Desktop was enabled. - - `type: optional "org_cowork_auto_mode_disabled"` + - `type: optional "org_claude_code_desktop_enabled"` - default: org_cowork_auto_mode_disabled + default: org_claude_code_desktop_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71019,6 +71283,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -71027,13 +71295,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkAutoModeEnabled object` + - `previous_value: optional boolean or null` - The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. + Setting value immediately before this change - - `type: optional "org_cowork_auto_mode_enabled"` + - `OrgClaudeCodeZeroDataRetentionDisabled object` - default: org_cowork_auto_mode_enabled + A primary owner disabled zero data retention for Claude Code, so Claude Code content is retained according to the organization's data retention settings. + + - `type: optional "org_claude_code_zero_data_retention_disabled"` + + default: org_claude_code_zero_data_retention_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71259,13 +71531,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkBrowserPaneDisabled object` + - `OrgComplianceAPISettingsUpdated object` - The in-app browser in Cowork was disabled for the organization, so Claude can no longer open or use websites in a browser pane during members' Cowork sessions. + Organization compliance API settings were updated. - - `type: optional "org_cowork_browser_pane_disabled"` + - `type: optional "org_compliance_api_settings_updated"` - default: org_cowork_browser_pane_disabled + default: org_compliance_api_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71477,6 +71749,14 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `compliance_api_enabled: optional boolean or null` + + Whether the compliance API is enabled for the organization after this change. + + - `compliance_api_logging_enabled: optional boolean or null` + + Whether compliance activity logging is enabled for the organization after this change. + - `created_at: optional string` When this activity occurred. @@ -71491,13 +71771,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkBrowserPaneEnabled object` + - `OrgConnectorDomainGuardUpdated object` - The in-app browser in Cowork was enabled for the organization, letting Claude open and use websites in a browser pane during members' Cowork sessions. + Enterprise admin changed whether connectors are restricted to verified domains. - - `type: optional "org_cowork_browser_pane_enabled"` + - `type: optional "org_connector_domain_guard_updated"` - default: org_cowork_browser_pane_enabled + default: org_connector_domain_guard_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71705,6 +71985,8 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enforced: boolean` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -71723,13 +72005,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkDisabled object` + - `OrgCoworkActWithoutAskingModeDisabled object` - Organization cowork was disabled. + The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. - - `type: optional "org_cowork_disabled"` + - `type: optional "org_cowork_act_without_asking_mode_disabled"` - default: org_cowork_disabled + default: org_cowork_act_without_asking_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71947,10 +72229,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -71959,17 +72237,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgCoworkEnabled object` + - `OrgCoworkActWithoutAskingModeEnabled object` - Organization cowork was enabled. + The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. - - `type: optional "org_cowork_enabled"` + - `type: optional "org_cowork_act_without_asking_mode_enabled"` - default: org_cowork_enabled + default: org_cowork_act_without_asking_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72187,10 +72461,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72199,17 +72469,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgCoworkMcpAlwaysAllowDisabled object` + - `OrgCoworkAgentDisabled object` - The "Always allow" option for connector tools in Cowork was disabled for the organization, so each use of a connector tool that can make changes requires approval. Read-only connector tools are not affected by this setting. + Organization Cowork Agent was disabled. - - `type: optional "org_cowork_mcp_always_allow_disabled"` + - `type: optional "org_cowork_agent_disabled"` - default: org_cowork_mcp_always_allow_disabled + default: org_cowork_agent_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72427,6 +72693,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72435,13 +72705,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkMcpAlwaysAllowEnabled object` + - `previous_value: optional boolean or null` - The "Always allow" option for connector tools in Cowork was enabled for the organization, letting members approve a connector tool that can make changes once and allow its later uses automatically. Read-only connector tools are not affected by this setting. + Setting value immediately before this change - - `type: optional "org_cowork_mcp_always_allow_enabled"` + - `OrgCoworkAgentEnabled object` - default: org_cowork_mcp_always_allow_enabled + Organization Cowork Agent was enabled. + + - `type: optional "org_cowork_agent_enabled"` + + default: org_cowork_agent_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72659,6 +72933,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72667,13 +72945,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkOtlpSettingsUpdated object` + - `previous_value: optional boolean or null` - The organization's Cowork OpenTelemetry monitoring export settings were updated. + Setting value immediately before this change - - `type: optional "org_cowork_otlp_settings_updated"` + - `OrgCoworkAutoModeDisabled object` - default: org_cowork_otlp_settings_updated + The "Auto" permission mode in Cowork was disabled for the organization, so members can no longer let Claude approve its own actions after a safety check. + + - `type: optional "org_cowork_auto_mode_disabled"` + + default: org_cowork_auto_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72891,22 +73173,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_otlp_content_capture: optional array of string or null` - - The organization's content-capture settings after the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings are not set or were not modified by this update. - - - `new_otlp_endpoint: optional string or null` - - The OpenTelemetry export endpoint after the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint was cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint is unset or was not itself modified by this update. - - - `new_otlp_protocol: optional string or null` - - The OpenTelemetry export protocol after the change. Null if the protocol is unset or was not itself modified by this update. - - - `new_otlp_resource_attributes: optional string or null` - - The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72915,39 +73181,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - - Whether the OpenTelemetry export headers were set or cleared. 'set' is recorded for any non-empty submission, including resubmission of an unchanged value. Header values are never included. - - - `"cleared"` - - - `"set"` - - - `"unspecified"` - - - `previous_otlp_content_capture: optional array of string or null` - - The organization's content-capture settings before the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings were not previously set or were not modified by this update. - - - `previous_otlp_endpoint: optional string or null` - - The OpenTelemetry export endpoint before the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint had been cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint was previously unset or was not itself modified by this update. - - - `previous_otlp_protocol: optional string or null` - - The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. - - - `previous_otlp_resource_attributes: optional string or null` - - The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. - - - `OrgCoworkRemoteDisabled object` + - `OrgCoworkAutoModeEnabled object` - Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. - - `type: optional "org_cowork_remote_disabled"` + - `type: optional "org_cowork_auto_mode_enabled"` - default: org_cowork_remote_disabled + default: org_cowork_auto_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73173,13 +73413,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkRemoteEnabled object` + - `OrgCoworkBrowserPaneDisabled object` - Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. + The in-app browser in Cowork was disabled for the organization, so Claude can no longer open or use websites in a browser pane during members' Cowork sessions. - - `type: optional "org_cowork_remote_enabled"` + - `type: optional "org_cowork_browser_pane_disabled"` - default: org_cowork_remote_enabled + default: org_cowork_browser_pane_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73405,13 +73645,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCreationBlocked object` + - `OrgCoworkBrowserPaneEnabled object` - Organization creation was blocked. + The in-app browser in Cowork was enabled for the organization, letting Claude open and use websites in a browser pane during members' Cowork sessions. - - `type: optional "org_creation_blocked"` + - `type: optional "org_cowork_browser_pane_enabled"` - default: org_creation_blocked + default: org_cowork_browser_pane_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73637,17 +73877,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reason: optional string or null` - - "blocked" when the organization started preventing users with an email address at one of its verified domains from creating new organizations, "unblocked" when it stopped. - - - `OrgDataExportAccessed object` + - `OrgCoworkDisabled object` - Organization data export file was accessed/downloaded via signed URL. + Organization cowork was disabled. - - `type: optional "org_data_export_accessed"` + - `type: optional "org_cowork_disabled"` - default: org_data_export_accessed + default: org_cowork_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73865,15 +74101,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was downloaded. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` + - `current_value: optional boolean or null` - - `"workbench"` + Setting value immediately after this change - `organization_id: optional string or null` @@ -73883,13 +74113,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDataExportCompleted object` + - `previous_value: optional boolean or null` - Organization data export was completed. + Setting value immediately before this change - - `type: optional "org_data_export_completed"` + - `OrgCoworkEnabled object` - default: org_data_export_completed + Organization cowork was enabled. + + - `type: optional "org_cowork_enabled"` + + default: org_cowork_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74107,15 +74341,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was exported. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` + - `current_value: optional boolean or null` - - `"workbench"` + Setting value immediately after this change - `organization_id: optional string or null` @@ -74125,13 +74353,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDataExportStarted object` + - `previous_value: optional boolean or null` - Organization data export was started. + Setting value immediately before this change - - `type: optional "org_data_export_started"` + - `OrgCoworkMcpAlwaysAllowDisabled object` - default: org_data_export_started + The "Always allow" option for connector tools in Cowork was disabled for the organization, so each use of a connector tool that can make changes requires approval. Read-only connector tools are not affected by this setting. + + - `type: optional "org_cowork_mcp_always_allow_disabled"` + + default: org_cowork_mcp_always_allow_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74349,16 +74581,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was exported. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` - - - `"workbench"` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -74367,23 +74589,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - - Breadth of the export — the whole organization, or only the requesting member's own data. Absent on records written before this field was introduced. - - - `"member_own_data"` - - - `"organization"` - - - `"unspecified"` - - - `OrgDataResidencyUpdated object` + - `OrgCoworkMcpAlwaysAllowEnabled object` - The organization's inference data residency settings were updated. + The "Always allow" option for connector tools in Cowork was enabled for the organization, letting members approve a connector tool that can make changes once and allow its later uses automatically. Read-only connector tools are not affected by this setting. - - `type: optional "org_data_residency_updated"` + - `type: optional "org_cowork_mcp_always_allow_enabled"` - default: org_data_residency_updated + default: org_cowork_mcp_always_allow_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74609,35 +74821,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - - The data residency setting that changed - - - `"allowed_inference_geos"` - - - `"default_inference_geo"` - - - `"unspecified"` - - - `current_value: optional string or null` - - Setting value immediately after this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. - - - `previous_value: optional string or null` - - Setting value immediately before this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. - - - `OrgDeletedViaBulk object` + - `OrgCoworkOtlpSettingsUpdated object` - Organization was deleted via bulk operation. + The organization's Cowork OpenTelemetry monitoring export settings were updated. - - `type: optional "org_deleted_via_bulk"` + - `type: optional "org_cowork_otlp_settings_updated"` - default: org_deleted_via_bulk + default: org_cowork_otlp_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74855,6 +75045,22 @@ compliance activities that can be filtered by various criteria. format: date-time + - `new_otlp_content_capture: optional array of string or null` + + The organization's content-capture settings after the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings are not set or were not modified by this update. + + - `new_otlp_endpoint: optional string or null` + + The OpenTelemetry export endpoint after the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint was cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint is unset or was not itself modified by this update. + + - `new_otlp_protocol: optional string or null` + + The OpenTelemetry export protocol after the change. Null if the protocol is unset or was not itself modified by this update. + + - `new_otlp_resource_attributes: optional string or null` + + The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -74863,13 +75069,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDeletionRequested object` + - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - Organization deletion was requested. + Whether the OpenTelemetry export headers were set or cleared. 'set' is recorded for any non-empty submission, including resubmission of an unchanged value. Header values are never included. - - `type: optional "org_deletion_requested"` + - `"cleared"` - default: org_deletion_requested + - `"set"` + + - `"unspecified"` + + - `previous_otlp_content_capture: optional array of string or null` + + The organization's content-capture settings before the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings were not previously set or were not modified by this update. + + - `previous_otlp_endpoint: optional string or null` + + The OpenTelemetry export endpoint before the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint had been cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint was previously unset or was not itself modified by this update. + + - `previous_otlp_protocol: optional string or null` + + The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. + + - `previous_otlp_resource_attributes: optional string or null` + + The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. + + - `OrgCoworkRemoteDisabled object` + + Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + + - `type: optional "org_cowork_remote_disabled"` + + default: org_cowork_remote_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75095,13 +75327,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncCompleted object` + - `OrgCoworkRemoteEnabled object` - Organization directory resync completed successfully. + Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. - - `type: optional "org_directory_resync_completed"` + - `type: optional "org_cowork_remote_enabled"` - default: org_directory_resync_completed + default: org_cowork_remote_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75309,10 +75541,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying the directory resync run that completed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75331,13 +75559,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncFailed object` + - `OrgCreationBlocked object` - Organization directory resync failed. + Organization creation was blocked. - - `type: optional "org_directory_resync_failed"` + - `type: optional "org_creation_blocked"` - default: org_directory_resync_failed + default: org_creation_blocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75545,10 +75773,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying the directory resync run that failed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75567,13 +75791,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncStarted object` + - `reason: optional string or null` - Organization directory resync was started asynchronously. + "blocked" when the organization started preventing users with an email address at one of its verified domains from creating new organizations, "unblocked" when it stopped. - - `type: optional "org_directory_resync_started"` + - `OrgDataExportAccessed object` - default: org_directory_resync_started + Organization data export file was accessed/downloaded via signed URL. + + - `type: optional "org_data_export_accessed"` + + default: org_data_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75781,10 +76009,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying this directory resync run - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75795,6 +76019,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was downloaded. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -75803,17 +76037,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `sync_destinations: optional array of string` - - Sync destinations the resync targets (for example, accounts and rbac) - - - `OrgDirectorySyncActivated object` + - `OrgDataExportCompleted object` - Organization directory sync was activated. + Organization data export was completed. - - `type: optional "org_directory_sync_activated"` + - `type: optional "org_data_export_completed"` - default: org_directory_sync_activated + default: org_data_export_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76031,6 +76261,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was exported. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -76039,13 +76279,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectorySyncAddInitiated object` + - `OrgDataExportStarted object` - Organization directory sync setup was initiated. + Organization data export was started. - - `type: optional "org_directory_sync_add_initiated"` + - `type: optional "org_data_export_started"` - default: org_directory_sync_add_initiated + default: org_data_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76263,6 +76503,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was exported. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -76271,13 +76521,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectorySyncDeleted object` + - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - Organization directory sync was deleted. + Breadth of the export — the whole organization, or only the requesting member's own data. Absent on records written before this field was introduced. - - `type: optional "org_directory_sync_deleted"` + - `"member_own_data"` - default: org_directory_sync_deleted + - `"organization"` + + - `"unspecified"` + + - `OrgDataResidencyUpdated object` + + The organization's inference data residency settings were updated. + + - `type: optional "org_data_residency_updated"` + + default: org_data_residency_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76503,13 +76763,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilityDisabled object` + - `updates: optional array of object` - Admin disabled organization discoverability. + The field-level changes applied in this update - - `type: optional "org_discoverability_disabled"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - default: org_discoverability_disabled + The data residency setting that changed + + - `"allowed_inference_geos"` + + - `"default_inference_geo"` + + - `"unspecified"` + + - `current_value: optional string or null` + + Setting value immediately after this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. + + - `previous_value: optional string or null` + + Setting value immediately before this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. + + - `OrgDeletedViaBulk object` + + Organization was deleted via bulk operation. + + - `type: optional "org_deleted_via_bulk"` + + default: org_deleted_via_bulk - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76735,13 +77017,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilityEnabled object` + - `OrgDeletionRequested object` - Admin enabled organization discoverability. + Organization deletion was requested. - - `type: optional "org_discoverability_enabled"` + - `type: optional "org_deletion_requested"` - default: org_discoverability_enabled + default: org_deletion_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76967,13 +77249,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilitySettingsUpdated object` + - `OrgDirectoryResyncCompleted object` - Admin updated organization discoverability settings. + Organization directory resync completed successfully. - - `type: optional "org_discoverability_settings_updated"` + - `type: optional "org_directory_resync_completed"` - default: org_discoverability_settings_updated + default: org_directory_resync_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77181,6 +77463,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying the directory resync run that completed. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77199,13 +77485,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainAddInitiated object` + - `OrgDirectoryResyncFailed object` - Organization domain verification was initiated. + Organization directory resync failed. - - `type: optional "org_domain_add_initiated"` + - `type: optional "org_directory_resync_failed"` - default: org_domain_add_initiated + default: org_directory_resync_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77413,6 +77699,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying the directory resync run that failed. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77431,13 +77721,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainRemoved object` + - `OrgDirectoryResyncStarted object` - Organization domain was removed. + Organization directory resync was started asynchronously. - - `type: optional "org_domain_removed"` + - `type: optional "org_directory_resync_started"` - default: org_domain_removed + default: org_directory_resync_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77645,6 +77935,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying this directory resync run + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77655,10 +77949,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `domain: optional string or null` - - The email domain that was removed from the organization, e.g. "example.com". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -77667,13 +77957,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainVerified object` + - `sync_destinations: optional array of string` - Organization domain was verified. + Sync destinations the resync targets (for example, accounts and rbac) - - `type: optional "org_domain_verified"` + - `OrgDirectorySyncActivated object` - default: org_domain_verified + Organization directory sync was activated. + + - `type: optional "org_directory_sync_activated"` + + default: org_directory_sync_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77891,10 +78185,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `domain: optional string or null` - - The email domain that was verified for the organization, e.g. "example.com". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -77903,13 +78193,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyCreated object` + - `OrgDirectorySyncAddInitiated object` - A CMEK external key config was created. + Organization directory sync setup was initiated. - - `type: optional "org_external_key_created"` + - `type: optional "org_directory_sync_add_initiated"` - default: org_external_key_created + default: org_directory_sync_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78117,22 +78407,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the created external key config - - - `provider: "aws" or "azure" or "gcp" or "unspecified"` - - KMS provider backing the key - - - `"aws"` - - - `"azure"` - - - `"gcp"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78151,13 +78425,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyDeleted object` + - `OrgDirectorySyncDeleted object` - A CMEK external key config was deleted. + Organization directory sync was deleted. - - `type: optional "org_external_key_deleted"` + - `type: optional "org_directory_sync_deleted"` - default: org_external_key_deleted + default: org_directory_sync_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78365,10 +78639,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the deleted external key config - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78387,13 +78657,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyUpdated object` + - `OrgDiscoverabilityDisabled object` - A CMEK external key config was updated. + Admin disabled organization discoverability. - - `type: optional "org_external_key_updated"` + - `type: optional "org_discoverability_disabled"` - default: org_external_key_updated + default: org_discoverability_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78601,10 +78871,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the updated external key config - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78623,37 +78889,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - - The external key config field that changed - - - `"display_name"` - - - `"geo"` - - - `"provider_config"` - - - `"unspecified"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` - - Field value immediately before this change - - - `OrgExternalKeyValidated object` + - `OrgDiscoverabilityEnabled object` - A CMEK external key config was validated against the customer's KMS. + Admin enabled organization discoverability. - - `type: optional "org_external_key_validated"` + - `type: optional "org_discoverability_enabled"` - default: org_external_key_validated + default: org_discoverability_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78861,20 +79103,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the validated external key config - - - `validation_result: "failure" or "success" or "unspecified"` - - Outcome of the encrypt/decrypt roundtrip - - - `"failure"` - - - `"success"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78893,13 +79121,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaArtifactsTermsAccepted object` + - `OrgDiscoverabilitySettingsUpdated object` - An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + Admin updated organization discoverability settings. - - `type: optional "org_hipaa_artifacts_terms_accepted"` + - `type: optional "org_discoverability_settings_updated"` - default: org_hipaa_artifacts_terms_accepted + default: org_discoverability_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79107,14 +79335,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `terms_content_hash: string` - - SHA-256 digest (hex) of the terms that were accepted. - - - `terms_version_label: string` - - Version label of the terms that were accepted, e.g. "2026-10-02". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79133,13 +79353,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` + - `OrgDomainAddInitiated object` - The HIPAA configuration for Claude Code (local mode) and Cowork (local mode) was left off for the organization when the configuration launched, and stays off until it is applied. + Organization domain verification was initiated. - - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` + - `type: optional "org_domain_add_initiated"` - default: org_hipaa_claude_code_cowork_restrictions_deferred + default: org_domain_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79365,13 +79585,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` + - `OrgDomainRemoved object` - The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + Organization domain was removed. - - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` + - `type: optional "org_domain_removed"` - default: org_hipaa_claude_code_cowork_restrictions_enabled + default: org_domain_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79579,16 +79799,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "admin_opt_in" or "enabled_by_anthropic" or "unspecified"` - - Why the HIPAA configuration was applied: "admin_opt_in" when an administrator of the organization applied it, "enabled_by_anthropic" when Anthropic applied it for the organization. - - - `"admin_opt_in"` - - - `"enabled_by_anthropic"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79599,6 +79809,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `domain: optional string or null` + + The email domain that was removed from the organization, e.g. "example.com". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -79607,13 +79821,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaSelfServeEnabled object` + - `OrgDomainVerified object` - A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. + Organization domain was verified. - - `type: optional "org_hipaa_self_serve_enabled"` + - `type: optional "org_domain_verified"` - default: org_hipaa_self_serve_enabled + default: org_domain_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79821,18 +80035,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `baa_content_hash: string` - - SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - - `baa_version_label: string` - - Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - - `setup_guide_content_hash: string` - - SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79843,6 +80045,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `domain: optional string or null` + + The email domain that was verified for the organization, e.g. "example.com". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -79851,13 +80057,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionCreated object` + - `OrgExternalKeyCreated object` - Organization IP restriction was created. + A CMEK external key config was created. - - `type: optional "org_ip_restriction_created"` + - `type: optional "org_external_key_created"` - default: org_ip_restriction_created + default: org_external_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80065,6 +80271,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the created external key config + + - `provider: "aws" or "azure" or "gcp" or "unspecified"` + + KMS provider backing the key + + - `"aws"` + + - `"azure"` + + - `"gcp"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80075,10 +80297,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_range: optional string or null` - - The IP range added to the allowlist, e.g. "192.0.2.0/24", which is not enforced while it is inactive or the IP allowlist is turned off; absent for activities recorded before this field was added. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80087,13 +80305,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionDeleted object` + - `OrgExternalKeyDeleted object` - Organization IP restriction was deleted. + A CMEK external key config was deleted. - - `type: optional "org_ip_restriction_deleted"` + - `type: optional "org_external_key_deleted"` - default: org_ip_restriction_deleted + default: org_external_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80301,6 +80519,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the deleted external key config + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80311,10 +80533,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_range: optional string or null` - - The IP range removed from the allowlist, e.g. "192.0.2.0/24"; absent for activities recorded before this field was added. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80323,13 +80541,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionUpdated object` + - `OrgExternalKeyUpdated object` - Organization IP restriction was updated. + A CMEK external key config was updated. - - `type: optional "org_ip_restriction_updated"` + - `type: optional "org_external_key_updated"` - default: org_ip_restriction_updated + default: org_external_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80537,6 +80755,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the updated external key config + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80547,18 +80769,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_allowlist_enabled: optional boolean or null` - - Whether the organization's IP allowlist is turned on (true) or off (false) after this change; absent when the change did not turn the IP allowlist on or off, and for activities recorded before this field was added. - - - `ip_range: optional string or null` - - The IP range this change applied to, as it is after the change, e.g. "192.0.2.0/24"; absent when the change was not to an individual IP range, and for activities recorded before this field was added. - - - `ip_range_active: optional boolean or null` - - Whether the IP range is active on the allowlist (true) or saved but inactive (false) after this change; absent when the change did not turn the range on or off. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80567,249 +80777,37 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_ip_range: optional string or null` - - The IP range before this change; absent unless the range itself was changed. - - - `OrgInviteLinkDisabled object` - - Organization invite link was disabled. - - - `type: optional "org_invite_link_disabled"` - - default: org_invite_link_disabled - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` - - default: attested_device_actor - - - `external_client_id: string` - - - `kid_hash: string` + - `updates: optional array of object` - - `ip_address: optional string or null` + The field-level changes applied in this update - - `user_agent: optional string or null` + - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - - `id: optional string` + The external key config field that changed - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"display_name"` - - `created_at: optional string` + - `"geo"` - When this activity occurred. + - `"provider_config"` - format: date-time + - `"unspecified"` - - `organization_id: optional string or null` + - `current_value: string` - Organization ID this activity is associated with + Field value immediately after this change - - `organization_uuid: optional string or null` + - `previous_value: string` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + Field value immediately before this change - - `OrgInviteLinkGenerated object` + - `OrgExternalKeyValidated object` - Organization invite link was generated. + A CMEK external key config was validated against the customer's KMS. - - `type: optional "org_invite_link_generated"` + - `type: optional "org_external_key_validated"` - default: org_invite_link_generated + default: org_external_key_validated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81017,6 +81015,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the validated external key config + + - `validation_result: "failure" or "success" or "unspecified"` + + Outcome of the encrypt/decrypt roundtrip + + - `"failure"` + + - `"success"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81035,13 +81047,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteLinkRegenerated object` + - `OrgHipaaArtifactsTermsAccepted object` - Organization invite link was regenerated (previous link invalidated). + An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. - - `type: optional "org_invite_link_regenerated"` + - `type: optional "org_hipaa_artifacts_terms_accepted"` - default: org_invite_link_regenerated + default: org_hipaa_artifacts_terms_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81249,6 +81261,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `terms_content_hash: string` + + SHA-256 digest (hex) of the terms that were accepted. + + - `terms_version_label: string` + + Version label of the terms that were accepted, e.g. "2026-10-02". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81267,13 +81287,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteViewed object` + - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` - An organization invite was viewed. + The HIPAA configuration for Claude Code (local mode) and Cowork (local mode) was left off for the organization when the configuration launched, and stays off until it is applied. - - `type: optional "org_invite_viewed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` - default: org_invite_viewed + default: org_hipaa_claude_code_cowork_restrictions_deferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81481,10 +81501,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invite_id: string` - - Tagged ID of the viewed invite - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81503,13 +81519,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInvitesListed object` + - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` - Organization invites were listed. + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. - - `type: optional "org_invites_listed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` - default: org_invites_listed + default: org_hipaa_claude_code_cowork_restrictions_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81717,6 +81733,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `reason: "admin_opt_in" or "enabled_by_anthropic" or "unspecified"` + + Why the HIPAA configuration was applied: "admin_opt_in" when an administrator of the organization applied it, "enabled_by_anthropic" when Anthropic applied it for the organization. + + - `"admin_opt_in"` + + - `"enabled_by_anthropic"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81735,13 +81761,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinProposalDecided object` + - `OrgHipaaSelfServeEnabled object` - Approve or reject decision on a parent-org join proposal. + A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. - - `type: optional "org_join_proposal_decided"` + - `type: optional "org_hipaa_self_serve_enabled"` - default: org_join_proposal_decided + default: org_hipaa_self_serve_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81949,243 +81975,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `approved: boolean` - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `incoming_organization_id: optional string or null` - - The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `OrgJoinRequestApproved object` - - Admin approved a join request. - - - `type: optional "org_join_request_approved"` - - default: org_join_request_approved - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` + - `baa_content_hash: string` - default: attested_device_actor + SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - `external_client_id: string` + - `baa_version_label: string` - - `kid_hash: string` + Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - `ip_address: optional string or null` + - `setup_guide_content_hash: string` - - `user_agent: optional string or null` + SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - `id: optional string` @@ -82205,13 +82005,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestCreated object` + - `OrgIPRestrictionCreated object` - User requested to join an organization. + Organization IP restriction was created. - - `type: optional "org_join_request_created"` + - `type: optional "org_ip_restriction_created"` - default: org_join_request_created + default: org_ip_restriction_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82429,6 +82229,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_range: optional string or null` + + The IP range added to the allowlist, e.g. "192.0.2.0/24", which is not enforced while it is inactive or the IP allowlist is turned off; absent for activities recorded before this field was added. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82437,13 +82241,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestDismissed object` + - `OrgIPRestrictionDeleted object` - Admin dismissed a join request. + Organization IP restriction was deleted. - - `type: optional "org_join_request_dismissed"` + - `type: optional "org_ip_restriction_deleted"` - default: org_join_request_dismissed + default: org_ip_restriction_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82661,6 +82465,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_range: optional string or null` + + The IP range removed from the allowlist, e.g. "192.0.2.0/24"; absent for activities recorded before this field was added. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82669,13 +82477,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestInstantApproved object` + - `OrgIPRestrictionUpdated object` - Join request was instantly approved. + Organization IP restriction was updated. - - `type: optional "org_join_request_instant_approved"` + - `type: optional "org_ip_restriction_updated"` - default: org_join_request_instant_approved + default: org_ip_restriction_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82893,6 +82701,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_allowlist_enabled: optional boolean or null` + + Whether the organization's IP allowlist is turned on (true) or off (false) after this change; absent when the change did not turn the IP allowlist on or off, and for activities recorded before this field was added. + + - `ip_range: optional string or null` + + The IP range this change applied to, as it is after the change, e.g. "192.0.2.0/24"; absent when the change was not to an individual IP range, and for activities recorded before this field was added. + + - `ip_range_active: optional boolean or null` + + Whether the IP range is active on the allowlist (true) or saved but inactive (false) after this change; absent when the change did not turn the range on or off. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82901,13 +82721,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestsBulkDismissed object` + - `previous_ip_range: optional string or null` - Admin bulk-dismissed join requests. + The IP range before this change; absent unless the range itself was changed. - - `type: optional "org_join_requests_bulk_dismissed"` + - `OrgInviteLinkDisabled object` - default: org_join_requests_bulk_dismissed + Organization invite link was disabled. + + - `type: optional "org_invite_link_disabled"` + + default: org_invite_link_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83133,13 +82957,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgLibrarySubmissionCreated object` + - `OrgInviteLinkGenerated object` - A member submitted one of their own skills or plugins for publication into the organization library. + Organization invite link was generated. - - `type: optional "org_library_submission_created"` + - `type: optional "org_invite_link_generated"` - default: org_library_submission_created + default: org_invite_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83347,40 +83171,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `library_submission_id: string` - - The submission. - - - `publish_policy: "off" or "open" or "review" or "unspecified"` - - The organization's Publishing setting when the submission was made: "review" (Requires review) or "open" (Open). Any decision, and whether a reviewer made it, is recorded as org_library_submission_resolved with the same library_submission_id. - - - `"off"` - - - `"open"` - - - `"review"` - - - `"unspecified"` - - - `source_kind: "plugin" or "skill" or "unspecified"` - - Whether the item was submitted as a skill or as a plugin. - - - `"plugin"` - - - `"skill"` - - - `"unspecified"` - - - `source_plugin_id: string` - - The member's own skill or plugin that was submitted. - - - `source_plugin_version_id: string` - - The exact version that was submitted. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -83399,17 +83189,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates_published_plugin_id: optional string or null` - - The existing library entry this submission proposes to update; unset for a new entry. - - - `OrgLibrarySubmissionResolved object` + - `OrgInviteLinkRegenerated object` - A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + Organization invite link was regenerated (previous link invalidated). - - `type: optional "org_library_submission_resolved"` + - `type: optional "org_invite_link_regenerated"` - default: org_library_submission_resolved + default: org_invite_link_regenerated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83617,70 +83403,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `content_hash: string` - - SHA-256 digest (hex) of the submitted version's archive, as submitted. Set only on a record whose publish_completed is true, and may be empty even there. A digest of the content, never the content itself. - - - `decision: "accepted" or "denied" or "unspecified"` - - Whether the submission was accepted into the library or denied. - - - `"accepted"` - - - `"denied"` - - - `"unspecified"` - - - `destination_marketplace_id: string` - - The marketplace the submission was accepted into. Empty on a denial. - - - `publish_completed: boolean` - - Whether publication had completed when this record was written. If it completed with the acceptance, there is one accepted record and this is true. Otherwise this is false, and if publication completes later, a second accepted record with the same library_submission_id follows with this set to true. - - - `published_plugin_version_id: string` - - The published version. Empty when publish_completed is false. - - - `source_plugin_id: string` - - The member's own skill or plugin that was submitted. - - - `source_plugin_version_id: string` - - The exact version that was decided on. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `installation_preference: optional string or null` - - The installation preference the submission was accepted with: "available", "auto_install" or "required". Unset on a denial, and when an update to an existing library entry was accepted without one. - - - `library_submission_id: optional string or null` - - The submission that was decided on. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -83689,33 +83421,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - - How this submission was resolved, whatever the organization's setting: "review" when a library reviewer accepted or denied it, "open" when it was accepted on submission with no reviewer. - - - `"off"` - - - `"open"` - - - `"review"` - - - `"unspecified"` - - - `reviewed_by_user_id: optional string or null` - - The library reviewer who made the decision; unset when the submission was accepted without review (publish_policy "open"), or if the reviewer's account had been deleted when this record was written. - - - `submitted_by_user_id: optional string or null` - - The member who made the submission. - - - `OrgLibrarySubmissionWithdrawn object` + - `OrgInviteViewed object` - A pending submission to the organization library was withdrawn before any reviewer decided on it. + An organization invite was viewed. - - `type: optional "org_library_submission_withdrawn"` + - `type: optional "org_invite_viewed"` - default: org_library_submission_withdrawn + default: org_invite_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83923,35 +83635,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `library_submission_id: string` - - The submission. - - - `reason: "requester" or "unspecified"` - - Why the submission was withdrawn. - - - `"requester"` - - - `"unspecified"` - - - `source_kind: "plugin" or "skill" or "unspecified"` - - Whether the withdrawn item had been submitted as a skill or as a plugin. - - - `"plugin"` - - - `"skill"` - - - `"unspecified"` - - - `source_plugin_id: string` - - The member's own skill or plugin that had been submitted. - - - `source_plugin_version_id: string` + - `invite_id: string` - The version that had been submitted. + Tagged ID of the viewed invite - `id: optional string` @@ -83971,13 +83657,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMagicLinkSecondFactorToggled object` + - `OrgInvitesListed object` - Organization magic link second factor was toggled. + Organization invites were listed. - - `type: optional "org_magic_link_second_factor_toggled"` + - `type: optional "org_invites_listed"` - default: org_magic_link_second_factor_toggled + default: org_invites_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84185,10 +83871,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether members signing in with SSO must also complete a magic link as a second factor, after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -84207,13 +83889,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberAvatarRemoved object` + - `OrgJoinProposalDecided object` - An administrator removed another member's profile picture. + Approve or reject decision on a parent-org join proposal. - - `type: optional "org_member_avatar_removed"` + - `type: optional "org_join_proposal_decided"` - default: org_member_avatar_removed + default: org_join_proposal_decided - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84421,9 +84103,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the member whose profile picture was removed. + - `approved: boolean` - `id: optional string` @@ -84435,6 +84115,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `incoming_organization_id: optional string or null` + + The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -84443,13 +84127,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberInvitesDisabled object` + - `OrgJoinRequestApproved object` - Admin disabled member invites for the organization. + Admin approved a join request. - - `type: optional "org_member_invites_disabled"` + - `type: optional "org_join_request_approved"` - default: org_member_invites_disabled + default: org_join_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84675,13 +84359,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberInvitesEnabled object` + - `OrgJoinRequestCreated object` - Admin enabled member invites for the organization. + User requested to join an organization. - - `type: optional "org_member_invites_enabled"` + - `type: optional "org_join_request_created"` - default: org_member_invites_enabled + default: org_join_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84907,13 +84591,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMembersExported object` + - `OrgJoinRequestDismissed object` - Organization members list was exported as CSV. + Admin dismissed a join request. - - `type: optional "org_members_exported"` + - `type: optional "org_join_request_dismissed"` - default: org_members_exported + default: org_join_request_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85139,23 +84823,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgModelDefaultUpdated object` - - An organization or role default model setting was changed by an administrator. - - - `type: optional "org_model_default_updated"` - - default: org_model_default_updated - - - `action: "cleared" or "set" or "unspecified"` - - Whether the default model was set or cleared + - `OrgJoinRequestInstantApproved object` - - `"cleared"` + Join request was instantly approved. - - `"set"` + - `type: optional "org_join_request_instant_approved"` - - `"unspecified"` + default: org_join_request_instant_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85363,24 +85037,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `override_user_selection: boolean` - - Whether the default is enforced as a fixed default, resetting members' own model selections at the start of each new conversation - - - `principal_id: string` - - Tagged ID of the organization or role the default applies to - - - `principal_type: "org" or "rbac_role" or "unspecified"` - - Whether the default applies to the whole organization or to a single role - - - `"org"` - - - `"rbac_role"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -85391,26 +85047,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `default_model: optional string or null` - - The model set as the default, when the action is set - - - `model_access: optional array of object` - - The per-model access overrides set for this principal; absent when no overrides are configured - - - `api_name: string` - - The model the decision applies to - - - `enabled: boolean` - - Whether members with this principal may select the model - - - `max_effort_level: optional string or null` - - The highest effort level members may select for this model, when capped - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -85419,13 +85055,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgParentJoinProposalCreated object` + - `OrgJoinRequestsBulkDismissed object` - Organization parent join proposal was created. + Admin bulk-dismissed join requests. - - `type: optional "org_parent_join_proposal_created"` + - `type: optional "org_join_requests_bulk_dismissed"` - default: org_parent_join_proposal_created + default: org_join_requests_bulk_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85643,10 +85279,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `incoming_organization_id: optional string or null` - - The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -85655,13 +85287,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgParentSearchPerformed object` + - `OrgLibrarySubmissionCreated object` - Organization parent search was performed. + A member submitted one of their own skills or plugins for publication into the organization library. - - `type: optional "org_parent_search_performed"` + - `type: optional "org_library_submission_created"` - default: org_parent_search_performed + default: org_library_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85869,6 +85501,40 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `library_submission_id: string` + + The submission. + + - `publish_policy: "off" or "open" or "review" or "unspecified"` + + The organization's Publishing setting when the submission was made: "review" (Requires review) or "open" (Open). Any decision, and whether a reviewer made it, is recorded as org_library_submission_resolved with the same library_submission_id. + + - `"off"` + + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `source_kind: "plugin" or "skill" or "unspecified"` + + Whether the item was submitted as a skill or as a plugin. + + - `"plugin"` + + - `"skill"` + + - `"unspecified"` + + - `source_plugin_id: string` + + The member's own skill or plugin that was submitted. + + - `source_plugin_version_id: string` + + The exact version that was submitted. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -85887,13 +85553,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOAddInitiated object` + - `updates_published_plugin_id: optional string or null` - Organization SSO setup was initiated. + The existing library entry this submission proposes to update; unset for a new entry. - - `type: optional "org_sso_add_initiated"` + - `OrgLibrarySubmissionResolved object` - default: org_sso_add_initiated + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `type: optional "org_library_submission_resolved"` + + default: org_library_submission_resolved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86101,16 +85771,70 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `content_hash: string` + + SHA-256 digest (hex) of the submitted version's archive, as submitted. Set only on a record whose publish_completed is true, and may be empty even there. A digest of the content, never the content itself. + + - `decision: "accepted" or "denied" or "unspecified"` + + Whether the submission was accepted into the library or denied. + + - `"accepted"` + + - `"denied"` + + - `"unspecified"` + + - `destination_marketplace_id: string` + + The marketplace the submission was accepted into. Empty on a denial. + + - `publish_completed: boolean` + + Whether publication had completed when this record was written. If it completed with the acceptance, there is one accepted record and this is true. Otherwise this is false, and if publication completes later, a second accepted record with the same library_submission_id follows with this set to true. + + - `published_plugin_version_id: string` + + The published version. Empty when publish_completed is false. + + - `source_plugin_id: string` + + The member's own skill or plugin that was submitted. + + - `source_plugin_version_id: string` + + The exact version that was decided on. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time + - `installation_preference: optional string or null` + + The installation preference the submission was accepted with: "available", "auto_install" or "required". Unset on a denial, and when an update to an existing library entry was accepted without one. + + - `library_submission_id: optional string or null` + + The submission that was decided on. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -86119,13 +85843,33 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionActivated object` + - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - Organization SSO connection was activated. + How this submission was resolved, whatever the organization's setting: "review" when a library reviewer accepted or denied it, "open" when it was accepted on submission with no reviewer. - - `type: optional "org_sso_connection_activated"` + - `"off"` - default: org_sso_connection_activated + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `reviewed_by_user_id: optional string or null` + + The library reviewer who made the decision; unset when the submission was accepted without review (publish_policy "open"), or if the reviewer's account had been deleted when this record was written. + + - `submitted_by_user_id: optional string or null` + + The member who made the submission. + + - `OrgLibrarySubmissionWithdrawn object` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + + - `type: optional "org_library_submission_withdrawn"` + + default: org_library_submission_withdrawn - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86333,17 +86077,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `library_submission_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The submission. - - `connection_id: optional string or null` + - `reason: "requester" or "unspecified"` - Identifier of the SSO connection that was activated. + Why the submission was withdrawn. - - `connection_type: optional string or null` + - `"requester"` - The type of SSO connection that was activated, e.g. "OktaSAML" or "GenericOIDC". + - `"unspecified"` + + - `source_kind: "plugin" or "skill" or "unspecified"` + + Whether the withdrawn item had been submitted as a skill or as a plugin. + + - `"plugin"` + + - `"skill"` + + - `"unspecified"` + + - `source_plugin_id: string` + + The member's own skill or plugin that had been submitted. + + - `source_plugin_version_id: string` + + The version that had been submitted. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86359,13 +86125,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionDeactivated object` + - `OrgMagicLinkSecondFactorToggled object` - Organization SSO connection was deactivated. + Organization magic link second factor was toggled. - - `type: optional "org_sso_connection_deactivated"` + - `type: optional "org_magic_link_second_factor_toggled"` - default: org_sso_connection_deactivated + default: org_magic_link_second_factor_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86573,13 +86339,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `enabled: boolean` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether members signing in with SSO must also complete a magic link as a second factor, after this change. - - `connection_id: optional string or null` + - `id: optional string` - Identifier of the SSO connection that was deactivated. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86595,13 +86361,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionDeleted object` + - `OrgMemberAvatarRemoved object` - Organization SSO connection was deleted. + An administrator removed another member's profile picture. - - `type: optional "org_sso_connection_deleted"` + - `type: optional "org_member_avatar_removed"` - default: org_sso_connection_deleted + default: org_member_avatar_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86809,13 +86575,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `user_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the member whose profile picture was removed. - - `connection_id: optional string or null` + - `id: optional string` - Identifier of the SSO connection that was deleted. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86831,13 +86597,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOGroupRoleMappingsUpdated object` + - `OrgMemberInvitesDisabled object` - Organization SSO group role mappings were updated. + Admin disabled member invites for the organization. - - `type: optional "org_sso_group_role_mappings_updated"` + - `type: optional "org_member_invites_disabled"` - default: org_sso_group_role_mappings_updated + default: org_member_invites_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87063,13 +86829,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOProvisioningModeChanged object` + - `OrgMemberInvitesEnabled object` - Organization SSO provisioning mode was changed. + Admin enabled member invites for the organization. - - `type: optional "org_sso_provisioning_mode_changed"` + - `type: optional "org_member_invites_enabled"` - default: org_sso_provisioning_mode_changed + default: org_member_invites_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87287,10 +87053,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_mode: optional string or null` - - The SSO provisioning mode after this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -87299,17 +87061,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_mode: optional string or null` - - The SSO provisioning mode before this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - - `OrgSSOScimWelcomeEmailToggled object` + - `OrgMembersExported object` - Organization SCIM-provisioned welcome email was toggled. + Organization members list was exported as CSV. - - `type: optional "org_sso_scim_welcome_email_toggled"` + - `type: optional "org_members_exported"` - default: org_sso_scim_welcome_email_toggled + default: org_members_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87517,10 +87275,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether the SCIM welcome email is enabled after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -87539,17 +87293,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` + - `OrgModelDefaultUpdated object` - Whether the SCIM welcome email was enabled before this change. + An organization or role default model setting was changed by an administrator. - - `OrgSSOSeatTierAssignmentToggled object` + - `type: optional "org_model_default_updated"` - Organization SSO seat tier assignment was toggled. + default: org_model_default_updated - - `type: optional "org_sso_seat_tier_assignment_toggled"` + - `action: "cleared" or "set" or "unspecified"` - default: org_sso_seat_tier_assignment_toggled + Whether the default model was set or cleared + + - `"cleared"` + + - `"set"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87757,9 +87517,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` + - `override_user_selection: boolean` - Whether SSO seat tier assignment is enabled after this change. + Whether the default is enforced as a fixed default, resetting members' own model selections at the start of each new conversation + + - `principal_id: string` + + Tagged ID of the organization or role the default applies to + + - `principal_type: "org" or "rbac_role" or "unspecified"` + + Whether the default applies to the whole organization or to a single role + + - `"org"` + + - `"rbac_role"` + + - `"unspecified"` - `id: optional string` @@ -87771,6 +87545,26 @@ compliance activities that can be filtered by various criteria. format: date-time + - `default_model: optional string or null` + + The model set as the default, when the action is set + + - `model_access: optional array of object` + + The per-model access overrides set for this principal; absent when no overrides are configured + + - `api_name: string` + + The model the decision applies to + + - `enabled: boolean` + + Whether members with this principal may select the model + + - `max_effort_level: optional string or null` + + The highest effort level members may select for this model, when capped + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -87779,17 +87573,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether SSO seat tier assignment was enabled before this change. - - - `OrgSSOSeatTierMappingsUpdated object` + - `OrgParentJoinProposalCreated object` - Organization SSO seat tier mappings were updated. + Organization parent join proposal was created. - - `type: optional "org_sso_seat_tier_mappings_updated"` + - `type: optional "org_parent_join_proposal_created"` - default: org_sso_seat_tier_mappings_updated + default: org_parent_join_proposal_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88007,17 +87797,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_mappings: optional array of object or null` - - Identity provider group to seat tier mappings after this change. - - - `idp_group_name: string` - - Name of the identity provider group. - - - `seat_tier: optional string or null` + - `incoming_organization_id: optional string or null` - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - `organization_id: optional string or null` @@ -88027,25 +87809,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_mappings: optional array of object or null` - - Identity provider group to seat tier mappings before this change. - - - `idp_group_name: string` - - Name of the identity provider group. - - - `seat_tier: optional string or null` - - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. - - - `OrgSSOToggled object` + - `OrgParentSearchPerformed object` - Organization SSO was toggled on or off. + Organization parent search was performed. - - `type: optional "org_sso_toggled"` + - `type: optional "org_parent_search_performed"` - default: org_sso_toggled + default: org_parent_search_performed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88253,10 +88023,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether SSO login is enforced after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -88275,13 +88041,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSyncDeletingSynchronizedFilesStarted object` + - `OrgSSOAddInitiated object` - Organization started deleting synchronized files. + Organization SSO setup was initiated. - - `type: optional "org_sync_deleting_synchronized_files_started"` + - `type: optional "org_sso_add_initiated"` - default: org_sync_deleting_synchronized_files_started + default: org_sso_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88507,13 +88273,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSyncSynchronizedFilesDeleted object` + - `OrgSSOConnectionActivated object` - Organization synchronized files were deleted. + Organization SSO connection was activated. - - `type: optional "org_sync_synchronized_files_deleted"` + - `type: optional "org_sso_connection_activated"` - default: org_sync_synchronized_files_deleted + default: org_sso_connection_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88725,6 +88491,14 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was activated. + + - `connection_type: optional string or null` + + The type of SSO connection that was activated, e.g. "OktaSAML" or "GenericOIDC". + - `created_at: optional string` When this activity occurred. @@ -88739,13 +88513,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgTaintAdded object` + - `OrgSSOConnectionDeactivated object` - A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. + Organization SSO connection was deactivated. - - `type: optional "org_taint_added"` + - `type: optional "org_sso_connection_deactivated"` - default: org_taint_added + default: org_sso_connection_deactivated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88957,6 +88731,10 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was deactivated. + - `created_at: optional string` When this activity occurred. @@ -88971,21 +88749,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `taint: optional string or null` - - The marker that was added, for example the HIPAA marker. - - - `workspace_id: optional string or null` - - Tagged ID of the workspace the marker was applied to. Unset when applied at organization scope. - - - `OrgTaintRemoved object` + - `OrgSSOConnectionDeleted object` - A compliance marker (taint) was removed from an organization. + Organization SSO connection was deleted. - - `type: optional "org_taint_removed"` + - `type: optional "org_sso_connection_deleted"` - default: org_taint_removed + default: org_sso_connection_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89197,6 +88967,10 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was deleted. + - `created_at: optional string` When this activity occurred. @@ -89211,17 +88985,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `taint: optional string or null` - - The marker that was removed, for example the HIPAA marker. - - - `OrgUserDeleted object` + - `OrgSSOGroupRoleMappingsUpdated object` - User was removed from organization. + Organization SSO group role mappings were updated. - - `type: optional "org_user_deleted"` + - `type: optional "org_sso_group_role_mappings_updated"` - default: org_user_deleted + default: org_sso_group_role_mappings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89439,14 +89209,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deleted_user_email: optional string or null` - - Email address of the member who was removed, when known. - - - `deleted_user_id: optional string or null` - - Tagged ID of the member who was removed from the organization, e.g. "user_01HX...". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -89455,13 +89217,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteAccepted object` + - `OrgSSOProvisioningModeChanged object` - Organization user invite was accepted. + Organization SSO provisioning mode was changed. - - `type: optional "org_user_invite_accepted"` + - `type: optional "org_sso_provisioning_mode_changed"` - default: org_user_invite_accepted + default: org_sso_provisioning_mode_changed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89679,9 +89441,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` + - `new_mode: optional string or null` - Tagged ID of the invite that was accepted. + The SSO provisioning mode after this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - `organization_id: optional string or null` @@ -89691,17 +89453,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `rbac_group_ids: optional array of string or null` + - `previous_mode: optional string or null` - RBAC group IDs the user was added to on acceptance, as confirmed by the group service (absent on rows written before this was recorded, and when the invite carried no groups) + The SSO provisioning mode before this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - `OrgUserInviteDeleted object` + - `OrgSSOScimWelcomeEmailToggled object` - Organization user invite was deleted. + Organization SCIM-provisioned welcome email was toggled. - - `type: optional "org_user_invite_deleted"` + - `type: optional "org_sso_scim_welcome_email_toggled"` - default: org_user_invite_deleted + default: org_sso_scim_welcome_email_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89909,6 +89671,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether the SCIM welcome email is enabled after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -89919,10 +89685,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` - - Tagged ID of the invite that was deleted. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -89931,13 +89693,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteReSent object` + - `previous_enabled: optional boolean or null` - Organization user invite was re-sent. + Whether the SCIM welcome email was enabled before this change. - - `type: optional "org_user_invite_re_sent"` + - `OrgSSOSeatTierAssignmentToggled object` - default: org_user_invite_re_sent + Organization SSO seat tier assignment was toggled. + + - `type: optional "org_sso_seat_tier_assignment_toggled"` + + default: org_sso_seat_tier_assignment_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90145,6 +89911,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether SSO seat tier assignment is enabled after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -90155,18 +89925,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invited_email: optional string or null` - - Email address the invite was re-sent to. - - - `invited_role: optional string or null` - - Role the invited user will receive on joining - - - `invited_seat_tier: optional string or null` - - Seat tier the invited user will receive on joining - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -90175,13 +89933,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteRejected object` + - `previous_enabled: optional boolean or null` - Organization user invite was rejected. + Whether SSO seat tier assignment was enabled before this change. - - `type: optional "org_user_invite_rejected"` + - `OrgSSOSeatTierMappingsUpdated object` - default: org_user_invite_rejected + Organization SSO seat tier mappings were updated. + + - `type: optional "org_sso_seat_tier_mappings_updated"` + + default: org_sso_seat_tier_mappings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90399,9 +90161,17 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` + - `current_mappings: optional array of object or null` - Tagged ID of the invite that was rejected. + Identity provider group to seat tier mappings after this change. + + - `idp_group_name: string` + + Name of the identity provider group. + + - `seat_tier: optional string or null` + + Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. - `organization_id: optional string or null` @@ -90411,13 +90181,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteSent object` + - `previous_mappings: optional array of object or null` - Organization user invite was sent. + Identity provider group to seat tier mappings before this change. - - `type: optional "org_user_invite_sent"` + - `idp_group_name: string` - default: org_user_invite_sent + Name of the identity provider group. + + - `seat_tier: optional string or null` + + Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + + - `OrgSSOToggled object` + + Organization SSO was toggled on or off. + + - `type: optional "org_sso_toggled"` + + default: org_sso_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90625,6 +90407,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether SSO login is enforced after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -90635,22 +90421,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invited_email: optional string or null` - - Email address the invite was sent to. - - - `invited_rbac_group_ids: optional array of string or null` - - RBAC group IDs the invited user will be added to on joining - - - `invited_role: optional string or null` - - Role the invited user will receive on joining. - - - `invited_seat_tier: optional string or null` - - Seat tier the invited user will receive on joining - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -90659,13 +90429,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserLeft object` + - `OrgSyncDeletingSynchronizedFilesStarted object` - User removed themselves from organization. + Organization started deleting synchronized files. - - `type: optional "org_user_left"` + - `type: optional "org_sync_deleting_synchronized_files_started"` - default: org_user_left + default: org_sync_deleting_synchronized_files_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90891,17 +90661,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` - - The role the member held in the organization before leaving, e.g. "user" or "admin". - - - `OrgUserSharesRetained object` + - `OrgSyncSynchronizedFilesDeleted object` - A member left or was removed from the organization while projects, skills, plugins, or chats they had shared were still shared, and those shares were kept. + Organization synchronized files were deleted. - - `type: optional "org_user_shares_retained"` + - `type: optional "org_sync_synchronized_files_deleted"` - default: org_user_shares_retained + default: org_sync_synchronized_files_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91109,34 +90875,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_count: number` - - Number of distinct resources the member had shared that are still shared, counted up to a fixed limit, so a lower bound when `truncated` is true; it can exceed the number of IDs listed below. - - - `share_count: number` - - Number of shares kept across those resources (one per audience a resource is shared with), counted up to the same limit, so a lower bound when `truncated` is true. - - - `truncated: boolean` - - True when the ID lists do not include every still-shared resource or the counts stopped at their limit. - - - `user_id: string` - - Tagged ID of the member who left or was removed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_ids: optional array of string` - - Tagged IDs of chats among those resources. - - - `claude_project_ids: optional array of string` - - Tagged IDs of projects among those resources; the four ID lists hold at most the first 50 resources between them. - - `created_at: optional string` When this activity occurred. @@ -91151,21 +90893,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_ids: optional array of string` - - Tagged IDs of plugins among those resources. - - - `skill_ids: optional array of string` - - Tagged IDs of skills among those resources. - - - `OrgUserTrustedDevicesRevoked object` + - `OrgTaintAdded object` - An organization admin revoked a member's trusted devices and signed the member out of all active sessions. + A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. - - `type: optional "org_user_trusted_devices_revoked"` + - `type: optional "org_taint_added"` - default: org_user_trusted_devices_revoked + default: org_taint_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91373,22 +91107,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `completed: boolean` - - Whether the operation completed fully. False records an attempt that revoked the counted credentials but failed before finishing. - - - `devices_revoked_count: number` - - Number of trusted devices revoked - - - `sessions_revoked_count: number` - - Number of active sessions the member was signed out of - - - `user_id: string` - - Tagged ID of the member whose trusted devices were revoked - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -91407,13 +91125,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserViewed object` + - `taint: optional string or null` - An organization user was viewed. + The marker that was added, for example the HIPAA marker. - - `type: optional "org_user_viewed"` + - `workspace_id: optional string or null` - default: org_user_viewed + Tagged ID of the workspace the marker was applied to. Unset when applied at organization scope. + + - `OrgTaintRemoved object` + + A compliance marker (taint) was removed from an organization. + + - `type: optional "org_taint_removed"` + + default: org_taint_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91621,10 +91347,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the viewed user - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -91643,13 +91365,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUsersListed object` + - `taint: optional string or null` - Organization users were listed. + The marker that was removed, for example the HIPAA marker. - - `type: optional "org_users_listed"` + - `OrgUserDeleted object` - default: org_users_listed + User was removed from organization. + + - `type: optional "org_user_deleted"` + + default: org_user_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91867,6 +91593,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `deleted_user_email: optional string or null` + + Email address of the member who was removed, when known. + + - `deleted_user_id: optional string or null` + + Tagged ID of the member who was removed from the organization, e.g. "user_01HX...". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -91875,13 +91609,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgWorkAcrossAppsDisabled object` + - `OrgUserInviteAccepted object` - The organization's "Let Claude work across apps" setting was turned off. + Organization user invite was accepted. - - `type: optional "org_work_across_apps_disabled"` + - `type: optional "org_user_invite_accepted"` - default: org_work_across_apps_disabled + default: org_user_invite_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92099,9 +91833,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `invite_id: optional string or null` - Setting value immediately after this change + Tagged ID of the invite that was accepted. - `organization_id: optional string or null` @@ -92111,17 +91845,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `rbac_group_ids: optional array of string or null` - Setting value immediately before this change + RBAC group IDs the user was added to on acceptance, as confirmed by the group service (absent on rows written before this was recorded, and when the invite carried no groups) - - `OrgWorkAcrossAppsEnabled object` + - `OrgUserInviteDeleted object` - The organization's "Let Claude work across apps" setting was turned on. + Organization user invite was deleted. - - `type: optional "org_work_across_apps_enabled"` + - `type: optional "org_user_invite_deleted"` - default: org_work_across_apps_enabled + default: org_user_invite_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92339,9 +92073,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `invite_id: optional string or null` - Setting value immediately after this change + Tagged ID of the invite that was deleted. - `organization_id: optional string or null` @@ -92351,17 +92085,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrganizationAddressUpdated object` + - `OrgUserInviteReSent object` - The organization's billing or shipping address was updated. + Organization user invite was re-sent. - - `type: optional "organization_address_updated"` + - `type: optional "org_user_invite_re_sent"` - default: organization_address_updated + default: org_user_invite_re_sent - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92573,19 +92303,23 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `billing_address_updated: optional boolean or null` + - `created_at: optional string` - Whether the billing address was updated. + When this activity occurred. - - `billing_name_updated: optional boolean or null` + format: date-time - Whether the billing name was updated. + - `invited_email: optional string or null` - - `created_at: optional string` + Email address the invite was re-sent to. - When this activity occurred. + - `invited_role: optional string or null` - format: date-time + Role the invited user will receive on joining + + - `invited_seat_tier: optional string or null` + + Seat tier the invited user will receive on joining - `organization_id: optional string or null` @@ -92595,21 +92329,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `shipping_address_updated: optional boolean or null` - - Whether the shipping address was updated. - - - `shipping_name_updated: optional boolean or null` - - Whether the shipping name was updated. - - - `OrganizationIconDeleted object` + - `OrgUserInviteRejected object` - Organization's custom icon deleted. + Organization user invite was rejected. - - `type: optional "organization_icon_deleted"` + - `type: optional "org_user_invite_rejected"` - default: organization_icon_deleted + default: org_user_invite_rejected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92827,6 +92553,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `invite_id: optional string or null` + + Tagged ID of the invite that was rejected. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -92835,13 +92565,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrganizationIconUpdated object` + - `OrgUserInviteSent object` - Organization's custom icon uploaded or replaced. + Organization user invite was sent. - - `type: optional "organization_icon_updated"` + - `type: optional "org_user_invite_sent"` - default: organization_icon_updated + default: org_user_invite_sent - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -93059,6 +92789,22 @@ compliance activities that can be filtered by various criteria. format: date-time + - `invited_email: optional string or null` + + Email address the invite was sent to. + + - `invited_rbac_group_ids: optional array of string or null` + + RBAC group IDs the invited user will be added to on joining + + - `invited_role: optional string or null` + + Role the invited user will receive on joining. + + - `invited_seat_tier: optional string or null` + + Seat tier the invited user will receive on joining + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -93067,13 +92813,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeOrganizationSettingsUpdated object` + - `OrgUserLeft object` - Organization settings were updated. + User removed themselves from organization. - - `type: optional "claude_organization_settings_updated"` + - `type: optional "org_user_left"` - default: claude_organization_settings_updated + default: org_user_left - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -93281,1956 +93027,7256 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `updates: array of Name or Capabilities or RedactContent or 105 more` + - `id: optional string` - - `Name object` + Unique identifier for the activity e.g. 'activity_abcd1234' - The organization name setting was changed. + - `created_at: optional string` - - `type: optional "name"` + When this activity occurred. - default: name + format: date-time - - `current_value: optional string or null` + - `organization_id: optional string or null` - Setting value immediately after this change + Organization ID this activity is associated with - - `previous_value: optional string or null` + - `organization_uuid: optional string or null` - Setting value immediately before this change + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `Capabilities object` + - `previous_role: optional string or null` - The organization capabilities setting was changed. + The role the member held in the organization before leaving, e.g. "user" or "admin". - - `type: optional "capabilities"` + - `OrgUserSharesRetained object` - default: capabilities + A member left or was removed from the organization while projects, skills, plugins, or chats they had shared were still shared, and those shares were kept. - - `current_value: optional array of string or null` + - `type: optional "org_user_shares_retained"` - Setting value immediately after this change + default: org_user_shares_retained - - `previous_value: optional array of string or null` + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - Setting value immediately before this change + - `APIActor object` - - `RedactContent object` + - `type: optional "api_actor"` - The organization content-redaction setting was changed. + default: api_actor - - `type: optional "redact_content"` + - `api_key_id: string` - default: redact_content + - `ip_address: string` - - `current_value: optional boolean or null` + - `user_agent: string` - Setting value immediately after this change + - `UserActor object` - - `previous_value: optional boolean or null` + - `type: optional "user_actor"` - Setting value immediately before this change + default: user_actor - - `PublicProjectsEnabled object` + - `email_address: string` - The public projects setting was changed for the organization. + format: email - - `type: optional "public_projects_enabled"` + - `ip_address: string` - default: public_projects_enabled + - `user_agent: string` - - `current_value: optional boolean or null` + - `user_id: string` - Setting value immediately after this change + - `UnauthenticatedUserActor object` - - `previous_value: optional boolean or null` + - `type: optional "unauthenticated_user_actor"` - Setting value immediately before this change + default: unauthenticated_user_actor - - `WebSearchEnabled object` + - `ip_address: string` - The web search setting was changed. + - `user_agent: string` - - `type: optional "web_search_enabled"` + - `unauthenticated_email_address: optional string or null` - default: web_search_enabled + format: email - - `current_value: optional boolean or null` + - `AnthropicActor object` - Setting value immediately after this change + - `type: optional "anthropic_actor"` - - `previous_value: optional boolean or null` + default: anthropic_actor - Setting value immediately before this change + - `email_address: optional string or null` - - `GeolocationEnabled object` + format: email - The geolocation setting was changed. + - `SystemActor object` - - `type: optional "geolocation_enabled"` + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - default: geolocation_enabled + - `type: optional "system_actor"` - - `current_value: optional boolean or null` + default: system_actor - Setting value immediately after this change + - `service: optional string or null` - - `previous_value: optional boolean or null` + Name of the automated process that performed the action, when known. - Setting value immediately before this change + - `AdminAPIKeyActor object` - - `EnabledSaffron object` + - `type: optional "admin_api_key_actor"` - The memory setting was changed for the organization. + default: admin_api_key_actor - - `type: optional "enabled_saffron"` + - `admin_api_key_id: string` - default: enabled_saffron + - `ip_address: string` - - `current_value: optional boolean or null` + - `user_agent: string` - Setting value immediately after this change + - `ServiceAccountActor object` - - `previous_value: optional boolean or null` + - `type: optional "service_account_actor"` - Setting value immediately before this change + default: service_account_actor - - `DataRetentionPeriods object` + - `ip_address: string` - The data retention periods setting was changed for the organization. + - `service_account_id: string` - - `type: optional "data_retention_periods"` + - `user_agent: string` - default: data_retention_periods + - `ScimDirectorySyncActor object` - - `current_value: optional array of object or null` + - `type: optional "scim_directory_sync_actor"` - Setting value immediately after this change + default: scim_directory_sync_actor - - `data_type: "all" or "artifact_private" or "artifact_shared" or 2 more` + - `directory_id: string` - - `"all"` + - `workos_event_id: string` - - `"artifact_private"` + - `idp_connection_type: optional string or null` - - `"artifact_shared"` + - `FederatedIdentityActor object` - - `"chat"` + A federated external workload authenticated via a verified OIDC token. - - `"project"` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - - `duration: number` + - `type: optional "federated_identity_actor"` - minimum: -2147483648, maximum: 2147483647 + default: federated_identity_actor - - `timescale: "day" or "indefinite" or "month"` + - `issuer: string` - - `"day"` + - `subject: string` - - `"indefinite"` + - `audience: optional array of string` - - `"month"` + - `ip_address: optional string or null` - - `previous_value: optional array of object or null` + - `user_agent: optional string or null` - Setting value immediately before this change + - `FederatedActor object` - - `data_type: "all" or "artifact_private" or "artifact_shared" or 2 more` + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - - `"all"` + - `type: optional "federated_actor"` - - `"artifact_private"` + default: federated_actor - - `"artifact_shared"` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `"chat"` + - `FederatedActorAwsProvider object` - - `"project"` + Asserting party: the AWS account the organization is bound to. - - `duration: number` + - `type: optional "aws"` - minimum: -2147483648, maximum: 2147483647 + default: aws - - `timescale: "day" or "indefinite" or "month"` + - `account_id: string` - - `"day"` + - `signed_principal: string` - - `"indefinite"` + The AWS-signed ARN of the IAM principal that requested the token. - - `"month"` + - `FederatedActorAzureProvider object` - - `MembersLimit object` + Asserting party: the Azure subscription the organization is bound to. - The members limit setting was changed for the organization. + - `type: optional "azure"` - - `type: optional "members_limit"` + default: azure - default: members_limit + - `subscription_id: string` - - `current_value: optional number or null` + - `FederatedActorGcpProvider object` - Setting value immediately after this change + Asserting party: the GCP project the organization is bound to. - - `previous_value: optional number or null` + - `type: optional "gcp"` - Setting value immediately before this change + default: gcp - - `ClaudeAPIInArtifactsEnabled object` + - `project_number: string` - The Claude API in Artifacts setting was changed. + - `FederatedActorOidcProvider object` - - `type: optional "claude_api_in_artifacts_enabled"` + Asserting party: a customer-registered OIDC federation issuer. - default: claude_api_in_artifacts_enabled + - `type: optional "oidc"` - - `current_value: optional boolean or null` + default: oidc - Setting value immediately after this change + - `issuer: optional string or null` - - `previous_value: optional boolean or null` + The federation issuer's URL. Null when the presented credential failed verification. - Setting value immediately before this change + - `ip_address: optional string or null` - - `SupportContactMode object` + - `subject: optional string or null` - The support contact routing mode setting was changed for the organization. + The provider's verified identifier for the caller; its form depends on the provider. - - `type: optional "support_contact_mode"` + - `user_agent: optional string or null` - default: support_contact_mode + - `AttestedDeviceActor object` - - `current_value: optional "ai_support_only" or "human_support_restricted" or "unspecified" or null` + An attested mobile device authenticated via Apple App Attest. - Setting value immediately after this change + - `type: optional "attested_device_actor"` - - `"ai_support_only"` + default: attested_device_actor - - `"human_support_restricted"` + - `external_client_id: string` - - `"unspecified"` + - `kid_hash: string` - - `previous_value: optional "ai_support_only" or "human_support_restricted" or "unspecified" or null` + - `ip_address: optional string or null` - Setting value immediately before this change + - `user_agent: optional string or null` - - `"ai_support_only"` + - `resource_count: number` - - `"human_support_restricted"` + Number of distinct resources the member had shared that are still shared, counted up to a fixed limit, so a lower bound when `truncated` is true; it can exceed the number of IDs listed below. - - `"unspecified"` + - `share_count: number` - - `SupportContactAlwaysIncludeAdminsOwners object` + Number of shares kept across those resources (one per audience a resource is shared with), counted up to the same limit, so a lower bound when `truncated` is true. - The support contact always-include-admins-owners setting was changed for the organization. + - `truncated: boolean` - - `type: optional "support_contact_always_include_admins_owners"` + True when the ID lists do not include every still-shared resource or the counts stopped at their limit. - default: support_contact_always_include_admins_owners + - `user_id: string` - - `current_value: optional boolean or null` + Tagged ID of the member who left or was removed. - Setting value immediately after this change + - `id: optional string` - - `previous_value: optional boolean or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - Setting value immediately before this change + - `claude_chat_ids: optional array of string` - - `SupportContactDesignatedGroups object` + Tagged IDs of chats among those resources. - The support contact designated groups setting was changed for the organization. + - `claude_project_ids: optional array of string` - - `type: optional "support_contact_designated_groups"` + Tagged IDs of projects among those resources; the four ID lists hold at most the first 50 resources between them. - default: support_contact_designated_groups + - `created_at: optional string` - - `current_value: optional array of string or null` + When this activity occurred. - Setting value immediately after this change + format: date-time - - `previous_value: optional array of string or null` + - `organization_id: optional string or null` - Setting value immediately before this change + Organization ID this activity is associated with - - `SubscriptionItemQuotas object` + - `organization_uuid: optional string or null` - The organization's subscription seat quotas were changed. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `type: optional "subscription_item_quotas"` + - `plugin_ids: optional array of string` - default: subscription_item_quotas + Tagged IDs of plugins among those resources. - - `current_value: optional map[number] or null` + - `skill_ids: optional array of string` - Seat-type to quantity mapping immediately after this change. A null quantity means the item is unlimited/unmetered. + Tagged IDs of skills among those resources. - - `previous_value: optional map[number] or null` + - `OrgUserTrustedDevicesRevoked object` - Seat-type to quantity mapping immediately before this change. A null quantity means the item was unlimited/unmetered. + An organization admin revoked a member's trusted devices and signed the member out of all active sessions. - - `MembersBulkSeatTierAssignment object` + - `type: optional "org_user_trusted_devices_revoked"` - All organization members were assigned the specified seat tier. + default: org_user_trusted_devices_revoked - - `type: optional "members_bulk_seat_tier_assignment"` + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - default: members_bulk_seat_tier_assignment + - `APIActor object` - - `current_value: optional string or null` + - `type: optional "api_actor"` - The seat tier every member was assigned to + default: api_actor - - `member_count: optional number or null` + - `api_key_id: string` - Number of members whose seat tier was changed + - `ip_address: string` - - `previous_value: optional string or null` + - `user_agent: string` - Not populated; members may have held differing seat tiers before the bulk assignment + - `UserActor object` - - `ClaudeCodeWebEnabled object` + - `type: optional "user_actor"` - The Claude Code cloud sessions setting was changed for the organization. + default: user_actor - - `type: optional "claude_code_web_enabled"` + - `email_address: string` - default: claude_code_web_enabled + format: email - - `current_value: optional boolean or null` + - `ip_address: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional boolean or null` + - `user_id: string` - Setting value immediately before this change + - `UnauthenticatedUserActor object` - - `ClaudeCodeDesktopBypassPermissionsEnabled object` + - `type: optional "unauthenticated_user_actor"` - The Claude Code Desktop bypass-permissions mode setting was changed for the organization. + default: unauthenticated_user_actor - - `type: optional "claude_code_desktop_bypass_permissions_enabled"` + - `ip_address: string` - default: claude_code_desktop_bypass_permissions_enabled + - `user_agent: string` - - `current_value: optional boolean or null` + - `unauthenticated_email_address: optional string or null` - Setting value immediately after this change + format: email - - `previous_value: optional boolean or null` + - `AnthropicActor object` - Setting value immediately before this change + - `type: optional "anthropic_actor"` - - `ClaudeCodeDesktopAutoPermissionsEnabled object` + default: anthropic_actor - The Claude Code Desktop auto-permissions mode setting was changed for the organization. + - `email_address: optional string or null` - - `type: optional "claude_code_desktop_auto_permissions_enabled"` + format: email - default: claude_code_desktop_auto_permissions_enabled + - `SystemActor object` - - `current_value: optional boolean or null` + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - Setting value immediately after this change + - `type: optional "system_actor"` - - `previous_value: optional boolean or null` + default: system_actor - Setting value immediately before this change + - `service: optional string or null` - - `SkillsEnabled object` + Name of the automated process that performed the action, when known. - The Claude.ai skills setting was changed for the organization. + - `AdminAPIKeyActor object` - - `type: optional "skills_enabled"` + - `type: optional "admin_api_key_actor"` - default: skills_enabled + default: admin_api_key_actor - - `current_value: optional boolean or null` + - `admin_api_key_id: string` - Setting value immediately after this change + - `ip_address: string` - - `previous_value: optional boolean or null` + - `user_agent: string` - Setting value immediately before this change + - `ServiceAccountActor object` - - `WorkbenchCompletionFeedbackEnabled object` + - `type: optional "service_account_actor"` - The Workbench completion feedback setting was changed for the organization. + default: service_account_actor - - `type: optional "workbench_completion_feedback_enabled"` + - `ip_address: string` - default: workbench_completion_feedback_enabled + - `service_account_id: string` - - `current_value: optional boolean or null` + - `user_agent: string` - Setting value immediately after this change + - `ScimDirectorySyncActor object` - - `previous_value: optional boolean or null` + - `type: optional "scim_directory_sync_actor"` - Setting value immediately before this change + default: scim_directory_sync_actor - - `ClaudeAICompletionFeedbackEnabled object` + - `directory_id: string` - The Claude.ai completion feedback setting was changed for the organization. + - `workos_event_id: string` - - `type: optional "claude_ai_completion_feedback_enabled"` + - `idp_connection_type: optional string or null` - default: claude_ai_completion_feedback_enabled + - `FederatedIdentityActor object` - - `current_value: optional boolean or null` + A federated external workload authenticated via a verified OIDC token. - Setting value immediately after this change + Carries the verified issuer, subject, and audience claims from the + presented JWT. - - `previous_value: optional boolean or null` + - `type: optional "federated_identity_actor"` - Setting value immediately before this change + default: federated_identity_actor - - `ClaudeAIIntegrationSharingEnabled object` + - `issuer: string` - The Claude.ai integration sharing setting was changed for the organization. + - `subject: string` - - `type: optional "claude_ai_integration_sharing_enabled"` + - `audience: optional array of string` - default: claude_ai_integration_sharing_enabled + - `ip_address: optional string or null` - - `current_value: optional boolean or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `FederatedActor object` - - `previous_value: optional boolean or null` + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - Setting value immediately before this change + - `type: optional "federated_actor"` - - `ClaudeAIChatSharingEnabled object` + default: federated_actor - The Claude.ai chat sharing setting was changed for the organization. + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `type: optional "claude_ai_chat_sharing_enabled"` + - `FederatedActorAwsProvider object` - default: claude_ai_chat_sharing_enabled + Asserting party: the AWS account the organization is bound to. - - `current_value: optional boolean or null` + - `type: optional "aws"` - Setting value immediately after this change + default: aws - - `previous_value: optional boolean or null` + - `account_id: string` - Setting value immediately before this change + - `signed_principal: string` - - `ClaudeAICcrSharingEnabled object` + The AWS-signed ARN of the IAM principal that requested the token. - The Claude.ai remote Claude Code session sharing setting was changed for the organization. + - `FederatedActorAzureProvider object` - - `type: optional "claude_ai_ccr_sharing_enabled"` + Asserting party: the Azure subscription the organization is bound to. - default: claude_ai_ccr_sharing_enabled + - `type: optional "azure"` - - `current_value: optional boolean or null` + default: azure - Setting value immediately after this change + - `subscription_id: string` - - `previous_value: optional boolean or null` + - `FederatedActorGcpProvider object` - Setting value immediately before this change + Asserting party: the GCP project the organization is bound to. - - `ClaudeAICcrSupportSharingEnabled object` + - `type: optional "gcp"` - The Anthropic support access setting for Claude Code sessions was changed for the organization. + default: gcp - - `type: optional "claude_ai_ccr_support_sharing_enabled"` + - `project_number: string` - default: claude_ai_ccr_support_sharing_enabled + - `FederatedActorOidcProvider object` - - `current_value: optional boolean or null` + Asserting party: a customer-registered OIDC federation issuer. - Setting value immediately after this change + - `type: optional "oidc"` - - `previous_value: optional boolean or null` + default: oidc - Setting value immediately before this change + - `issuer: optional string or null` - - `BatchesDownloadUiVisibility object` + The federation issuer's URL. Null when the presented credential failed verification. - The batches download UI visibility setting was changed for the organization. + - `ip_address: optional string or null` - - `type: optional "batches_download_ui_visibility"` + - `subject: optional string or null` - default: batches_download_ui_visibility + The provider's verified identifier for the caller; its form depends on the provider. - - `current_value: optional "all" or "none" or "selected" or "unspecified" or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `AttestedDeviceActor object` - - `"all"` + An attested mobile device authenticated via Apple App Attest. - - `"none"` + - `type: optional "attested_device_actor"` - - `"selected"` + default: attested_device_actor - - `"unspecified"` + - `external_client_id: string` - - `previous_value: optional "all" or "none" or "selected" or "unspecified" or null` + - `kid_hash: string` - Setting value immediately before this change + - `ip_address: optional string or null` - - `"all"` + - `user_agent: optional string or null` - - `"none"` + - `completed: boolean` - - `"selected"` + Whether the operation completed fully. False records an attempt that revoked the counted credentials but failed before finishing. - - `"unspecified"` + - `devices_revoked_count: number` - - `AllowedInviteDomains object` + Number of trusted devices revoked - The allowed invite domains setting was changed for the organization. + - `sessions_revoked_count: number` - - `type: optional "allowed_invite_domains"` + Number of active sessions the member was signed out of - default: allowed_invite_domains + - `user_id: string` - - `current_value: optional array of string or null` + Tagged ID of the member whose trusted devices were revoked - Setting value immediately after this change + - `id: optional string` - - `previous_value: optional array of string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - Setting value immediately before this change + - `created_at: optional string` - - `WebSearchAPISettings object` + When this activity occurred. - The web search API setting was changed for the organization. + format: date-time - - `type: optional "web_search_api_settings"` + - `organization_id: optional string or null` - default: web_search_api_settings + Organization ID this activity is associated with - - `current_value: optional object or null` + - `organization_uuid: optional string or null` - Setting value immediately after this change + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `domain_filters: object or null` + - `OrgUserViewed object` - Allowed/blocked domain filters shared by web_search and web_fetch tools. + An organization user was viewed. - - `allowed_domains: optional array of string or null` + - `type: optional "org_user_viewed"` - - `blocked_domains: optional array of string or null` + default: org_user_viewed - - `is_enabled: boolean` + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `previous_value: optional object or null` + - `APIActor object` - Setting value immediately before this change + - `type: optional "api_actor"` - - `domain_filters: object or null` + default: api_actor - Allowed/blocked domain filters shared by web_search and web_fetch tools. + - `api_key_id: string` - - `allowed_domains: optional array of string or null` + - `ip_address: string` - - `blocked_domains: optional array of string or null` + - `user_agent: string` - - `is_enabled: boolean` + - `UserActor object` - - `WebFetchAPISettings object` + - `type: optional "user_actor"` - The web fetch API setting was changed for the organization. + default: user_actor - - `type: optional "web_fetch_api_settings"` + - `email_address: string` - default: web_fetch_api_settings + format: email - - `current_value: optional object or null` + - `ip_address: string` - Setting value immediately after this change + - `user_agent: string` - - `domain_filters: object or null` + - `user_id: string` - Allowed/blocked domain filters shared by web_search and web_fetch tools. + - `UnauthenticatedUserActor object` - - `allowed_domains: optional array of string or null` + - `type: optional "unauthenticated_user_actor"` - - `blocked_domains: optional array of string or null` + default: unauthenticated_user_actor - - `is_enabled: boolean` + - `ip_address: string` - - `previous_value: optional object or null` + - `user_agent: string` - Setting value immediately before this change + - `unauthenticated_email_address: optional string or null` - - `domain_filters: object or null` + format: email - Allowed/blocked domain filters shared by web_search and web_fetch tools. + - `AnthropicActor object` - - `allowed_domains: optional array of string or null` + - `type: optional "anthropic_actor"` - - `blocked_domains: optional array of string or null` + default: anthropic_actor - - `is_enabled: boolean` + - `email_address: optional string or null` - - `DefaultWorkspaceSettings object` + format: email - The default workspace setting was changed for the organization. + - `SystemActor object` - - `type: optional "default_workspace_settings"` + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - default: default_workspace_settings + - `type: optional "system_actor"` - - `current_value: optional object or null` + default: system_actor - Setting value immediately after this change + - `service: optional string or null` - - `enable_api_keys: optional boolean` + Name of the automated process that performed the action, when known. - default: true + - `AdminAPIKeyActor object` - - `previous_value: optional object or null` + - `type: optional "admin_api_key_actor"` - Setting value immediately before this change + default: admin_api_key_actor - - `enable_api_keys: optional boolean` + - `admin_api_key_id: string` - default: true + - `ip_address: string` - - `BatchesDownloadUiEnabledWorkspaceIDs object` + - `user_agent: string` - The batches download UI enabled workspace IDs setting was changed for the organization. + - `ServiceAccountActor object` - - `type: optional "batches_download_ui_enabled_workspace_ids"` + - `type: optional "service_account_actor"` - default: batches_download_ui_enabled_workspace_ids + default: service_account_actor - - `current_value: optional array of string or null` + - `ip_address: string` - Setting value immediately after this change + - `service_account_id: string` - - `previous_value: optional array of string or null` + - `user_agent: string` - Setting value immediately before this change + - `ScimDirectorySyncActor object` - - `ClaudeCodeManagedSettings object` + - `type: optional "scim_directory_sync_actor"` - The organization's Claude Code managed settings were changed. + default: scim_directory_sync_actor - The full previous and current settings content is provided in the - `previous_value` and `current_value` fields. + - `directory_id: string` - - `type: optional "claude_code_managed_settings"` + - `workos_event_id: string` - default: claude_code_managed_settings + - `idp_connection_type: optional string or null` - - `current_value: optional map[unknown] or null` + - `FederatedIdentityActor object` - - `current_version: optional number or null` + A federated external workload authenticated via a verified OIDC token. - - `previous_value: optional map[unknown] or null` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - - `previous_version: optional number or null` + - `type: optional "federated_identity_actor"` - - `settings_uuid: optional string or null` + default: federated_identity_actor - - `AccountSessionDurationSeconds object` + - `issuer: string` - Tracks changes to the enterprise account session duration setting (in seconds). + - `subject: string` - - `type: optional "account_session_duration_seconds"` + - `audience: optional array of string` - default: account_session_duration_seconds + - `ip_address: optional string or null` - - `current_value: optional number or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `FederatedActor object` - - `previous_value: optional number or null` + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - Setting value immediately before this change + - `type: optional "federated_actor"` - - `VcsConnections object` + default: federated_actor - Tracks changes to VCS (GitHub, etc.) organization connections. + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `type: optional "vcs_connections"` + - `FederatedActorAwsProvider object` - default: vcs_connections + Asserting party: the AWS account the organization is bound to. - - `current_value: optional array of object or null` + - `type: optional "aws"` - Setting value immediately after this change + default: aws - - `type: "github"` + - `account_id: string` - Supported Version Control System providers. + - `signed_principal: string` - - `org_name: string` + The AWS-signed ARN of the IAM principal that requested the token. - - `metadata: optional map[string] or null` + - `FederatedActorAzureProvider object` - - `org_id: optional string or null` + Asserting party: the Azure subscription the organization is bound to. - - `previous_value: optional array of object or null` + - `type: optional "azure"` - Setting value immediately before this change + default: azure - - `type: "github"` + - `subscription_id: string` - Supported Version Control System providers. + - `FederatedActorGcpProvider object` - - `org_name: string` + Asserting party: the GCP project the organization is bound to. - - `metadata: optional map[string] or null` + - `type: optional "gcp"` - - `org_id: optional string or null` + default: gcp - - `DisabledAdminRequestTypes object` + - `project_number: string` - Tracks changes to which admin request types are disabled. + - `FederatedActorOidcProvider object` - - `type: optional "disabled_admin_request_types"` + Asserting party: a customer-registered OIDC federation issuer. - default: disabled_admin_request_types + - `type: optional "oidc"` - - `current_value: optional array of string or null` + default: oidc - Setting value immediately after this change + - `issuer: optional string or null` - - `previous_value: optional array of string or null` + The federation issuer's URL. Null when the presented credential failed verification. - Setting value immediately before this change + - `ip_address: optional string or null` - - `MemberUsageDashboardVisible object` + - `subject: optional string or null` - The member usage dashboard visibility setting was changed for the organization. + The provider's verified identifier for the caller; its form depends on the provider. - - `type: optional "member_usage_dashboard_visible"` + - `user_agent: optional string or null` - default: member_usage_dashboard_visible + - `AttestedDeviceActor object` - - `current_value: optional boolean or null` + An attested mobile device authenticated via Apple App Attest. - Setting value immediately after this change + - `type: optional "attested_device_actor"` - - `previous_value: optional boolean or null` + default: attested_device_actor - Setting value immediately before this change + - `external_client_id: string` - - `CodeExecutionNetworkEgressEnabled object` + - `kid_hash: string` - The code execution network egress setting was changed for the organization. + - `ip_address: optional string or null` - - `type: optional "code_execution_network_egress_enabled"` + - `user_agent: optional string or null` - default: code_execution_network_egress_enabled + - `user_id: string` - - `current_value: optional boolean or null` + Tagged ID of the viewed user - Setting value immediately after this change + - `id: optional string` - - `previous_value: optional boolean or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - Setting value immediately before this change + - `created_at: optional string` - - `CodeExecutionDomainAllowlistChanged object` + When this activity occurred. - The code execution domain allowlist setting was changed for the organization. + format: date-time - - `type: optional "code_execution_domain_allowlist_changed"` + - `organization_id: optional string or null` - default: code_execution_domain_allowlist_changed + Organization ID this activity is associated with - - `current_value: optional array of string or null` + - `organization_uuid: optional string or null` - Setting value immediately after this change + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional array of string or null` + - `OrgUsersListed object` - Setting value immediately before this change + Organization users were listed. - - `CodeExecutionDomainAllowlistTemplateChanged object` + - `type: optional "org_users_listed"` - The code execution domain allowlist template setting was changed for the organization. + default: org_users_listed - - `type: optional "code_execution_domain_allowlist_template_changed"` + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - default: code_execution_domain_allowlist_template_changed + - `APIActor object` - - `current_value: optional "custom" or "full_egress" or "package_managers" or "unspecified" or null` + - `type: optional "api_actor"` - Setting value immediately after this change + default: api_actor - - `"custom"` + - `api_key_id: string` - - `"full_egress"` + - `ip_address: string` - - `"package_managers"` + - `user_agent: string` - - `"unspecified"` + - `UserActor object` - - `previous_value: optional "custom" or "full_egress" or "package_managers" or "unspecified" or null` + - `type: optional "user_actor"` - Setting value immediately before this change + default: user_actor - - `"custom"` + - `email_address: string` - - `"full_egress"` + format: email - - `"package_managers"` + - `ip_address: string` - - `"unspecified"` + - `user_agent: string` - - `ChatEnabled object` + - `user_id: string` - The chat setting was changed for the organization. + - `UnauthenticatedUserActor object` - - `type: optional "chat_enabled"` + - `type: optional "unauthenticated_user_actor"` - default: chat_enabled + default: unauthenticated_user_actor - - `current_value: optional boolean or null` + - `ip_address: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional boolean or null` + - `unauthenticated_email_address: optional string or null` - Setting value immediately before this change + format: email - - `ClaudeCodeQuickWebSetupEnabled object` + - `AnthropicActor object` - The Claude Code quick web setup setting was changed for the organization. + - `type: optional "anthropic_actor"` - - `type: optional "claude_code_quick_web_setup_enabled"` + default: anthropic_actor - default: claude_code_quick_web_setup_enabled + - `email_address: optional string or null` - - `current_value: optional boolean or null` + format: email - Setting value immediately after this change + - `SystemActor object` - - `previous_value: optional boolean or null` + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - Setting value immediately before this change + - `type: optional "system_actor"` - - `ClaudeCodeTeamMemoryMode object` + default: system_actor - The Claude Code team memory mode setting was changed for the organization. + - `service: optional string or null` - - `type: optional "claude_code_team_memory_mode"` + Name of the automated process that performed the action, when known. - default: claude_code_team_memory_mode + - `AdminAPIKeyActor object` - - `current_value: optional "all_org_members" or "github_repo" or "off" or 2 more or null` + - `type: optional "admin_api_key_actor"` - Setting value immediately after this change + default: admin_api_key_actor - - `"all_org_members"` + - `admin_api_key_id: string` - - `"github_repo"` + - `ip_address: string` - - `"off"` + - `user_agent: string` - - `"specific_groups"` + - `ServiceAccountActor object` - - `"unspecified"` + - `type: optional "service_account_actor"` - - `previous_value: optional "all_org_members" or "github_repo" or "off" or 2 more or null` + default: service_account_actor - Setting value immediately before this change + - `ip_address: string` - - `"all_org_members"` + - `service_account_id: string` - - `"github_repo"` + - `user_agent: string` - - `"off"` + - `ScimDirectorySyncActor object` - - `"specific_groups"` + - `type: optional "scim_directory_sync_actor"` - - `"unspecified"` + default: scim_directory_sync_actor - - `BrowserExtensionSettings object` + - `directory_id: string` - The browser extension setting was changed for the organization. + - `workos_event_id: string` - - `type: optional "browser_extension_settings"` + - `idp_connection_type: optional string or null` - default: browser_extension_settings + - `FederatedIdentityActor object` - - `current_value: optional map[unknown] or null` + A federated external workload authenticated via a verified OIDC token. - Setting value immediately after this change + Carries the verified issuer, subject, and audience claims from the + presented JWT. - - `previous_value: optional map[unknown] or null` + - `type: optional "federated_identity_actor"` - Setting value immediately before this change + default: federated_identity_actor - - `IsDesktopExtensionAllowlistEnabled object` + - `issuer: string` - The desktop extension allowlist setting was changed for the organization. + - `subject: string` - - `type: optional "is_desktop_extension_allowlist_enabled"` + - `audience: optional array of string` - default: is_desktop_extension_allowlist_enabled + - `ip_address: optional string or null` - - `current_value: optional boolean or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `FederatedActor object` - - `previous_value: optional boolean or null` + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - Setting value immediately before this change + - `type: optional "federated_actor"` - - `AllowMemberDataExport object` + default: federated_actor - The per-member self-serve data export setting was changed for the organization. + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `type: optional "allow_member_data_export"` + - `FederatedActorAwsProvider object` - default: allow_member_data_export + Asserting party: the AWS account the organization is bound to. - - `current_value: optional boolean or null` + - `type: optional "aws"` - Setting value immediately after this change + default: aws - - `previous_value: optional boolean or null` + - `account_id: string` - Setting value immediately before this change + - `signed_principal: string` - - `ClaudeAIDesignEnabled object` + The AWS-signed ARN of the IAM principal that requested the token. - The Claude Design setting was changed for the organization. + - `FederatedActorAzureProvider object` - - `type: optional "claude_ai_design_enabled"` + Asserting party: the Azure subscription the organization is bound to. - default: claude_ai_design_enabled + - `type: optional "azure"` - - `current_value: optional boolean or null` + default: azure - Setting value immediately after this change + - `subscription_id: string` - - `previous_value: optional boolean or null` + - `FederatedActorGcpProvider object` - Setting value immediately before this change + Asserting party: the GCP project the organization is bound to. - - `ClaudeScienceEnabled object` + - `type: optional "gcp"` - The setting that turns Claude Science on or off for the organization was changed. + default: gcp - - `type: optional "claude_science_enabled"` + - `project_number: string` - default: claude_science_enabled + - `FederatedActorOidcProvider object` - - `current_value: optional boolean or null` + Asserting party: a customer-registered OIDC federation issuer. - Setting value immediately after this change + - `type: optional "oidc"` - - `previous_value: optional boolean or null` + default: oidc - Setting value immediately before this change + - `issuer: optional string or null` - - `ClaudeScienceMemoryEnabled object` + The federation issuer's URL. Null when the presented credential failed verification. - The Claude Science memory setting was changed for the organization. + - `ip_address: optional string or null` - - `type: optional "claude_science_memory_enabled"` + - `subject: optional string or null` - default: claude_science_memory_enabled + The provider's verified identifier for the caller; its form depends on the provider. - - `current_value: optional boolean or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `AttestedDeviceActor object` - - `previous_value: optional boolean or null` + An attested mobile device authenticated via Apple App Attest. - Setting value immediately before this change + - `type: optional "attested_device_actor"` - - `ClaudeScienceCustomConnectorsEnabled object` + default: attested_device_actor - The Claude Science custom connectors setting was changed for the organization. + - `external_client_id: string` - - `type: optional "claude_science_custom_connectors_enabled"` + - `kid_hash: string` - default: claude_science_custom_connectors_enabled + - `ip_address: optional string or null` - - `current_value: optional boolean or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `id: optional string` - - `previous_value: optional boolean or null` + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgWorkAcrossAppsDisabled object` + + The organization's "Let Claude work across apps" setting was turned off. + + - `type: optional "org_work_across_apps_disabled"` + + default: org_work_across_apps_disabled + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `OrgWorkAcrossAppsEnabled object` + + The organization's "Let Claude work across apps" setting was turned on. + + - `type: optional "org_work_across_apps_enabled"` + + default: org_work_across_apps_enabled + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `OrganizationAddressUpdated object` + + The organization's billing or shipping address was updated. + + - `type: optional "organization_address_updated"` + + default: organization_address_updated + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `billing_address_updated: optional boolean or null` + + Whether the billing address was updated. + + - `billing_name_updated: optional boolean or null` + + Whether the billing name was updated. + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `shipping_address_updated: optional boolean or null` + + Whether the shipping address was updated. + + - `shipping_name_updated: optional boolean or null` + + Whether the shipping name was updated. + + - `OrganizationIconDeleted object` + + Organization's custom icon deleted. + + - `type: optional "organization_icon_deleted"` + + default: organization_icon_deleted + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrganizationIconUpdated object` + + Organization's custom icon uploaded or replaced. + + - `type: optional "organization_icon_updated"` + + default: organization_icon_updated + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `ClaudeOrganizationSettingsUpdated object` + + Organization settings were updated. + + - `type: optional "claude_organization_settings_updated"` + + default: claude_organization_settings_updated + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `updates: array of Name or Capabilities or RedactContent or 107 more` + + - `Name object` + + The organization name setting was changed. + + - `type: optional "name"` + + default: name + + - `current_value: optional string or null` + + Setting value immediately after this change + + - `previous_value: optional string or null` + + Setting value immediately before this change + + - `Capabilities object` + + The organization capabilities setting was changed. + + - `type: optional "capabilities"` + + default: capabilities + + - `current_value: optional array of string or null` + + Setting value immediately after this change + + - `previous_value: optional array of string or null` + + Setting value immediately before this change + + - `RedactContent object` + + The organization content-redaction setting was changed. + + - `type: optional "redact_content"` + + default: redact_content + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `PublicProjectsEnabled object` + + The public projects setting was changed for the organization. + + - `type: optional "public_projects_enabled"` + + default: public_projects_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `WebSearchEnabled object` + + The web search setting was changed. + + - `type: optional "web_search_enabled"` + + default: web_search_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `GeolocationEnabled object` + + The geolocation setting was changed. + + - `type: optional "geolocation_enabled"` + + default: geolocation_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `EnabledSaffron object` + + The memory setting was changed for the organization. + + - `type: optional "enabled_saffron"` + + default: enabled_saffron + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `DataRetentionPeriods object` + + The data retention periods setting was changed for the organization. + + - `type: optional "data_retention_periods"` + + default: data_retention_periods + + - `current_value: optional array of object or null` + + Setting value immediately after this change + + - `data_type: "all" or "artifact_private" or "artifact_shared" or 2 more` + + - `"all"` + + - `"artifact_private"` + + - `"artifact_shared"` + + - `"chat"` + + - `"project"` + + - `duration: number` + + minimum: -2147483648, maximum: 2147483647 + + - `timescale: "day" or "indefinite" or "month"` + + - `"day"` + + - `"indefinite"` + + - `"month"` + + - `previous_value: optional array of object or null` + + Setting value immediately before this change + + - `data_type: "all" or "artifact_private" or "artifact_shared" or 2 more` + + - `"all"` + + - `"artifact_private"` + + - `"artifact_shared"` + + - `"chat"` + + - `"project"` + + - `duration: number` + + minimum: -2147483648, maximum: 2147483647 + + - `timescale: "day" or "indefinite" or "month"` + + - `"day"` + + - `"indefinite"` + + - `"month"` + + - `MembersLimit object` + + The members limit setting was changed for the organization. + + - `type: optional "members_limit"` + + default: members_limit + + - `current_value: optional number or null` + + Setting value immediately after this change + + - `previous_value: optional number or null` + + Setting value immediately before this change + + - `ClaudeAPIInArtifactsEnabled object` + + The Claude API in Artifacts setting was changed. + + - `type: optional "claude_api_in_artifacts_enabled"` + + default: claude_api_in_artifacts_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `SupportContactMode object` + + The support contact routing mode setting was changed for the organization. + + - `type: optional "support_contact_mode"` + + default: support_contact_mode + + - `current_value: optional "ai_support_only" or "human_support_restricted" or "unspecified" or null` + + Setting value immediately after this change + + - `"ai_support_only"` + + - `"human_support_restricted"` + + - `"unspecified"` + + - `previous_value: optional "ai_support_only" or "human_support_restricted" or "unspecified" or null` + + Setting value immediately before this change + + - `"ai_support_only"` + + - `"human_support_restricted"` + + - `"unspecified"` + + - `SupportContactAlwaysIncludeAdminsOwners object` + + The support contact always-include-admins-owners setting was changed for the organization. + + - `type: optional "support_contact_always_include_admins_owners"` + + default: support_contact_always_include_admins_owners + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `SupportContactDesignatedGroups object` + + The support contact designated groups setting was changed for the organization. + + - `type: optional "support_contact_designated_groups"` + + default: support_contact_designated_groups + + - `current_value: optional array of string or null` + + Setting value immediately after this change + + - `previous_value: optional array of string or null` + + Setting value immediately before this change + + - `SubscriptionItemQuotas object` + + The organization's subscription seat quotas were changed. + + - `type: optional "subscription_item_quotas"` + + default: subscription_item_quotas + + - `current_value: optional map[number] or null` + + Seat-type to quantity mapping immediately after this change. A null quantity means the item is unlimited/unmetered. + + - `previous_value: optional map[number] or null` + + Seat-type to quantity mapping immediately before this change. A null quantity means the item was unlimited/unmetered. + + - `MembersBulkSeatTierAssignment object` + + All organization members were assigned the specified seat tier. + + - `type: optional "members_bulk_seat_tier_assignment"` + + default: members_bulk_seat_tier_assignment + + - `current_value: optional string or null` + + The seat tier every member was assigned to + + - `member_count: optional number or null` + + Number of members whose seat tier was changed + + - `previous_value: optional string or null` + + Not populated; members may have held differing seat tiers before the bulk assignment + + - `ClaudeCodeWebEnabled object` + + The Claude Code cloud sessions setting was changed for the organization. + + - `type: optional "claude_code_web_enabled"` + + default: claude_code_web_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeDesktopBypassPermissionsEnabled object` + + The Claude Code Desktop bypass-permissions mode setting was changed for the organization. + + - `type: optional "claude_code_desktop_bypass_permissions_enabled"` + + default: claude_code_desktop_bypass_permissions_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeDesktopAutoPermissionsEnabled object` + + The Claude Code Desktop auto-permissions mode setting was changed for the organization. + + - `type: optional "claude_code_desktop_auto_permissions_enabled"` + + default: claude_code_desktop_auto_permissions_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `SkillsEnabled object` + + The Claude.ai skills setting was changed for the organization. + + - `type: optional "skills_enabled"` + + default: skills_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `WorkbenchCompletionFeedbackEnabled object` + + The Workbench completion feedback setting was changed for the organization. + + - `type: optional "workbench_completion_feedback_enabled"` + + default: workbench_completion_feedback_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAICompletionFeedbackEnabled object` + + The Claude.ai completion feedback setting was changed for the organization. + + - `type: optional "claude_ai_completion_feedback_enabled"` + + default: claude_ai_completion_feedback_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAIIntegrationSharingEnabled object` + + The Claude.ai integration sharing setting was changed for the organization. + + - `type: optional "claude_ai_integration_sharing_enabled"` + + default: claude_ai_integration_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAIChatSharingEnabled object` + + The Claude.ai chat sharing setting was changed for the organization. + + - `type: optional "claude_ai_chat_sharing_enabled"` + + default: claude_ai_chat_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAICcrSharingEnabled object` + + The Claude.ai remote Claude Code session sharing setting was changed for the organization. + + - `type: optional "claude_ai_ccr_sharing_enabled"` + + default: claude_ai_ccr_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAICcrSupportSharingEnabled object` + + The Anthropic support access setting for Claude Code sessions was changed for the organization. + + - `type: optional "claude_ai_ccr_support_sharing_enabled"` + + default: claude_ai_ccr_support_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `BatchesDownloadUiVisibility object` + + The batches download UI visibility setting was changed for the organization. + + - `type: optional "batches_download_ui_visibility"` + + default: batches_download_ui_visibility + + - `current_value: optional "all" or "none" or "selected" or "unspecified" or null` + + Setting value immediately after this change + + - `"all"` + + - `"none"` + + - `"selected"` + + - `"unspecified"` + + - `previous_value: optional "all" or "none" or "selected" or "unspecified" or null` + + Setting value immediately before this change + + - `"all"` + + - `"none"` + + - `"selected"` + + - `"unspecified"` + + - `AllowedInviteDomains object` + + The allowed invite domains setting was changed for the organization. + + - `type: optional "allowed_invite_domains"` + + default: allowed_invite_domains + + - `current_value: optional array of string or null` + + Setting value immediately after this change + + - `previous_value: optional array of string or null` + + Setting value immediately before this change + + - `WebSearchAPISettings object` + + The web search API setting was changed for the organization. + + - `type: optional "web_search_api_settings"` + + default: web_search_api_settings + + - `current_value: optional object or null` + + Setting value immediately after this change + + - `domain_filters: object or null` + + Allowed/blocked domain filters shared by web_search and web_fetch tools. + + - `allowed_domains: optional array of string or null` + + - `blocked_domains: optional array of string or null` + + - `is_enabled: boolean` + + - `previous_value: optional object or null` + + Setting value immediately before this change + + - `domain_filters: object or null` + + Allowed/blocked domain filters shared by web_search and web_fetch tools. + + - `allowed_domains: optional array of string or null` + + - `blocked_domains: optional array of string or null` + + - `is_enabled: boolean` + + - `WebFetchAPISettings object` + + The web fetch API setting was changed for the organization. + + - `type: optional "web_fetch_api_settings"` + + default: web_fetch_api_settings + + - `current_value: optional object or null` + + Setting value immediately after this change + + - `domain_filters: object or null` + + Allowed/blocked domain filters shared by web_search and web_fetch tools. + + - `allowed_domains: optional array of string or null` + + - `blocked_domains: optional array of string or null` + + - `is_enabled: boolean` + + - `previous_value: optional object or null` + + Setting value immediately before this change + + - `domain_filters: object or null` + + Allowed/blocked domain filters shared by web_search and web_fetch tools. + + - `allowed_domains: optional array of string or null` + + - `blocked_domains: optional array of string or null` + + - `is_enabled: boolean` + + - `DefaultWorkspaceSettings object` + + The default workspace setting was changed for the organization. + + - `type: optional "default_workspace_settings"` + + default: default_workspace_settings + + - `current_value: optional object or null` + + Setting value immediately after this change + + - `enable_api_keys: optional boolean` + + default: true + + - `previous_value: optional object or null` + + Setting value immediately before this change + + - `enable_api_keys: optional boolean` + + default: true + + - `BatchesDownloadUiEnabledWorkspaceIDs object` + + The batches download UI enabled workspace IDs setting was changed for the organization. + + - `type: optional "batches_download_ui_enabled_workspace_ids"` + + default: batches_download_ui_enabled_workspace_ids + + - `current_value: optional array of string or null` + + Setting value immediately after this change + + - `previous_value: optional array of string or null` + + Setting value immediately before this change + + - `ClaudeCodeManagedSettings object` + + The organization's Claude Code managed settings were changed. + + The full previous and current settings content is provided in the + `previous_value` and `current_value` fields. + + - `type: optional "claude_code_managed_settings"` + + default: claude_code_managed_settings + + - `current_value: optional map[unknown] or null` + + - `current_version: optional number or null` + + - `previous_value: optional map[unknown] or null` + + - `previous_version: optional number or null` + + - `settings_uuid: optional string or null` + + - `AccountSessionDurationSeconds object` + + Tracks changes to the enterprise account session duration setting (in seconds). + + - `type: optional "account_session_duration_seconds"` + + default: account_session_duration_seconds + + - `current_value: optional number or null` + + Setting value immediately after this change + + - `previous_value: optional number or null` + + Setting value immediately before this change + + - `VcsConnections object` + + Tracks changes to VCS (GitHub, etc.) organization connections. + + - `type: optional "vcs_connections"` + + default: vcs_connections + + - `current_value: optional array of object or null` + + Setting value immediately after this change + + - `type: "github"` + + Supported Version Control System providers. + + - `org_name: string` + + - `metadata: optional map[string] or null` + + - `org_id: optional string or null` + + - `previous_value: optional array of object or null` + + Setting value immediately before this change + + - `type: "github"` + + Supported Version Control System providers. + + - `org_name: string` + + - `metadata: optional map[string] or null` + + - `org_id: optional string or null` + + - `DisabledAdminRequestTypes object` + + Tracks changes to which admin request types are disabled. + + - `type: optional "disabled_admin_request_types"` + + default: disabled_admin_request_types + + - `current_value: optional array of string or null` + + Setting value immediately after this change + + - `previous_value: optional array of string or null` + + Setting value immediately before this change + + - `MemberUsageDashboardVisible object` + + The member usage dashboard visibility setting was changed for the organization. + + - `type: optional "member_usage_dashboard_visible"` + + default: member_usage_dashboard_visible + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `CodeExecutionNetworkEgressEnabled object` + + The code execution network egress setting was changed for the organization. + + - `type: optional "code_execution_network_egress_enabled"` + + default: code_execution_network_egress_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `CodeExecutionDomainAllowlistChanged object` + + The code execution domain allowlist setting was changed for the organization. + + - `type: optional "code_execution_domain_allowlist_changed"` + + default: code_execution_domain_allowlist_changed + + - `current_value: optional array of string or null` + + Setting value immediately after this change + + - `previous_value: optional array of string or null` + + Setting value immediately before this change + + - `CodeExecutionDomainAllowlistTemplateChanged object` + + The code execution domain allowlist template setting was changed for the organization. + + - `type: optional "code_execution_domain_allowlist_template_changed"` + + default: code_execution_domain_allowlist_template_changed + + - `current_value: optional "custom" or "full_egress" or "package_managers" or "unspecified" or null` + + Setting value immediately after this change + + - `"custom"` + + - `"full_egress"` + + - `"package_managers"` + + - `"unspecified"` + + - `previous_value: optional "custom" or "full_egress" or "package_managers" or "unspecified" or null` + + Setting value immediately before this change + + - `"custom"` + + - `"full_egress"` + + - `"package_managers"` + + - `"unspecified"` + + - `ChatEnabled object` + + The chat setting was changed for the organization. + + - `type: optional "chat_enabled"` + + default: chat_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeQuickWebSetupEnabled object` + + The Claude Code quick web setup setting was changed for the organization. + + - `type: optional "claude_code_quick_web_setup_enabled"` + + default: claude_code_quick_web_setup_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeTeamMemoryMode object` + + The Claude Code team memory mode setting was changed for the organization. + + - `type: optional "claude_code_team_memory_mode"` + + default: claude_code_team_memory_mode + + - `current_value: optional "all_org_members" or "github_repo" or "off" or 2 more or null` + + Setting value immediately after this change + + - `"all_org_members"` + + - `"github_repo"` + + - `"off"` + + - `"specific_groups"` + + - `"unspecified"` + + - `previous_value: optional "all_org_members" or "github_repo" or "off" or 2 more or null` + + Setting value immediately before this change + + - `"all_org_members"` + + - `"github_repo"` + + - `"off"` + + - `"specific_groups"` + + - `"unspecified"` + + - `BrowserExtensionSettings object` + + The browser extension setting was changed for the organization. + + - `type: optional "browser_extension_settings"` + + default: browser_extension_settings + + - `current_value: optional map[unknown] or null` + + Setting value immediately after this change + + - `previous_value: optional map[unknown] or null` + + Setting value immediately before this change + + - `IsDesktopExtensionAllowlistEnabled object` + + The desktop extension allowlist setting was changed for the organization. + + - `type: optional "is_desktop_extension_allowlist_enabled"` + + default: is_desktop_extension_allowlist_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `AllowMemberDataExport object` + + The per-member self-serve data export setting was changed for the organization. + + - `type: optional "allow_member_data_export"` + + default: allow_member_data_export + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAIDesignEnabled object` + + The Claude Design setting was changed for the organization. + + - `type: optional "claude_ai_design_enabled"` + + default: claude_ai_design_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceEnabled object` + + The setting that turns Claude Science on or off for the organization was changed. + + - `type: optional "claude_science_enabled"` + + default: claude_science_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceMemoryEnabled object` + + The Claude Science memory setting was changed for the organization. + + - `type: optional "claude_science_memory_enabled"` + + default: claude_science_memory_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceCustomConnectorsEnabled object` + + The Claude Science custom connectors setting was changed for the organization. + + - `type: optional "claude_science_custom_connectors_enabled"` + + default: claude_science_custom_connectors_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceCustomSkillsEnabled object` + + The Claude Science custom skills setting was changed for the organization. + + - `type: optional "claude_science_custom_skills_enabled"` + + default: claude_science_custom_skills_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceManagedNetworkAllowlistEnabled object` + + The Claude Science setting that puts the network allowlist under the organization's management, instead of each member managing their own, was changed for the organization. + + - `type: optional "claude_science_managed_network_allowlist_enabled"` + + default: claude_science_managed_network_allowlist_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceSSHHostsEnabled object` + + The Claude Science SSH hosts setting was changed for the organization. + + - `type: optional "claude_science_ssh_hosts_enabled"` + + default: claude_science_ssh_hosts_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceModalEnabled object` + + The Claude Science setting that lets members connect Modal cloud compute was changed for the organization. + + - `type: optional "claude_science_modal_enabled"` + + default: claude_science_modal_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceScientificModelEndpointsEnabled object` + + The Claude Science scientific model endpoints setting was changed for the organization. + + - `type: optional "claude_science_scientific_model_endpoints_enabled"` + + default: claude_science_scientific_model_endpoints_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceNetworkAllowlistChanged object` + + The hostnames on the organization's Claude Science network allowlist, which applies to members while the organization manages the allowlist, were changed. + + - `type: optional "claude_science_network_allowlist_changed"` + + default: claude_science_network_allowlist_changed + + - `current_value: optional array of string or null` + + Setting value immediately after this change: the organization's complete saved allowlist (built-in and custom domains alike) as lowercase hostnames, each optionally prefixed with '*.'. Null means no list is saved (this change reset it), so Claude Science's built-in allowlist applies; an empty list means a list with no domains on it is saved. + + - `previous_value: optional array of string or null` + + Setting value immediately before this change: the organization's complete saved allowlist (built-in and custom domains alike) as lowercase hostnames, each optionally prefixed with '*.'. Null means no list was saved at that point (never saved, or since reset), so Claude Science's built-in allowlist applied; an empty list means a list with no domains on it had been saved. + + - `ClaudeScienceModalWorkspaceAllowlistChanged object` + + The Claude Science Modal cloud compute workspace allowlist setting was changed for the organization. + + - `type: optional "claude_science_modal_workspace_allowlist_changed"` + + default: claude_science_modal_workspace_allowlist_changed + + - `current_value: optional array of string or null` + + Setting value immediately after this change: the Modal workspace names members can connect to. Null or an empty list means any workspace is allowed. + + - `previous_value: optional array of string or null` + + Setting value immediately before this change: the Modal workspace names members could connect to. Null or an empty list means any workspace was allowed. + + - `ClaudeSciencePackageMirrorCondaChannelChanged object` + + The Claude Science package mirror setting for the conda channel was changed for the organization. + + - `type: optional "claude_science_package_mirror_conda_channel_changed"` + + default: claude_science_package_mirror_conda_channel_changed + + - `current_value: optional string or null` + + Setting value immediately after this change: the HTTPS URL of the organization's conda channel mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none is set. + + - `previous_value: optional string or null` + + Setting value immediately before this change: the HTTPS URL of the organization's conda channel mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none was set. + + - `ClaudeSciencePackageMirrorPipIndexChanged object` + + The Claude Science package mirror setting for the Python package index was changed for the organization. + + - `type: optional "claude_science_package_mirror_pip_index_changed"` + + default: claude_science_package_mirror_pip_index_changed + + - `current_value: optional string or null` + + Setting value immediately after this change: the HTTPS URL of the organization's Python (pip) package index mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none is set. + + - `previous_value: optional string or null` + + Setting value immediately before this change: the HTTPS URL of the organization's Python (pip) package index mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none was set. + + - `ClaudeAISkillPluginsScanningEnabled object` + + The skill and plugin security scanning setting was changed for the organization. + + - `type: optional "claude_ai_skill_plugins_scanning_enabled"` + + default: claude_ai_skill_plugins_scanning_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ArtifactPublishingEnabled object` + + The Artifact publishing setting was changed for the organization. + + - `type: optional "artifact_publishing_enabled"` + + default: artifact_publishing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ArtifactExternalSharingEnabled object` + + The Artifact external sharing setting was changed for the organization. + + - `type: optional "artifact_external_sharing_enabled"` + + default: artifact_external_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ArtifactPresenceEnabled object` + + The Artifact presence setting was changed for the organization. + + - `type: optional "artifact_presence_enabled"` + + default: artifact_presence_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAISkillSharingEnabled object` + + The Claude.ai skill sharing setting was changed for the organization. + + - `type: optional "claude_ai_skill_sharing_enabled"` + + default: claude_ai_skill_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAISkillSharingOrgEnabled object` + + The Claude.ai organization-wide skill sharing setting was changed for the organization. + + - `type: optional "claude_ai_skill_sharing_org_enabled"` + + default: claude_ai_skill_sharing_org_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAISkillSharingGroupEnabled object` + + The Claude.ai group-based skill sharing setting was changed for the organization. + + - `type: optional "claude_ai_skill_sharing_group_enabled"` + + default: claude_ai_skill_sharing_group_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAISkillPublishPolicy object` + + The Claude.ai organization skill publish policy was changed for the organization. + + - `type: optional "claude_ai_skill_publish_policy"` + + default: claude_ai_skill_publish_policy + + - `current_value: optional "off" or "open" or "review" or "unspecified" or null` + + Setting value immediately after this change + + - `"off"` + + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `previous_value: optional "off" or "open" or "review" or "unspecified" or null` + + Setting value immediately before this change + + - `"off"` + + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `ClaudeCodeRemoteControlEnabled object` + + The Claude Code remote control setting was changed for the organization. + + - `type: optional "claude_code_remote_control_enabled"` + + default: claude_code_remote_control_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeRemoteControlDefaultEnabled object` + + The Claude Code remote control auto-enable default was changed for the organization. + + - `type: optional "claude_code_remote_control_default_enabled"` + + default: claude_code_remote_control_default_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeRoutinesEnabled object` + + The Claude Code routines setting was changed for the organization. + + - `type: optional "claude_code_routines_enabled"` + + default: claude_code_routines_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeWorkflowsEnabled object` + + The Claude Code Workflows setting was changed for the organization. + + - `type: optional "claude_code_workflows_enabled"` + + default: claude_code_workflows_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `FrontierServicesDataUseEnabled object` + + The frontier services data use setting was changed for the organization. + + - `type: optional "frontier_services_data_use_enabled"` + + default: frontier_services_data_use_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `LtiCourseProjectsEnabled object` + + The LTI course projects setting was changed for the organization. + + - `type: optional "lti_course_projects_enabled"` + + default: lti_course_projects_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAISkillCreationEnabled object` + + The Claude.ai skill creation setting was changed for the organization. + + - `type: optional "claude_ai_skill_creation_enabled"` + + default: claude_ai_skill_creation_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeGitHubAnalyticsEnabled object` + + The Claude Code GitHub analytics setting was changed for the organization. + + - `type: optional "claude_code_github_analytics_enabled"` + + default: claude_code_github_analytics_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeHideManagedEnvironments object` + + The Claude Code hide managed environments setting was changed for the organization. + + - `type: optional "claude_code_hide_managed_environments"` + + default: claude_code_hide_managed_environments + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeAllowSessionPoolMoves object` + + The Claude Code allow session pool moves setting was changed for the organization. + + - `type: optional "claude_code_allow_session_pool_moves"` + + default: claude_code_allow_session_pool_moves + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeDisableAnthropicCompute object` + + The Claude Code disable Anthropic compute setting was changed for the organization. + + - `type: optional "claude_code_disable_anthropic_compute"` + + default: claude_code_disable_anthropic_compute + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeMetricsLoggingEnabled object` + + The Claude Code metrics logging setting was changed for the organization. + + - `type: optional "claude_code_metrics_logging_enabled"` + + default: claude_code_metrics_logging_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeFastModeEnabled object` + + The Claude Code fast mode setting was changed for the organization. + + - `type: optional "claude_code_fast_mode_enabled"` + + default: claude_code_fast_mode_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeCodeTrustedDevicesRequired object` + + The Claude Code trusted devices setting was changed for the organization. + + - `type: optional "claude_code_trusted_devices_required"` + + default: claude_code_trusted_devices_required + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `CoworkTrustedDevicesRequired object` + + The Cowork trusted devices enforcement setting was changed for the organization. + + - `type: optional "cowork_trusted_devices_required"` + + default: cowork_trusted_devices_required + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `InlineVisualizationsEnabled object` + + The inline visualizations setting was changed for the organization. + + - `type: optional "inline_visualizations_enabled"` + + default: inline_visualizations_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `OrganizationBannerSettings object` + + The organization banner setting was changed. + + - `type: optional "organization_banner_settings"` + + default: organization_banner_settings + + - `current_value: optional map[unknown] or null` + + Setting value immediately after this change + + - `previous_value: optional map[unknown] or null` + + Setting value immediately before this change + + - `ClaudeInSlackSettings object` + + The Claude in Slack setting was changed for the organization. + + - `type: optional "claude_in_slack_settings"` + + default: claude_in_slack_settings + + - `current_value: optional map[unknown] or null` + + Setting value immediately after this change + + - `previous_value: optional map[unknown] or null` + + Setting value immediately before this change + + - `ClaudeCodeDefaultWorkerEnvironmentID object` + + The Claude Code default worker environment setting was changed for the organization. + + - `type: optional "claude_code_default_worker_environment_id"` + + default: claude_code_default_worker_environment_id + + - `current_value: optional string or null` + + Setting value immediately after this change + + - `previous_value: optional string or null` + + Setting value immediately before this change + + - `ClaudeCodeDefaultWorkerPoolID object` + + The Claude Code default worker pool setting was changed for the organization. + + - `type: optional "claude_code_default_worker_pool_id"` + + default: claude_code_default_worker_pool_id + + - `current_value: optional string or null` + + Setting value immediately after this change + + - `previous_value: optional string or null` + + Setting value immediately before this change + + - `ManagedAgentsEnabled object` + + The managed agents setting was changed for the organization. + + - `type: optional "managed_agents_enabled"` + + default: managed_agents_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceFeaturedConnectorsDefaultChanged object` + + The organization-wide default for Claude Science featured connectors was changed for the organization. + + - `type: optional "claude_science_featured_connectors_default_changed"` + + default: claude_science_featured_connectors_default_changed + + - `current_value: optional boolean or null` + + Setting value immediately after this change: whether featured connectors not set individually are on for members. Null means no organization-wide default is set (this change removed it), so the plan default applies. + + - `previous_value: optional boolean or null` + + Setting value immediately before this change: whether featured connectors not set individually were on for members. Null means no organization-wide default was set, so the plan default applied. + + - `ClaudeScienceFeaturedConnectorsEnabledListChanged object` + + The list of Claude Science featured connectors individually turned on for members was changed for the organization. + + - `type: optional "claude_science_featured_connectors_enabled_list_changed"` + + default: claude_science_featured_connectors_enabled_list_changed + + - `current_value: optional array of string or null` + + Setting value immediately after this change: the ids of the featured connectors individually turned on. Null or an empty list means none. + + - `previous_value: optional array of string or null` + + Setting value immediately before this change: the ids of the featured connectors individually turned on. Null or an empty list means none. + + - `ClaudeScienceFeaturedConnectorsDisabledListChanged object` + + The list of Claude Science featured connectors individually turned off for members was changed for the organization. + + - `type: optional "claude_science_featured_connectors_disabled_list_changed"` + + default: claude_science_featured_connectors_disabled_list_changed + + - `current_value: optional array of string or null` + + Setting value immediately after this change: the ids of the featured connectors individually turned off. Null or an empty list means none. + + - `previous_value: optional array of string or null` + + Setting value immediately before this change: the ids of the featured connectors individually turned off. Null or an empty list means none. + + - `ClaudeScienceFeaturedSkillsDefaultChanged object` + + The organization-wide default for Claude Science featured skills was changed for the organization. + + - `type: optional "claude_science_featured_skills_default_changed"` + + default: claude_science_featured_skills_default_changed + + - `current_value: optional boolean or null` + + Setting value immediately after this change: whether featured skills not set individually are on for members. Null means no organization-wide default is set (this change removed it), so the plan default applies. + + - `previous_value: optional boolean or null` + + Setting value immediately before this change: whether featured skills not set individually were on for members. Null means no organization-wide default was set, so the plan default applied. + + - `ClaudeScienceFeaturedSkillsEnabledListChanged object` + + The list of Claude Science featured skills individually turned on for members was changed for the organization. + + - `type: optional "claude_science_featured_skills_enabled_list_changed"` + + default: claude_science_featured_skills_enabled_list_changed + + - `current_value: optional array of string or null` + + Setting value immediately after this change: the ids of the featured skills individually turned on. Null or an empty list means none. + + - `previous_value: optional array of string or null` + + Setting value immediately before this change: the ids of the featured skills individually turned on. Null or an empty list means none. + + - `ClaudeScienceFeaturedSkillsDisabledListChanged object` + + The list of Claude Science featured skills individually turned off for members was changed for the organization. + + - `type: optional "claude_science_featured_skills_disabled_list_changed"` + + default: claude_science_featured_skills_disabled_list_changed + + - `current_value: optional array of string or null` + + Setting value immediately after this change: the ids of the featured skills individually turned off. Null or an empty list means none. + + - `previous_value: optional array of string or null` + + Setting value immediately before this change: the ids of the featured skills individually turned off. Null or an empty list means none. + + - `FilesAPIEnabled object` + + The Files API was turned on or off for the organization. + + - `type: optional "files_api_enabled"` + + default: files_api_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `SkillsAPIEnabled object` + + The Skills API was turned on or off for the organization. + + - `type: optional "skills_api_enabled"` + + default: skills_api_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `PasswordManagerIntegrationEnabled object` + + The password manager integration setting was changed for the organization. + + - `type: optional "password_manager_integration_enabled"` + + default: password_manager_integration_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `APIKeyCreationEnabled object` + + The setting that allows members to create new API keys was changed for the organization. + + - `type: optional "api_key_creation_enabled"` + + default: api_key_creation_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAcademyInferenceEnabled object` + + The setting that lets members use Claude in Claude Academy was changed for the organization. + + - `type: optional "claude_academy_inference_enabled"` + + default: claude_academy_inference_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeScienceLocalWorkImportEnabled object` + + The Claude Science setting that lets members access projects, sessions, and artifacts previously saved on their computer under other sign-ins, and add them to their account in the organization, was changed for the organization. + + - `type: optional "claude_science_local_work_import_enabled"` + + default: claude_science_local_work_import_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAIProjectSharingEnabled object` + + The Claude.ai project sharing setting (whether members can share projects with new recipients: people, groups, or the whole organization) was changed for the organization. + + - `type: optional "claude_ai_project_sharing_enabled"` + + default: claude_ai_project_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` Setting value immediately before this change - - `ClaudeScienceCustomSkillsEnabled object` + - `ArtifactTypeSlidesEnabled object` + + The setting that lets members create Slides, one of Anthropic's built-in Artifact types, was changed for the organization. + + - `type: optional "artifact_type_slides_enabled"` + + default: artifact_type_slides_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactTypeDesignEnabled object` + + The setting that lets members create Design, one of Anthropic's built-in Artifact types and separate from the Claude Design setting, was changed for the organization. + + - `type: optional "artifact_type_design_enabled"` + + default: artifact_type_design_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactTypeDesignSystemsEnabled object` + + The setting that lets members create Design systems, one of Anthropic's built-in Artifact types, was changed for the organization. + + - `type: optional "artifact_type_design_systems_enabled"` + + default: artifact_type_design_systems_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactTypeDocsEnabled object` + + The setting that lets members create Claude Docs, one of Anthropic's built-in Artifact types, was changed for the organization. + + - `type: optional "artifact_type_docs_enabled"` + + default: artifact_type_docs_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactTypeMotionEnabled object` + + The setting that lets members create Motion, one of Anthropic's built-in Artifact types, was changed for the organization. + + - `type: optional "artifact_type_motion_enabled"` + + default: artifact_type_motion_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactTypeDashboardsEnabled object` + + The setting that lets members create Dashboards, one of Anthropic's built-in Artifact types, was changed for the organization. + + - `type: optional "artifact_type_dashboards_enabled"` + + default: artifact_type_dashboards_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `BuiltInBrowserDataImportEnabled object` + + The setting that lets members import cookies and site data from other browsers into the Claude desktop app's built-in browser was changed for the organization. + + - `type: optional "built_in_browser_data_import_enabled"` + + default: built_in_browser_data_import_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting was not set, so its default applied. + + - `ConnectorRequestsOptedIn object` + + The organization's opt-in to connector requests, which lets members ask the organization's owners to add a connector, was changed. The "Let members request connectors" switch sets it the first time it is turned on; turning that switch off, or on again, is recorded as a `disabled_admin_request_types` change (`enable_connector` joins or leaves the list). + + - `type: optional "connector_requests_opted_in"` + + default: connector_requests_opted_in + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the organization had never opted in or out. + + - `ArtifactOrganizationWideSharingEnabled object` + + The artifact organization-wide sharing setting was changed for the organization. + + - `type: optional "artifact_organization_wide_sharing_enabled"` + + default: artifact_organization_wide_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactOutsideOrganizationInvitesEnabled object` + + The setting that allows email invitations to an artifact for people outside the organization was changed for the organization. + + - `type: optional "artifact_outside_organization_invites_enabled"` + + default: artifact_outside_organization_invites_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OwnedProjectsAccessRestored object` + + Access to owned projects was restored. + + - `type: optional "owned_projects_access_restored"` + + default: owned_projects_access_restored + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `user_id: optional string or null` + + Tagged ID of the member whose access to their owned projects was restored, when known. + + - `PaymentMethodUpdated object` + + The organization's default payment method was updated. + + - `type: optional "payment_method_updated"` + + default: payment_method_updated + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `PendingShareCreated object` + + A pending share of a project or skill was created for an email address that is not yet an organization member. + + - `type: optional "pending_share_created"` + + default: pending_share_created + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `invitee_email: string` + + Email address the share was created for. + + - `resource_id: string` + + Tagged ID of the resource being shared. + + - `resource_type: string` + + The type of resource being shared. + + - `role: string` + + The role that will be granted when the invitee joins the organization. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `PendingShareRevoked object` + + A pending share of a project or skill was revoked before the invitee joined the organization. + + - `type: optional "pending_share_revoked"` + + default: pending_share_revoked + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` - The Claude Science custom skills setting was changed for the organization. + - `ip_address: optional string or null` - - `type: optional "claude_science_custom_skills_enabled"` + - `user_agent: optional string or null` - default: claude_science_custom_skills_enabled + - `FederatedActor object` - - `current_value: optional boolean or null` + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - Setting value immediately after this change + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `invitee_email: string` + + Email address the share had been created for. + + - `resource_id: string` + + Tagged ID of the resource that was shared. + + - `resource_type: string` + + The type of resource that was shared. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `PhoneCodeSent object` + + User requested a phone verification code. + + - `type: optional "phone_code_sent"` + + default: phone_code_sent + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `PhoneCodeVerified object` + + User successfully verified their phone code. + + - `type: optional "phone_code_verified"` + + default: phone_code_verified + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `PlatformAgentArchived object` + + An agent was archived on the API platform. + + - `type: optional "platform_agent_archived"` + + default: platform_agent_archived + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `agent_id: string` + + The agent that was archived, e.g. "agent_01HX...". + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `workspace_id: optional string or null` + + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + + - `PlatformAgentCreated object` + + An agent was created on the API platform. + + - `type: optional "platform_agent_created"` + + default: platform_agent_created + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. - - `previous_value: optional boolean or null` + - `type: optional "attested_device_actor"` - Setting value immediately before this change + default: attested_device_actor - - `ClaudeScienceManagedNetworkAllowlistEnabled object` + - `external_client_id: string` - The Claude Science setting that puts the network allowlist under the organization's management, instead of each member managing their own, was changed for the organization. + - `kid_hash: string` - - `type: optional "claude_science_managed_network_allowlist_enabled"` + - `ip_address: optional string or null` - default: claude_science_managed_network_allowlist_enabled + - `user_agent: optional string or null` - - `current_value: optional boolean or null` + - `agent_id: string` - Setting value immediately after this change + The agent that was created, e.g. "agent_01HX...". - - `previous_value: optional boolean or null` + - `id: optional string` - Setting value immediately before this change + Unique identifier for the activity e.g. 'activity_abcd1234' - - `ClaudeScienceSSHHostsEnabled object` + - `created_at: optional string` - The Claude Science SSH hosts setting was changed for the organization. + When this activity occurred. - - `type: optional "claude_science_ssh_hosts_enabled"` + format: date-time - default: claude_science_ssh_hosts_enabled + - `organization_id: optional string or null` - - `current_value: optional boolean or null` + Organization ID this activity is associated with - Setting value immediately after this change + - `organization_uuid: optional string or null` - - `previous_value: optional boolean or null` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - Setting value immediately before this change + - `workspace_id: optional string or null` - - `ClaudeScienceModalEnabled object` + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - The Claude Science setting that lets members connect Modal cloud compute was changed for the organization. + - `PlatformAgentDeleted object` - - `type: optional "claude_science_modal_enabled"` + An agent was deleted from the API platform. - default: claude_science_modal_enabled + - `type: optional "platform_agent_deleted"` - - `current_value: optional boolean or null` + default: platform_agent_deleted - Setting value immediately after this change + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `previous_value: optional boolean or null` + - `APIActor object` - Setting value immediately before this change + - `type: optional "api_actor"` - - `ClaudeScienceScientificModelEndpointsEnabled object` + default: api_actor - The Claude Science scientific model endpoints setting was changed for the organization. + - `api_key_id: string` - - `type: optional "claude_science_scientific_model_endpoints_enabled"` + - `ip_address: string` - default: claude_science_scientific_model_endpoints_enabled + - `user_agent: string` - - `current_value: optional boolean or null` + - `UserActor object` - Setting value immediately after this change + - `type: optional "user_actor"` - - `previous_value: optional boolean or null` + default: user_actor - Setting value immediately before this change + - `email_address: string` - - `ClaudeScienceNetworkAllowlistChanged object` + format: email - The hostnames on the organization's Claude Science network allowlist, which applies to members while the organization manages the allowlist, were changed. + - `ip_address: string` - - `type: optional "claude_science_network_allowlist_changed"` + - `user_agent: string` - default: claude_science_network_allowlist_changed + - `user_id: string` - - `current_value: optional array of string or null` + - `UnauthenticatedUserActor object` - Setting value immediately after this change: the organization's complete saved allowlist (built-in and custom domains alike) as lowercase hostnames, each optionally prefixed with '*.'. Null means no list is saved (this change reset it), so Claude Science's built-in allowlist applies; an empty list means a list with no domains on it is saved. + - `type: optional "unauthenticated_user_actor"` - - `previous_value: optional array of string or null` + default: unauthenticated_user_actor - Setting value immediately before this change: the organization's complete saved allowlist (built-in and custom domains alike) as lowercase hostnames, each optionally prefixed with '*.'. Null means no list was saved at that point (never saved, or since reset), so Claude Science's built-in allowlist applied; an empty list means a list with no domains on it had been saved. + - `ip_address: string` - - `ClaudeScienceModalWorkspaceAllowlistChanged object` + - `user_agent: string` - The Claude Science Modal cloud compute workspace allowlist setting was changed for the organization. + - `unauthenticated_email_address: optional string or null` - - `type: optional "claude_science_modal_workspace_allowlist_changed"` + format: email - default: claude_science_modal_workspace_allowlist_changed + - `AnthropicActor object` - - `current_value: optional array of string or null` + - `type: optional "anthropic_actor"` - Setting value immediately after this change: the Modal workspace names members can connect to. Null or an empty list means any workspace is allowed. + default: anthropic_actor - - `previous_value: optional array of string or null` + - `email_address: optional string or null` - Setting value immediately before this change: the Modal workspace names members could connect to. Null or an empty list means any workspace was allowed. + format: email - - `ClaudeSciencePackageMirrorCondaChannelChanged object` + - `SystemActor object` - The Claude Science package mirror setting for the conda channel was changed for the organization. + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - - `type: optional "claude_science_package_mirror_conda_channel_changed"` + - `type: optional "system_actor"` - default: claude_science_package_mirror_conda_channel_changed + default: system_actor - - `current_value: optional string or null` + - `service: optional string or null` - Setting value immediately after this change: the HTTPS URL of the organization's conda channel mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none is set. + Name of the automated process that performed the action, when known. - - `previous_value: optional string or null` + - `AdminAPIKeyActor object` - Setting value immediately before this change: the HTTPS URL of the organization's conda channel mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none was set. + - `type: optional "admin_api_key_actor"` - - `ClaudeSciencePackageMirrorPipIndexChanged object` + default: admin_api_key_actor - The Claude Science package mirror setting for the Python package index was changed for the organization. + - `admin_api_key_id: string` - - `type: optional "claude_science_package_mirror_pip_index_changed"` + - `ip_address: string` - default: claude_science_package_mirror_pip_index_changed + - `user_agent: string` - - `current_value: optional string or null` + - `ServiceAccountActor object` - Setting value immediately after this change: the HTTPS URL of the organization's Python (pip) package index mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none is set. + - `type: optional "service_account_actor"` - - `previous_value: optional string or null` + default: service_account_actor - Setting value immediately before this change: the HTTPS URL of the organization's Python (pip) package index mirror, as saved (scheme, host, any non-default port, and path; the setting does not accept a username or password, a query string or a fragment in the URL). Null means none was set. + - `ip_address: string` - - `ClaudeAISkillPluginsScanningEnabled object` + - `service_account_id: string` - The skill and plugin security scanning setting was changed for the organization. + - `user_agent: string` - - `type: optional "claude_ai_skill_plugins_scanning_enabled"` + - `ScimDirectorySyncActor object` - default: claude_ai_skill_plugins_scanning_enabled + - `type: optional "scim_directory_sync_actor"` - - `current_value: optional boolean or null` + default: scim_directory_sync_actor - Setting value immediately after this change + - `directory_id: string` - - `previous_value: optional boolean or null` + - `workos_event_id: string` - Setting value immediately before this change + - `idp_connection_type: optional string or null` - - `ArtifactPublishingEnabled object` + - `FederatedIdentityActor object` - The Artifact publishing setting was changed for the organization. + A federated external workload authenticated via a verified OIDC token. - - `type: optional "artifact_publishing_enabled"` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - default: artifact_publishing_enabled + - `type: optional "federated_identity_actor"` - - `current_value: optional boolean or null` + default: federated_identity_actor - Setting value immediately after this change + - `issuer: string` - - `previous_value: optional boolean or null` + - `subject: string` - Setting value immediately before this change + - `audience: optional array of string` - - `ArtifactExternalSharingEnabled object` + - `ip_address: optional string or null` - The Artifact external sharing setting was changed for the organization. + - `user_agent: optional string or null` - - `type: optional "artifact_external_sharing_enabled"` + - `FederatedActor object` - default: artifact_external_sharing_enabled + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - - `current_value: optional boolean or null` + - `type: optional "federated_actor"` - Setting value immediately after this change + default: federated_actor - - `previous_value: optional boolean or null` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - Setting value immediately before this change + - `FederatedActorAwsProvider object` - - `ArtifactPresenceEnabled object` + Asserting party: the AWS account the organization is bound to. - The Artifact presence setting was changed for the organization. + - `type: optional "aws"` - - `type: optional "artifact_presence_enabled"` + default: aws - default: artifact_presence_enabled + - `account_id: string` - - `current_value: optional boolean or null` + - `signed_principal: string` - Setting value immediately after this change + The AWS-signed ARN of the IAM principal that requested the token. - - `previous_value: optional boolean or null` + - `FederatedActorAzureProvider object` - Setting value immediately before this change + Asserting party: the Azure subscription the organization is bound to. - - `ClaudeAISkillSharingEnabled object` + - `type: optional "azure"` - The Claude.ai skill sharing setting was changed for the organization. + default: azure - - `type: optional "claude_ai_skill_sharing_enabled"` + - `subscription_id: string` - default: claude_ai_skill_sharing_enabled + - `FederatedActorGcpProvider object` - - `current_value: optional boolean or null` + Asserting party: the GCP project the organization is bound to. - Setting value immediately after this change + - `type: optional "gcp"` - - `previous_value: optional boolean or null` + default: gcp - Setting value immediately before this change + - `project_number: string` - - `ClaudeAISkillSharingOrgEnabled object` + - `FederatedActorOidcProvider object` - The Claude.ai organization-wide skill sharing setting was changed for the organization. + Asserting party: a customer-registered OIDC federation issuer. - - `type: optional "claude_ai_skill_sharing_org_enabled"` + - `type: optional "oidc"` - default: claude_ai_skill_sharing_org_enabled + default: oidc - - `current_value: optional boolean or null` + - `issuer: optional string or null` - Setting value immediately after this change + The federation issuer's URL. Null when the presented credential failed verification. - - `previous_value: optional boolean or null` + - `ip_address: optional string or null` - Setting value immediately before this change + - `subject: optional string or null` - - `ClaudeAISkillSharingGroupEnabled object` + The provider's verified identifier for the caller; its form depends on the provider. - The Claude.ai group-based skill sharing setting was changed for the organization. + - `user_agent: optional string or null` - - `type: optional "claude_ai_skill_sharing_group_enabled"` + - `AttestedDeviceActor object` - default: claude_ai_skill_sharing_group_enabled + An attested mobile device authenticated via Apple App Attest. - - `current_value: optional boolean or null` + - `type: optional "attested_device_actor"` - Setting value immediately after this change + default: attested_device_actor - - `previous_value: optional boolean or null` + - `external_client_id: string` - Setting value immediately before this change + - `kid_hash: string` - - `ClaudeAISkillPublishPolicy object` + - `ip_address: optional string or null` - The Claude.ai organization skill publish policy was changed for the organization. + - `user_agent: optional string or null` - - `type: optional "claude_ai_skill_publish_policy"` + - `agent_id: string` - default: claude_ai_skill_publish_policy + The agent that was deleted, e.g. "agent_01HX...". - - `current_value: optional "off" or "open" or "review" or "unspecified" or null` + - `id: optional string` - Setting value immediately after this change + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"off"` + - `created_at: optional string` - - `"open"` + When this activity occurred. - - `"review"` + format: date-time - - `"unspecified"` + - `organization_id: optional string or null` - - `previous_value: optional "off" or "open" or "review" or "unspecified" or null` + Organization ID this activity is associated with - Setting value immediately before this change + - `organization_uuid: optional string or null` - - `"off"` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `"open"` + - `workspace_id: optional string or null` - - `"review"` + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `"unspecified"` + - `PlatformAgentDeploymentArchived object` - - `ClaudeCodeRemoteControlEnabled object` + An agent deployment was archived on the API platform. - The Claude Code remote control setting was changed for the organization. + - `type: optional "platform_agent_deployment_archived"` - - `type: optional "claude_code_remote_control_enabled"` + default: platform_agent_deployment_archived - default: claude_code_remote_control_enabled + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `current_value: optional boolean or null` + - `APIActor object` - Setting value immediately after this change + - `type: optional "api_actor"` - - `previous_value: optional boolean or null` + default: api_actor - Setting value immediately before this change + - `api_key_id: string` - - `ClaudeCodeRemoteControlDefaultEnabled object` + - `ip_address: string` - The Claude Code remote control auto-enable default was changed for the organization. + - `user_agent: string` - - `type: optional "claude_code_remote_control_default_enabled"` + - `UserActor object` - default: claude_code_remote_control_default_enabled + - `type: optional "user_actor"` - - `current_value: optional boolean or null` + default: user_actor - Setting value immediately after this change + - `email_address: string` - - `previous_value: optional boolean or null` + format: email - Setting value immediately before this change + - `ip_address: string` - - `ClaudeCodeRoutinesEnabled object` + - `user_agent: string` - The Claude Code routines setting was changed for the organization. + - `user_id: string` - - `type: optional "claude_code_routines_enabled"` + - `UnauthenticatedUserActor object` - default: claude_code_routines_enabled + - `type: optional "unauthenticated_user_actor"` - - `current_value: optional boolean or null` + default: unauthenticated_user_actor - Setting value immediately after this change + - `ip_address: string` - - `previous_value: optional boolean or null` + - `user_agent: string` - Setting value immediately before this change + - `unauthenticated_email_address: optional string or null` - - `ClaudeCodeWorkflowsEnabled object` + format: email - The Claude Code Workflows setting was changed for the organization. + - `AnthropicActor object` - - `type: optional "claude_code_workflows_enabled"` + - `type: optional "anthropic_actor"` - default: claude_code_workflows_enabled + default: anthropic_actor - - `current_value: optional boolean or null` + - `email_address: optional string or null` - Setting value immediately after this change + format: email - - `previous_value: optional boolean or null` + - `SystemActor object` - Setting value immediately before this change + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - - `FrontierServicesDataUseEnabled object` + - `type: optional "system_actor"` - The frontier services data use setting was changed for the organization. + default: system_actor - - `type: optional "frontier_services_data_use_enabled"` + - `service: optional string or null` - default: frontier_services_data_use_enabled + Name of the automated process that performed the action, when known. - - `current_value: optional boolean or null` + - `AdminAPIKeyActor object` - Setting value immediately after this change + - `type: optional "admin_api_key_actor"` - - `previous_value: optional boolean or null` + default: admin_api_key_actor - Setting value immediately before this change + - `admin_api_key_id: string` - - `LtiCourseProjectsEnabled object` + - `ip_address: string` - The LTI course projects setting was changed for the organization. + - `user_agent: string` - - `type: optional "lti_course_projects_enabled"` + - `ServiceAccountActor object` - default: lti_course_projects_enabled + - `type: optional "service_account_actor"` - - `current_value: optional boolean or null` + default: service_account_actor - Setting value immediately after this change + - `ip_address: string` - - `previous_value: optional boolean or null` + - `service_account_id: string` - Setting value immediately before this change + - `user_agent: string` - - `ClaudeAISkillCreationEnabled object` + - `ScimDirectorySyncActor object` - The Claude.ai skill creation setting was changed for the organization. + - `type: optional "scim_directory_sync_actor"` - - `type: optional "claude_ai_skill_creation_enabled"` + default: scim_directory_sync_actor - default: claude_ai_skill_creation_enabled + - `directory_id: string` - - `current_value: optional boolean or null` + - `workos_event_id: string` - Setting value immediately after this change + - `idp_connection_type: optional string or null` - - `previous_value: optional boolean or null` + - `FederatedIdentityActor object` - Setting value immediately before this change + A federated external workload authenticated via a verified OIDC token. - - `ClaudeCodeGitHubAnalyticsEnabled object` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - The Claude Code GitHub analytics setting was changed for the organization. + - `type: optional "federated_identity_actor"` - - `type: optional "claude_code_github_analytics_enabled"` + default: federated_identity_actor - default: claude_code_github_analytics_enabled + - `issuer: string` - - `current_value: optional boolean or null` + - `subject: string` - Setting value immediately after this change + - `audience: optional array of string` - - `previous_value: optional boolean or null` + - `ip_address: optional string or null` - Setting value immediately before this change + - `user_agent: optional string or null` - - `ClaudeCodeHideManagedEnvironments object` + - `FederatedActor object` - The Claude Code hide managed environments setting was changed for the organization. + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - - `type: optional "claude_code_hide_managed_environments"` + - `type: optional "federated_actor"` - default: claude_code_hide_managed_environments + default: federated_actor - - `current_value: optional boolean or null` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - Setting value immediately after this change + - `FederatedActorAwsProvider object` - - `previous_value: optional boolean or null` + Asserting party: the AWS account the organization is bound to. - Setting value immediately before this change + - `type: optional "aws"` - - `ClaudeCodeAllowSessionPoolMoves object` + default: aws - The Claude Code allow session pool moves setting was changed for the organization. + - `account_id: string` - - `type: optional "claude_code_allow_session_pool_moves"` + - `signed_principal: string` - default: claude_code_allow_session_pool_moves + The AWS-signed ARN of the IAM principal that requested the token. - - `current_value: optional boolean or null` + - `FederatedActorAzureProvider object` - Setting value immediately after this change + Asserting party: the Azure subscription the organization is bound to. - - `previous_value: optional boolean or null` + - `type: optional "azure"` - Setting value immediately before this change + default: azure - - `ClaudeCodeDisableAnthropicCompute object` + - `subscription_id: string` - The Claude Code disable Anthropic compute setting was changed for the organization. + - `FederatedActorGcpProvider object` - - `type: optional "claude_code_disable_anthropic_compute"` + Asserting party: the GCP project the organization is bound to. - default: claude_code_disable_anthropic_compute + - `type: optional "gcp"` - - `current_value: optional boolean or null` + default: gcp - Setting value immediately after this change + - `project_number: string` - - `previous_value: optional boolean or null` + - `FederatedActorOidcProvider object` - Setting value immediately before this change + Asserting party: a customer-registered OIDC federation issuer. - - `ClaudeCodeMetricsLoggingEnabled object` + - `type: optional "oidc"` - The Claude Code metrics logging setting was changed for the organization. + default: oidc - - `type: optional "claude_code_metrics_logging_enabled"` + - `issuer: optional string or null` - default: claude_code_metrics_logging_enabled + The federation issuer's URL. Null when the presented credential failed verification. - - `current_value: optional boolean or null` + - `ip_address: optional string or null` - Setting value immediately after this change + - `subject: optional string or null` - - `previous_value: optional boolean or null` + The provider's verified identifier for the caller; its form depends on the provider. - Setting value immediately before this change + - `user_agent: optional string or null` - - `ClaudeCodeFastModeEnabled object` + - `AttestedDeviceActor object` - The Claude Code fast mode setting was changed for the organization. + An attested mobile device authenticated via Apple App Attest. - - `type: optional "claude_code_fast_mode_enabled"` + - `type: optional "attested_device_actor"` - default: claude_code_fast_mode_enabled + default: attested_device_actor - - `current_value: optional boolean or null` + - `external_client_id: string` - Setting value immediately after this change + - `kid_hash: string` - - `previous_value: optional boolean or null` + - `ip_address: optional string or null` - Setting value immediately before this change + - `user_agent: optional string or null` - - `ClaudeCodeTrustedDevicesRequired object` + - `deployment_id: string` - The Claude Code trusted devices setting was changed for the organization. + The agent deployment that was archived, e.g. "depl_01HX...". - - `type: optional "claude_code_trusted_devices_required"` + - `id: optional string` - default: claude_code_trusted_devices_required + Unique identifier for the activity e.g. 'activity_abcd1234' - - `current_value: optional boolean or null` + - `created_at: optional string` - Setting value immediately after this change + When this activity occurred. - - `previous_value: optional boolean or null` + format: date-time - Setting value immediately before this change + - `organization_id: optional string or null` - - `CoworkTrustedDevicesRequired object` + Organization ID this activity is associated with - The Cowork trusted devices enforcement setting was changed for the organization. + - `organization_uuid: optional string or null` - - `type: optional "cowork_trusted_devices_required"` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - default: cowork_trusted_devices_required + - `workspace_id: optional string or null` - - `current_value: optional boolean or null` + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - Setting value immediately after this change + - `PlatformAgentDeploymentCreated object` - - `previous_value: optional boolean or null` + An agent deployment was created on the API platform. - Setting value immediately before this change + - `type: optional "platform_agent_deployment_created"` - - `InlineVisualizationsEnabled object` + default: platform_agent_deployment_created - The inline visualizations setting was changed for the organization. + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `type: optional "inline_visualizations_enabled"` + - `APIActor object` - default: inline_visualizations_enabled + - `type: optional "api_actor"` - - `current_value: optional boolean or null` + default: api_actor - Setting value immediately after this change + - `api_key_id: string` - - `previous_value: optional boolean or null` + - `ip_address: string` - Setting value immediately before this change + - `user_agent: string` - - `OrganizationBannerSettings object` + - `UserActor object` - The organization banner setting was changed. + - `type: optional "user_actor"` - - `type: optional "organization_banner_settings"` + default: user_actor - default: organization_banner_settings + - `email_address: string` - - `current_value: optional map[unknown] or null` + format: email - Setting value immediately after this change + - `ip_address: string` - - `previous_value: optional map[unknown] or null` + - `user_agent: string` - Setting value immediately before this change + - `user_id: string` - - `ClaudeInSlackSettings object` + - `UnauthenticatedUserActor object` - The Claude in Slack setting was changed for the organization. + - `type: optional "unauthenticated_user_actor"` - - `type: optional "claude_in_slack_settings"` + default: unauthenticated_user_actor - default: claude_in_slack_settings + - `ip_address: string` - - `current_value: optional map[unknown] or null` + - `user_agent: string` - Setting value immediately after this change + - `unauthenticated_email_address: optional string or null` - - `previous_value: optional map[unknown] or null` + format: email - Setting value immediately before this change + - `AnthropicActor object` - - `ClaudeCodeDefaultWorkerEnvironmentID object` + - `type: optional "anthropic_actor"` - The Claude Code default worker environment setting was changed for the organization. + default: anthropic_actor - - `type: optional "claude_code_default_worker_environment_id"` + - `email_address: optional string or null` - default: claude_code_default_worker_environment_id + format: email - - `current_value: optional string or null` + - `SystemActor object` - Setting value immediately after this change + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - - `previous_value: optional string or null` + - `type: optional "system_actor"` - Setting value immediately before this change + default: system_actor - - `ClaudeCodeDefaultWorkerPoolID object` + - `service: optional string or null` - The Claude Code default worker pool setting was changed for the organization. + Name of the automated process that performed the action, when known. - - `type: optional "claude_code_default_worker_pool_id"` + - `AdminAPIKeyActor object` - default: claude_code_default_worker_pool_id + - `type: optional "admin_api_key_actor"` - - `current_value: optional string or null` + default: admin_api_key_actor - Setting value immediately after this change + - `admin_api_key_id: string` - - `previous_value: optional string or null` + - `ip_address: string` - Setting value immediately before this change + - `user_agent: string` - - `ManagedAgentsEnabled object` + - `ServiceAccountActor object` - The managed agents setting was changed for the organization. + - `type: optional "service_account_actor"` - - `type: optional "managed_agents_enabled"` + default: service_account_actor - default: managed_agents_enabled + - `ip_address: string` - - `current_value: optional boolean or null` + - `service_account_id: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional boolean or null` + - `ScimDirectorySyncActor object` - Setting value immediately before this change + - `type: optional "scim_directory_sync_actor"` - - `ClaudeScienceFeaturedConnectorsDefaultChanged object` + default: scim_directory_sync_actor - The organization-wide default for Claude Science featured connectors was changed for the organization. + - `directory_id: string` - - `type: optional "claude_science_featured_connectors_default_changed"` + - `workos_event_id: string` - default: claude_science_featured_connectors_default_changed + - `idp_connection_type: optional string or null` - - `current_value: optional boolean or null` + - `FederatedIdentityActor object` - Setting value immediately after this change: whether featured connectors not set individually are on for members. Null means no organization-wide default is set (this change removed it), so the plan default applies. + A federated external workload authenticated via a verified OIDC token. - - `previous_value: optional boolean or null` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - Setting value immediately before this change: whether featured connectors not set individually were on for members. Null means no organization-wide default was set, so the plan default applied. + - `type: optional "federated_identity_actor"` - - `ClaudeScienceFeaturedConnectorsEnabledListChanged object` + default: federated_identity_actor - The list of Claude Science featured connectors individually turned on for members was changed for the organization. + - `issuer: string` - - `type: optional "claude_science_featured_connectors_enabled_list_changed"` + - `subject: string` - default: claude_science_featured_connectors_enabled_list_changed + - `audience: optional array of string` - - `current_value: optional array of string or null` + - `ip_address: optional string or null` - Setting value immediately after this change: the ids of the featured connectors individually turned on. Null or an empty list means none. + - `user_agent: optional string or null` - - `previous_value: optional array of string or null` + - `FederatedActor object` - Setting value immediately before this change: the ids of the featured connectors individually turned on. Null or an empty list means none. + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - - `ClaudeScienceFeaturedConnectorsDisabledListChanged object` + - `type: optional "federated_actor"` - The list of Claude Science featured connectors individually turned off for members was changed for the organization. + default: federated_actor - - `type: optional "claude_science_featured_connectors_disabled_list_changed"` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - default: claude_science_featured_connectors_disabled_list_changed + - `FederatedActorAwsProvider object` - - `current_value: optional array of string or null` + Asserting party: the AWS account the organization is bound to. - Setting value immediately after this change: the ids of the featured connectors individually turned off. Null or an empty list means none. + - `type: optional "aws"` - - `previous_value: optional array of string or null` + default: aws - Setting value immediately before this change: the ids of the featured connectors individually turned off. Null or an empty list means none. + - `account_id: string` - - `ClaudeScienceFeaturedSkillsDefaultChanged object` + - `signed_principal: string` - The organization-wide default for Claude Science featured skills was changed for the organization. + The AWS-signed ARN of the IAM principal that requested the token. - - `type: optional "claude_science_featured_skills_default_changed"` + - `FederatedActorAzureProvider object` - default: claude_science_featured_skills_default_changed + Asserting party: the Azure subscription the organization is bound to. - - `current_value: optional boolean or null` + - `type: optional "azure"` - Setting value immediately after this change: whether featured skills not set individually are on for members. Null means no organization-wide default is set (this change removed it), so the plan default applies. + default: azure - - `previous_value: optional boolean or null` + - `subscription_id: string` - Setting value immediately before this change: whether featured skills not set individually were on for members. Null means no organization-wide default was set, so the plan default applied. + - `FederatedActorGcpProvider object` - - `ClaudeScienceFeaturedSkillsEnabledListChanged object` + Asserting party: the GCP project the organization is bound to. - The list of Claude Science featured skills individually turned on for members was changed for the organization. + - `type: optional "gcp"` - - `type: optional "claude_science_featured_skills_enabled_list_changed"` + default: gcp - default: claude_science_featured_skills_enabled_list_changed + - `project_number: string` - - `current_value: optional array of string or null` + - `FederatedActorOidcProvider object` - Setting value immediately after this change: the ids of the featured skills individually turned on. Null or an empty list means none. + Asserting party: a customer-registered OIDC federation issuer. - - `previous_value: optional array of string or null` + - `type: optional "oidc"` - Setting value immediately before this change: the ids of the featured skills individually turned on. Null or an empty list means none. + default: oidc - - `ClaudeScienceFeaturedSkillsDisabledListChanged object` + - `issuer: optional string or null` - The list of Claude Science featured skills individually turned off for members was changed for the organization. + The federation issuer's URL. Null when the presented credential failed verification. - - `type: optional "claude_science_featured_skills_disabled_list_changed"` + - `ip_address: optional string or null` - default: claude_science_featured_skills_disabled_list_changed + - `subject: optional string or null` - - `current_value: optional array of string or null` + The provider's verified identifier for the caller; its form depends on the provider. - Setting value immediately after this change: the ids of the featured skills individually turned off. Null or an empty list means none. + - `user_agent: optional string or null` - - `previous_value: optional array of string or null` + - `AttestedDeviceActor object` - Setting value immediately before this change: the ids of the featured skills individually turned off. Null or an empty list means none. + An attested mobile device authenticated via Apple App Attest. - - `FilesAPIEnabled object` + - `type: optional "attested_device_actor"` - The Files API was turned on or off for the organization. + default: attested_device_actor - - `type: optional "files_api_enabled"` + - `external_client_id: string` - default: files_api_enabled + - `kid_hash: string` - - `current_value: optional boolean or null` + - `ip_address: optional string or null` - Setting value immediately after this change + - `user_agent: optional string or null` - - `previous_value: optional boolean or null` + - `deployment_id: string` - Setting value immediately before this change + The agent deployment that was created, e.g. "depl_01HX...". - - `SkillsAPIEnabled object` + - `id: optional string` - The Skills API was turned on or off for the organization. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `type: optional "skills_api_enabled"` + - `created_at: optional string` - default: skills_api_enabled + When this activity occurred. - - `current_value: optional boolean or null` + format: date-time - Setting value immediately after this change + - `organization_id: optional string or null` - - `previous_value: optional boolean or null` + Organization ID this activity is associated with - Setting value immediately before this change + - `organization_uuid: optional string or null` - - `PasswordManagerIntegrationEnabled object` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - The password manager integration setting was changed for the organization. + - `workspace_id: optional string or null` - - `type: optional "password_manager_integration_enabled"` + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - default: password_manager_integration_enabled + - `PlatformAgentDeploymentDeleted object` - - `current_value: optional boolean or null` + An agent deployment was deleted from the API platform. - Setting value immediately after this change + - `type: optional "platform_agent_deployment_deleted"` - - `previous_value: optional boolean or null` + default: platform_agent_deployment_deleted - Setting value immediately before this change + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `APIKeyCreationEnabled object` + - `APIActor object` - The setting that allows members to create new API keys was changed for the organization. + - `type: optional "api_actor"` - - `type: optional "api_key_creation_enabled"` + default: api_actor - default: api_key_creation_enabled + - `api_key_id: string` - - `current_value: optional boolean or null` + - `ip_address: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional boolean or null` + - `UserActor object` - Setting value immediately before this change + - `type: optional "user_actor"` - - `ClaudeAcademyInferenceEnabled object` + default: user_actor - The setting that lets members use Claude in Claude Academy was changed for the organization. + - `email_address: string` - - `type: optional "claude_academy_inference_enabled"` + format: email - default: claude_academy_inference_enabled + - `ip_address: string` - - `current_value: optional boolean or null` + - `user_agent: string` - Setting value immediately after this change + - `user_id: string` - - `previous_value: optional boolean or null` + - `UnauthenticatedUserActor object` - Setting value immediately before this change + - `type: optional "unauthenticated_user_actor"` - - `ClaudeScienceLocalWorkImportEnabled object` + default: unauthenticated_user_actor - The Claude Science setting that lets members access projects, sessions, and artifacts previously saved on their computer under other sign-ins, and add them to their account in the organization, was changed for the organization. + - `ip_address: string` - - `type: optional "claude_science_local_work_import_enabled"` + - `user_agent: string` - default: claude_science_local_work_import_enabled + - `unauthenticated_email_address: optional string or null` - - `current_value: optional boolean or null` + format: email - Setting value immediately after this change + - `AnthropicActor object` - - `previous_value: optional boolean or null` + - `type: optional "anthropic_actor"` - Setting value immediately before this change + default: anthropic_actor - - `ClaudeAIProjectSharingEnabled object` + - `email_address: optional string or null` - The Claude.ai project sharing setting (whether members can share projects with new recipients: people, groups, or the whole organization) was changed for the organization. + format: email - - `type: optional "claude_ai_project_sharing_enabled"` + - `SystemActor object` - default: claude_ai_project_sharing_enabled + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - - `current_value: optional boolean or null` + - `type: optional "system_actor"` - Setting value immediately after this change + default: system_actor - - `previous_value: optional boolean or null` + - `service: optional string or null` - Setting value immediately before this change + Name of the automated process that performed the action, when known. - - `ArtifactTypeSlidesEnabled object` + - `AdminAPIKeyActor object` - The setting that lets members create Slides, one of Anthropic's built-in Artifact types, was changed for the organization. + - `type: optional "admin_api_key_actor"` - - `type: optional "artifact_type_slides_enabled"` + default: admin_api_key_actor - default: artifact_type_slides_enabled + - `admin_api_key_id: string` - - `current_value: optional boolean or null` + - `ip_address: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional boolean or null` + - `ServiceAccountActor object` - Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + - `type: optional "service_account_actor"` - - `ArtifactTypeDesignEnabled object` + default: service_account_actor - The setting that lets members create Design, one of Anthropic's built-in Artifact types and separate from the Claude Design setting, was changed for the organization. + - `ip_address: string` - - `type: optional "artifact_type_design_enabled"` + - `service_account_id: string` - default: artifact_type_design_enabled + - `user_agent: string` - - `current_value: optional boolean or null` + - `ScimDirectorySyncActor object` - Setting value immediately after this change + - `type: optional "scim_directory_sync_actor"` - - `previous_value: optional boolean or null` + default: scim_directory_sync_actor - Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + - `directory_id: string` - - `ArtifactTypeDesignSystemsEnabled object` + - `workos_event_id: string` - The setting that lets members create Design systems, one of Anthropic's built-in Artifact types, was changed for the organization. + - `idp_connection_type: optional string or null` - - `type: optional "artifact_type_design_systems_enabled"` + - `FederatedIdentityActor object` - default: artifact_type_design_systems_enabled + A federated external workload authenticated via a verified OIDC token. - - `current_value: optional boolean or null` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - Setting value immediately after this change + - `type: optional "federated_identity_actor"` - - `previous_value: optional boolean or null` + default: federated_identity_actor - Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + - `issuer: string` - - `ArtifactTypeDocsEnabled object` + - `subject: string` - The setting that lets members create Claude Docs, one of Anthropic's built-in Artifact types, was changed for the organization. + - `audience: optional array of string` - - `type: optional "artifact_type_docs_enabled"` + - `ip_address: optional string or null` - default: artifact_type_docs_enabled + - `user_agent: optional string or null` - - `current_value: optional boolean or null` + - `FederatedActor object` - Setting value immediately after this change + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - - `previous_value: optional boolean or null` + - `type: optional "federated_actor"` - Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + default: federated_actor - - `ArtifactTypeMotionEnabled object` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - The setting that lets members create Motion, one of Anthropic's built-in Artifact types, was changed for the organization. + - `FederatedActorAwsProvider object` - - `type: optional "artifact_type_motion_enabled"` + Asserting party: the AWS account the organization is bound to. - default: artifact_type_motion_enabled + - `type: optional "aws"` - - `current_value: optional boolean or null` + default: aws - Setting value immediately after this change + - `account_id: string` - - `previous_value: optional boolean or null` + - `signed_principal: string` - Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + The AWS-signed ARN of the IAM principal that requested the token. - - `ArtifactTypeDashboardsEnabled object` + - `FederatedActorAzureProvider object` - The setting that lets members create Dashboards, one of Anthropic's built-in Artifact types, was changed for the organization. + Asserting party: the Azure subscription the organization is bound to. - - `type: optional "artifact_type_dashboards_enabled"` + - `type: optional "azure"` - default: artifact_type_dashboards_enabled + default: azure - - `current_value: optional boolean or null` + - `subscription_id: string` - Setting value immediately after this change + - `FederatedActorGcpProvider object` - - `previous_value: optional boolean or null` + Asserting party: the GCP project the organization is bound to. - Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + - `type: optional "gcp"` - - `BuiltInBrowserDataImportEnabled object` + default: gcp - The setting that lets members import cookies and site data from other browsers into the Claude desktop app's built-in browser was changed for the organization. + - `project_number: string` - - `type: optional "built_in_browser_data_import_enabled"` + - `FederatedActorOidcProvider object` - default: built_in_browser_data_import_enabled + Asserting party: a customer-registered OIDC federation issuer. - - `current_value: optional boolean or null` + - `type: optional "oidc"` - Setting value immediately after this change + default: oidc - - `previous_value: optional boolean or null` + - `issuer: optional string or null` - Setting value immediately before this change. Null means the setting was not set, so its default applied. + The federation issuer's URL. Null when the presented credential failed verification. - - `ConnectorRequestsOptedIn object` + - `ip_address: optional string or null` - The organization's opt-in to connector requests, which lets members ask the organization's owners to add a connector, was changed. The "Let members request connectors" switch sets it the first time it is turned on; turning that switch off, or on again, is recorded as a `disabled_admin_request_types` change (`enable_connector` joins or leaves the list). + - `subject: optional string or null` - - `type: optional "connector_requests_opted_in"` + The provider's verified identifier for the caller; its form depends on the provider. - default: connector_requests_opted_in + - `user_agent: optional string or null` - - `current_value: optional boolean or null` + - `AttestedDeviceActor object` - Setting value immediately after this change + An attested mobile device authenticated via Apple App Attest. - - `previous_value: optional boolean or null` + - `type: optional "attested_device_actor"` - Setting value immediately before this change. Null means the organization had never opted in or out. + default: attested_device_actor - - `id: optional string` + - `external_client_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `kid_hash: string` - - `attestations: optional array of object` + - `ip_address: optional string or null` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + - `user_agent: optional string or null` - - `type: string` + - `deployment_id: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The agent deployment that was deleted, e.g. "depl_01HX...". - - `content_hash: string` + - `id: optional string` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -95246,13 +100292,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OwnedProjectsAccessRestored object` + - `workspace_id: optional string or null` - Access to owned projects was restored. + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `type: optional "owned_projects_access_restored"` + - `PlatformAgentDeploymentPaused object` - default: owned_projects_access_restored + An agent deployment was paused on the API platform. + + - `type: optional "platform_agent_deployment_paused"` + + default: platform_agent_deployment_paused - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -95460,6 +100510,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `deployment_id: string` + + The agent deployment that was paused, e.g. "depl_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -95478,17 +100532,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `user_id: optional string or null` + - `workspace_id: optional string or null` - Tagged ID of the member whose access to their owned projects was restored, when known. + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PaymentMethodUpdated object` + - `PlatformAgentDeploymentRunTriggered object` - The organization's default payment method was updated. + An agent deployment was run on demand on the API platform. - - `type: optional "payment_method_updated"` + - `type: optional "platform_agent_deployment_run_triggered"` - default: payment_method_updated + default: platform_agent_deployment_run_triggered - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -95696,6 +100750,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `deployment_id: string` + + The agent deployment that was run, e.g. "depl_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -95714,13 +100772,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PendingShareCreated object` + - `workspace_id: optional string or null` - A pending share of a project or skill was created for an email address that is not yet an organization member. + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `type: optional "pending_share_created"` + - `PlatformAgentDeploymentUnpaused object` - default: pending_share_created + An agent deployment was resumed on the API platform. + + - `type: optional "platform_agent_deployment_unpaused"` + + default: platform_agent_deployment_unpaused - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -95928,21 +100990,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` - - Email address the share was created for. - - - `resource_id: string` - - Tagged ID of the resource being shared. - - - `resource_type: string` - - The type of resource being shared. - - - `role: string` + - `deployment_id: string` - The role that will be granted when the invitee joins the organization. + The agent deployment that was resumed, e.g. "depl_01HX...". - `id: optional string` @@ -95962,13 +101012,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PendingShareRevoked object` + - `workspace_id: optional string or null` - A pending share of a project or skill was revoked before the invitee joined the organization. + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `type: optional "pending_share_revoked"` + - `PlatformAgentDeploymentUpdated object` - default: pending_share_revoked + An agent deployment was updated on the API platform. + + - `type: optional "platform_agent_deployment_updated"` + + default: platform_agent_deployment_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -96176,17 +101230,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` - - Email address the share had been created for. - - - `resource_id: string` - - Tagged ID of the resource that was shared. - - - `resource_type: string` + - `deployment_id: string` - The type of resource that was shared. + The agent deployment that was updated, e.g. "depl_01HX...". - `id: optional string` @@ -96206,13 +101252,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PhoneCodeSent object` + - `workspace_id: optional string or null` - User requested a phone verification code. + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `type: optional "phone_code_sent"` + - `PlatformAgentSessionArchived object` - default: phone_code_sent + An agent session was archived on the API platform. + + - `type: optional "platform_agent_session_archived"` + + default: platform_agent_session_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -96420,6 +101470,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `session_id: string` + + The agent session that was archived, e.g. "session_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -96438,13 +101492,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PhoneCodeVerified object` + - `workspace_id: optional string or null` - User successfully verified their phone code. + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `type: optional "phone_code_verified"` + - `PlatformAgentSessionCreated object` - default: phone_code_verified + An agent session was created on the API platform. + + - `type: optional "platform_agent_session_created"` + + default: platform_agent_session_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -96652,6 +101710,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `session_id: string` + + The agent session that was created, e.g. "session_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -96670,13 +101732,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformAgentArchived object` + - `workspace_id: optional string or null` - An agent was archived on the API platform. + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `type: optional "platform_agent_archived"` + - `PlatformAgentSessionDeleted object` - default: platform_agent_archived + An agent session was deleted from the API platform. + + - `type: optional "platform_agent_session_deleted"` + + default: platform_agent_session_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -96884,9 +101950,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `agent_id: string` + - `session_id: string` - The agent that was archived, e.g. "agent_01HX...". + The agent session that was deleted, e.g. "session_01HX...". - `id: optional string` @@ -96910,13 +101976,13 @@ compliance activities that can be filtered by various criteria. Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PlatformAgentCreated object` + - `PlatformAgentSessionResourceAdded object` - An agent was created on the API platform. + A resource was attached to an agent session. - - `type: optional "platform_agent_created"` + - `type: optional "platform_agent_session_resource_added"` - default: platform_agent_created + default: platform_agent_session_resource_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97124,9 +102190,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `agent_id: string` + - `resource_id: string` - The agent that was created, e.g. "agent_01HX...". + The resource that was attached, e.g. "resource_01HX...". + + - `session_id: string` + + The agent session the resource was attached to, e.g. "session_01HX...". - `id: optional string` @@ -97150,13 +102220,13 @@ compliance activities that can be filtered by various criteria. Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PlatformAgentDeleted object` + - `PlatformAgentSessionResourceDeleted object` - An agent was deleted from the API platform. + A resource attached to an agent session was removed. - - `type: optional "platform_agent_deleted"` + - `type: optional "platform_agent_session_resource_deleted"` - default: platform_agent_deleted + default: platform_agent_session_resource_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97364,9 +102434,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `agent_id: string` + - `resource_id: string` - The agent that was deleted, e.g. "agent_01HX...". + The resource that was removed, e.g. "resource_01HX...". + + - `session_id: string` + + The agent session the resource belonged to, e.g. "session_01HX...". - `id: optional string` @@ -97390,13 +102464,13 @@ compliance activities that can be filtered by various criteria. Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PlatformAgentDeploymentArchived object` + - `PlatformAgentSessionResourceUpdated object` - An agent deployment was archived on the API platform. + A resource attached to an agent session was updated. - - `type: optional "platform_agent_deployment_archived"` + - `type: optional "platform_agent_session_resource_updated"` - default: platform_agent_deployment_archived + default: platform_agent_session_resource_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97604,9 +102678,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` + - `resource_id: string` - The agent deployment that was archived, e.g. "depl_01HX...". + The resource that was updated, e.g. "resource_01HX...". + + - `session_id: string` + + The agent session the resource belongs to, e.g. "session_01HX...". - `id: optional string` @@ -97630,13 +102708,13 @@ compliance activities that can be filtered by various criteria. Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PlatformAgentDeploymentCreated object` + - `PlatformAgentSessionThreadArchived object` - An agent deployment was created on the API platform. + A thread within an agent session was archived. - - `type: optional "platform_agent_deployment_created"` + - `type: optional "platform_agent_session_thread_archived"` - default: platform_agent_deployment_created + default: platform_agent_session_thread_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97844,9 +102922,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` + - `session_id: string` - The agent deployment that was created, e.g. "depl_01HX...". + The agent session the thread belongs to, e.g. "session_01HX...". + + - `thread_id: string` + + The thread that was archived, e.g. "thread_01HX...". - `id: optional string` @@ -97870,13 +102952,13 @@ compliance activities that can be filtered by various criteria. Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PlatformAgentDeploymentDeleted object` + - `PlatformAgentSessionUpdated object` - An agent deployment was deleted from the API platform. + An agent session was updated on the API platform. - - `type: optional "platform_agent_deployment_deleted"` + - `type: optional "platform_agent_session_updated"` - default: platform_agent_deployment_deleted + default: platform_agent_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -98084,9 +103166,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` + - `session_id: string` - The agent deployment that was deleted, e.g. "depl_01HX...". + The agent session that was updated, e.g. "session_01HX...". - `id: optional string` @@ -98110,13 +103192,13 @@ compliance activities that can be filtered by various criteria. Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PlatformAgentDeploymentPaused object` + - `PlatformAgentUpdated object` - An agent deployment was paused on the API platform. + An agent was updated on the API platform. - - `type: optional "platform_agent_deployment_paused"` + - `type: optional "platform_agent_updated"` - default: platform_agent_deployment_paused + default: platform_agent_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -98324,9 +103406,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` + - `agent_id: string` - The agent deployment that was paused, e.g. "depl_01HX...". + The agent that was updated, e.g. "agent_01HX...". - `id: optional string` @@ -98350,13 +103432,13 @@ compliance activities that can be filtered by various criteria. Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - `PlatformAgentDeploymentRunTriggered object` + - `PlatformAPIKeyCreated object` - An agent deployment was run on demand on the API platform. + An API key was created. - - `type: optional "platform_agent_deployment_run_triggered"` + - `type: optional "platform_api_key_created"` - default: platform_agent_deployment_run_triggered + default: platform_api_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -98564,9 +103646,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` + - `api_key_id: string` - The agent deployment that was run, e.g. "depl_01HX...". + Tagged ID of the created API key - `id: optional string` @@ -98586,17 +103668,51 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `principal_id: optional string or null` - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + For an identity-linked API key, the tagged ID of the user (e.g. "user_01HX...") or service account (e.g. "svac_01HX...") the key acts as. Absent for keys not linked to an identity. - - `PlatformAgentDeploymentUnpaused object` + - `principal_type: optional "service_account" or "unspecified" or "user" or null` - An agent deployment was resumed on the API platform. + For an identity-linked API key, the kind of identity the key acts as: "user" or "service_account". Absent for keys not linked to an identity. - - `type: optional "platform_agent_deployment_unpaused"` + - `"service_account"` - default: platform_agent_deployment_unpaused + - `"unspecified"` + + - `"user"` + + - `scope: optional Organization or Workspace or null` + + Where the API key belongs: one workspace (`{"type": "workspace", "workspace_id": "wrkspc_..."}`, with the workspace's ID even when it is the organization's default workspace), or the whole organization (`{"type": "organization"}`) for an identity-linked API key that has no workspace. May be absent on activities recorded before this field was introduced. + + - `Organization object` + + The API key belongs to the whole organization and has no workspace. + + - `type: optional "organization"` + + default: organization + + - `Workspace object` + + The API key belongs to one workspace. + + - `type: optional "workspace"` + + default: workspace + + - `workspace_id: string` + + Tagged ID of the workspace the API key belongs to, including when that is the organization's default workspace. + + - `PlatformAPIKeyUpdated object` + + An API key was updated. + + - `type: optional "platform_api_key_updated"` + + default: platform_api_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -98804,9 +103920,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` + - `api_key_id: string` - The agent deployment that was resumed, e.g. "depl_01HX...". + Tagged ID of the updated API key - `id: optional string` @@ -98826,17 +103942,37 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `updates: optional array of object` - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + The field-level changes applied in this update - - `PlatformAgentDeploymentUpdated object` + - `type: "name" or "status" or "unspecified" or "workspace"` - An agent deployment was updated on the API platform. + The API key field that changed - - `type: optional "platform_agent_deployment_updated"` + - `"name"` - default: platform_agent_deployment_updated + - `"status"` + + - `"unspecified"` + + - `"workspace"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `PlatformAppAttestAuthentication object` + + An attested mobile device attempted to exchange an Apple App Attest assertion for Anthropic API credentials. + + - `type: optional "platform_app_attest_authentication"` + + default: platform_app_attest_authentication - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -99044,10 +104180,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` - - The agent deployment that was updated, e.g. "depl_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -99058,6 +104190,22 @@ compliance activities that can be filtered by various criteria. format: date-time + - `event_data: optional object or null` + + Details of the authentication attempt. + + - `external_client_id: optional string or null` + + The registered external client the device presented, e.g. "clid_01HXZ4J2N8K5P7R9T3V6W1Y4M0". + + - `kid_hash: optional string or null` + + A truncated hash of the device's attested key identifier. + + - `workspace_id: optional string or null` + + The tagged ID of the workspace the minted token is bound to. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -99066,17 +104214,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `request_id: optional string or null` - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + The Anthropic API request identifier for correlation. - - `PlatformAgentSessionArchived object` + - `status: optional object or null` - An agent session was archived on the API platform. + The outcome of the token exchange. - - `type: optional "platform_agent_session_archived"` + - `outcome: string` - default: platform_agent_session_archived + Whether the token exchange succeeded or was denied. + + - `reason: optional string or null` + + A short reason code when the exchange did not succeed. + + - `PlatformBillingUpgradedToPrepaid object` + + The organization's API billing was upgraded to the prepaid plan. + + - `type: optional "platform_billing_upgraded_to_prepaid"` + + default: platform_billing_upgraded_to_prepaid - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -99284,9 +104444,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `session_id: string` + - `previous_billing_type: string` - The agent session that was archived, e.g. "session_01HX...". + The organization's billing type before this upgrade, for example "api_evaluation". - `id: optional string` @@ -99306,17 +104466,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - - `PlatformAgentSessionCreated object` + - `PlatformClearanceWorkspaceProgramRequestCleared object` - An agent session was created on the API platform. + A workspace's clearance program assignment was removed. - - `type: optional "platform_agent_session_created"` + - `type: optional "platform_clearance_workspace_program_request_cleared"` - default: platform_agent_session_created + default: platform_clearance_workspace_program_request_cleared - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -99524,9 +104680,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `session_id: string` + - `program_slug: string` - The agent session that was created, e.g. "session_01HX...". + The clearance program's identifier + + - `workspace_id: string` + + Tagged ID of the workspace - `id: optional string` @@ -99546,17 +104706,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - - `PlatformAgentSessionDeleted object` + - `PlatformClearanceWorkspaceProgramRequestSet object` - An agent session was deleted from the API platform. + A workspace's clearance program assignment was created or updated. - - `type: optional "platform_agent_session_deleted"` + - `type: optional "platform_clearance_workspace_program_request_set"` - default: platform_agent_session_deleted + default: platform_clearance_workspace_program_request_set - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -99764,9 +104920,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `session_id: string` + - `opt_decision: "opt_in" or "opt_out" or "unspecified"` - The agent session that was deleted, e.g. "session_01HX...". + Whether the workspace is opted in or out of the program + + - `"opt_in"` + + - `"opt_out"` + + - `"unspecified"` + + - `program_slug: string` + + The clearance program's identifier + + - `workspace_id: string` + + Tagged ID of the workspace - `id: optional string` @@ -99786,17 +104956,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - - `PlatformAgentSessionResourceAdded object` + - `PlatformCostReportViewed object` - A resource was attached to an agent session. + The cost report was viewed. - - `type: optional "platform_agent_session_resource_added"` + - `type: optional "platform_cost_report_viewed"` - default: platform_agent_session_resource_added + default: platform_cost_report_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100004,14 +105170,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_id: string` - - The resource that was attached, e.g. "resource_01HX...". - - - `session_id: string` - - The agent session the resource was attached to, e.g. "session_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -100030,17 +105188,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - - `PlatformAgentSessionResourceDeleted object` + - `PlatformDreamArchived object` - A resource attached to an agent session was removed. + A Dream (asynchronous memory-consolidation job) was archived. - - `type: optional "platform_agent_session_resource_deleted"` + - `type: optional "platform_dream_archived"` - default: platform_agent_session_resource_deleted + default: platform_dream_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100248,13 +105402,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_id: string` - - The resource that was removed, e.g. "resource_01HX...". - - - `session_id: string` + - `dream_id: string` - The agent session the resource belonged to, e.g. "session_01HX...". + Tagged dream ID, e.g. "drm_01HX...". - `id: optional string` @@ -100276,15 +105426,15 @@ compliance activities that can be filtered by various criteria. - `workspace_id: optional string or null` - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - `PlatformAgentSessionResourceUpdated object` + - `PlatformDreamCancelled object` - A resource attached to an agent session was updated. + A Dream (asynchronous memory-consolidation job) was cancelled before it completed. - - `type: optional "platform_agent_session_resource_updated"` + - `type: optional "platform_dream_cancelled"` - default: platform_agent_session_resource_updated + default: platform_dream_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100492,13 +105642,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_id: string` - - The resource that was updated, e.g. "resource_01HX...". - - - `session_id: string` + - `dream_id: string` - The agent session the resource belongs to, e.g. "session_01HX...". + Tagged dream ID, e.g. "drm_01HX...". - `id: optional string` @@ -100520,15 +105666,15 @@ compliance activities that can be filtered by various criteria. - `workspace_id: optional string or null` - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - `PlatformAgentSessionThreadArchived object` + - `PlatformDreamCreated object` - A thread within an agent session was archived. + A Dream (asynchronous memory-consolidation job) was created. - - `type: optional "platform_agent_session_thread_archived"` + - `type: optional "platform_dream_created"` - default: platform_agent_session_thread_archived + default: platform_dream_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100736,13 +105882,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `session_id: string` - - The agent session the thread belongs to, e.g. "session_01HX...". - - - `thread_id: string` + - `dream_id: string` - The thread that was archived, e.g. "thread_01HX...". + Tagged dream ID, e.g. "drm_01HX...". - `id: optional string` @@ -100764,15 +105906,15 @@ compliance activities that can be filtered by various criteria. - `workspace_id: optional string or null` - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - `PlatformAgentSessionUpdated object` + - `PlatformFederatedAuthentication object` - An agent session was updated on the API platform. + A federated workload identity attempted to exchange an OIDC token for Anthropic API credentials. - - `type: optional "platform_agent_session_updated"` + - `type: optional "platform_federated_authentication"` - default: platform_agent_session_updated + default: platform_federated_authentication - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100980,10 +106122,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `session_id: string` - - The agent session that was updated, e.g. "session_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -100994,6 +106132,34 @@ compliance activities that can be filtered by various criteria. format: date-time + - `event_data: optional object or null` + + Details of the authentication attempt. + + - `federation_rule_id: optional string or null` + + The federation rule that matched the request, e.g. "fdrl_01HXZ4J2N8K5P7R9T3V6W1Y4M0". + + - `issuer_id: optional string or null` + + The registered identity issuer for the request, e.g. "fdis_01HXZ4H5M3K8P1R7T9V2W6Y4N0". + + - `oidc_token: optional object or null` + + Details of the presented OIDC token. + + - `claims: optional map[unknown] or null` + + The verified claims from the presented OIDC token. + + - `jti: optional string or null` + + The presented token's unique identifier (its `jti` claim). + + - `requested_service_account_id: optional string or null` + + The service account the caller requested to authenticate as, e.g. "svac_01HXZ4...". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -101002,17 +106168,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `request_id: optional string or null` - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. + The Anthropic API request identifier for correlation, e.g. "req_01HXZ4K7M9P2QR5T8V6W3Y1N0B". - - `PlatformAgentUpdated object` + - `resources: optional array of object` - An agent was updated on the API platform. + The resources involved in the exchange. - - `type: optional "platform_agent_updated"` + - `type: string` - default: platform_agent_updated + The kind of resource involved in the exchange. + + - `id: string` + + The identifier of the resource involved in the exchange. + + - `status: optional object or null` + + The outcome of the token exchange. + + - `outcome: string` + + Whether the token exchange succeeded or was denied. + + - `detail: optional string or null` + + A human-readable explanation when the exchange did not succeed. May contain values copied verbatim from the presented token's header (e.g. kid, alg) and error text; treat as caller-supplied free text. + + - `reason: optional string or null` + + A short reason code when the exchange did not succeed. + + - `PlatformFederationIssuerArchived object` + + An OIDC federation issuer was archived. + + - `type: optional "platform_federation_issuer_archived"` + + default: platform_federation_issuer_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101220,9 +106414,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `agent_id: string` + - `federation_issuer_id: string` - The agent that was updated, e.g. "agent_01HX...". + Tagged ID of the archived issuer - `id: optional string` @@ -101242,17 +106436,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - - - `PlatformAPIKeyCreated object` + - `PlatformFederationIssuerCreated object` - An API key was created. + An OIDC federation issuer was created, registering an external identity provider that federation rules can trust for workload authentication. - - `type: optional "platform_api_key_created"` + - `type: optional "platform_federation_issuer_created"` - default: platform_api_key_created + default: platform_federation_issuer_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101460,9 +106650,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `api_key_id: string` + - `federation_issuer_id: string` - Tagged ID of the created API key + Tagged ID of the created issuer, e.g. "fdis_..." + + - `issuer_url: string` + + URL of the external OIDC identity provider that was registered + + - `jwks_source: string` + + How the issuer's token-signing keys are obtained — typically "discovery" (the issuer's OIDC discovery document), "explicit_url" (a fixed JWKS URL), or "inline" (keys supplied directly at registration). An unrecognized source is recorded verbatim. - `id: optional string` @@ -101474,59 +106672,29 @@ compliance activities that can be filtered by various criteria. format: date-time - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `principal_id: optional string or null` - - For an identity-linked API key, the tagged ID of the user (e.g. "user_01HX...") or service account (e.g. "svac_01HX...") the key acts as. Absent for keys not linked to an identity. - - - `principal_type: optional "service_account" or "unspecified" or "user" or null` - - For an identity-linked API key, the kind of identity the key acts as: "user" or "service_account". Absent for keys not linked to an identity. - - - `"service_account"` - - - `"unspecified"` - - - `"user"` - - - `scope: optional Organization or Workspace or null` - - Where the API key belongs: one workspace (`{"type": "workspace", "workspace_id": "wrkspc_..."}`, with the workspace's ID even when it is the organization's default workspace), or the whole organization (`{"type": "organization"}`) for an identity-linked API key that has no workspace. May be absent on activities recorded before this field was introduced. - - - `Organization object` - - The API key belongs to the whole organization and has no workspace. - - - `type: optional "organization"` + - `discovery_base: optional string or null` - default: organization + Base URL for the OIDC discovery document, if a custom base was registered. Only present when jwks_source is "discovery". - - `Workspace object` + - `jwks_url: optional string or null` - The API key belongs to one workspace. + The fixed URL where the issuer publishes its token-signing keys. Only present when jwks_source is "explicit_url". - - `type: optional "workspace"` + - `organization_id: optional string or null` - default: workspace + Organization ID this activity is associated with - - `workspace_id: string` + - `organization_uuid: optional string or null` - Tagged ID of the workspace the API key belongs to, including when that is the organization's default workspace. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformAPIKeyUpdated object` + - `PlatformFederationIssuerUpdated object` - An API key was updated. + An OIDC federation issuer was updated. - - `type: optional "platform_api_key_updated"` + - `type: optional "platform_federation_issuer_updated"` - default: platform_api_key_updated + default: platform_federation_issuer_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101734,9 +106902,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `api_key_id: string` + - `federation_issuer_id: string` - Tagged ID of the updated API key + Tagged ID of the updated issuer - `id: optional string` @@ -101760,17 +106928,31 @@ compliance activities that can be filtered by various criteria. The field-level changes applied in this update - - `type: "name" or "status" or "unspecified" or "workspace"` + - `type: "ca_cert_pem_sha256" or "check_jti" or "discovery_base" or 8 more` - The API key field that changed + The OIDC federation issuer field that changed - - `"name"` + - `"ca_cert_pem_sha256"` - - `"status"` + - `"check_jti"` - - `"unspecified"` + - `"discovery_base"` - - `"workspace"` + - `"issuer_url"` + + - `"jwks_keys_sha256"` + + - `"jwks_polling_disabled_at"` + + - `"jwks_source"` + + - `"jwks_url"` + + - `"max_jwt_lifetime_seconds"` + + - `"name"` + + - `"unspecified"` - `current_value: string` @@ -101780,13 +106962,13 @@ compliance activities that can be filtered by various criteria. Field value immediately before this change - - `PlatformAppAttestAuthentication object` + - `PlatformFederationRuleArchived object` - An attested mobile device attempted to exchange an Apple App Attest assertion for Anthropic API credentials. + An OIDC federation rule was archived. - - `type: optional "platform_app_attest_authentication"` + - `type: optional "platform_federation_rule_archived"` - default: platform_app_attest_authentication + default: platform_federation_rule_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101994,6 +107176,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `federation_rule_id: string` + + Tagged ID of the archived rule + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -102004,22 +107190,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `event_data: optional object or null` - - Details of the authentication attempt. - - - `external_client_id: optional string or null` - - The registered external client the device presented, e.g. "clid_01HXZ4J2N8K5P7R9T3V6W1Y4M0". - - - `kid_hash: optional string or null` - - A truncated hash of the device's attested key identifier. - - - `workspace_id: optional string or null` - - The tagged ID of the workspace the minted token is bound to. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -102028,29 +107198,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_id: optional string or null` - - The Anthropic API request identifier for correlation. - - - `status: optional object or null` - - The outcome of the token exchange. - - - `outcome: string` - - Whether the token exchange succeeded or was denied. - - - `reason: optional string or null` - - A short reason code when the exchange did not succeed. - - - `PlatformBillingUpgradedToPrepaid object` + - `PlatformFederationRuleCreated object` - The organization's API billing was upgraded to the prepaid plan. + An OIDC federation rule was created, allowing tokens from a federation issuer to authenticate as a service account or user. Rules may additionally match on token claims or a condition expression, which are not included in this event. - - `type: optional "platform_billing_upgraded_to_prepaid"` + - `type: optional "platform_federation_rule_created"` - default: platform_billing_upgraded_to_prepaid + default: platform_federation_rule_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102258,9 +107412,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `previous_billing_type: string` + - `applies_to_all_workspaces: boolean` - The organization's billing type before this upgrade, for example "api_evaluation". + Whether the rule applies to all workspaces in the organization. + + - `federation_issuer_id: string` + + Tagged ID of the federation issuer the rule trusts + + - `federation_rule_id: string` + + Tagged ID of the created rule, e.g. "fdrl_..." + + - `oauth_scope: string` + + Space-separated OAuth scopes that tokens minted through the rule carry, e.g. "workspace:inference" or "org:admin". + + - `target_type: string` + + What the rule authenticates as — typically "service_account" or "user". An unrecognized kind is recorded verbatim. - `id: optional string` @@ -102272,6 +107442,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `match_audience: optional string or null` + + Token audience the rule matches, if one was set. + + - `match_subject_prefix: optional string or null` + + Matcher for the token's `sub` claim, if one was set: exact match unless the value ends with `*`, which makes it a prefix match. An empty value matches any subject. Example: "repo:acme/*". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -102280,13 +107458,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformClearanceWorkspaceProgramRequestCleared object` + - `target_id: optional string or null` - A workspace's clearance program assignment was removed. + Tagged ID of the service account the rule authenticates as, e.g. "svac_...". Absent when target_type is "user": user rules identify the target by token-claim lookup rather than a fixed ID. - - `type: optional "platform_clearance_workspace_program_request_cleared"` + - `target_lookup_attr: optional string or null` - default: platform_clearance_workspace_program_request_cleared + Name of the rule attribute whose value resolves the target user. Only present when target_type is "user". + + - `workspace_id: optional string or null` + + Tagged ID of the workspace the rule references, if one was set. May be set alongside applies_to_all_workspaces, which takes precedence: the rule then covers every workspace in the organization. + + - `PlatformFederationRuleUpdated object` + + An OIDC federation rule was updated. + + - `type: optional "platform_federation_rule_updated"` + + default: platform_federation_rule_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102494,13 +107684,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `program_slug: string` - - The clearance program's identifier - - - `workspace_id: string` + - `federation_rule_id: string` - Tagged ID of the workspace + Tagged ID of the updated rule - `id: optional string` @@ -102520,13 +107706,59 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformClearanceWorkspaceProgramRequestSet object` + - `updates: optional array of object` - A workspace's clearance program assignment was created or updated. + The field-level changes applied in this update - - `type: optional "platform_clearance_workspace_program_request_set"` + - `type: "applies_to_all_workspaces" or "attributes" or "description" or 12 more` - default: platform_clearance_workspace_program_request_set + The OIDC federation rule field that changed + + - `"applies_to_all_workspaces"` + + - `"attributes"` + + - `"description"` + + - `"match_audience"` + + - `"match_claims"` + + - `"match_condition"` + + - `"match_subject_prefix"` + + - `"name"` + + - `"oauth_scope"` + + - `"target_id"` + + - `"target_lookup_attr"` + + - `"target_type"` + + - `"token_lifetime_seconds"` + + - `"unspecified"` + + - `"workspace_id"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `PlatformFederationRuleWorkspaceAdded object` + + A federation rule was enabled for a workspace. + + - `type: optional "platform_federation_rule_workspace_added"` + + default: platform_federation_rule_workspace_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102734,23 +107966,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `opt_decision: "opt_in" or "opt_out" or "unspecified"` - - Whether the workspace is opted in or out of the program - - - `"opt_in"` - - - `"opt_out"` - - - `"unspecified"` - - - `program_slug: string` + - `federation_rule_id: string` - The clearance program's identifier + Tagged ID of the federation rule - `workspace_id: string` - Tagged ID of the workspace + Tagged ID of the workspace the rule was enabled for - `id: optional string` @@ -102770,13 +107992,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformCostReportViewed object` + - `PlatformFederationRuleWorkspaceRemoved object` - The cost report was viewed. + A federation rule was disabled for a workspace. - - `type: optional "platform_cost_report_viewed"` + - `type: optional "platform_federation_rule_workspace_removed"` - default: platform_cost_report_viewed + default: platform_federation_rule_workspace_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102984,6 +108206,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `federation_rule_id: string` + + Tagged ID of the federation rule + + - `workspace_id: string` + + Tagged ID of the workspace the rule was disabled for + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -103002,13 +108232,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformDreamArchived object` + - `PlatformFileContentDownloaded object` - A Dream (asynchronous memory-consolidation job) was archived. + Activity logged when file content is downloaded via GET /v1/files/{file_id}/content. - - `type: optional "platform_dream_archived"` + - `type: optional "platform_file_content_downloaded"` - default: platform_dream_archived + default: platform_file_content_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -103216,9 +108446,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `dream_id: string` + - `file_id: string` - Tagged dream ID, e.g. "drm_01HX...". + The tagged ID of the downloaded file - `id: optional string` @@ -103238,17 +108468,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - - `PlatformDreamCancelled object` + - `PlatformFileDeleted object` - A Dream (asynchronous memory-consolidation job) was cancelled before it completed. + Activity logged when a file is deleted via DELETE /v1/files/{file_id}. - - `type: optional "platform_dream_cancelled"` + - `type: optional "platform_file_deleted"` - default: platform_dream_cancelled + default: platform_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -103456,9 +108682,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `dream_id: string` + - `file_id: string` - Tagged dream ID, e.g. "drm_01HX...". + The tagged ID of the deleted file - `id: optional string` @@ -103478,17 +108704,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - - `PlatformDreamCreated object` + - `PlatformFileUploaded object` - A Dream (asynchronous memory-consolidation job) was created. + Activity logged when a file is uploaded via POST /v1/files. - - `type: optional "platform_dream_created"` + - `type: optional "platform_file_uploaded"` - default: platform_dream_created + default: platform_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -103696,9 +108918,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `dream_id: string` + - `file_id: string` - Tagged dream ID, e.g. "drm_01HX...". + The tagged ID of the uploaded file - `id: optional string` @@ -103718,17 +108940,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `session_id: optional string or null` - Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. + The tagged session ID (agent-api only) - - `PlatformFederatedAuthentication object` + - `PlatformMemoryCreated object` - A federated workload identity attempted to exchange an OIDC token for Anthropic API credentials. + An agent memory document was created. - - `type: optional "platform_federated_authentication"` + - `type: optional "platform_memory_created"` - default: platform_federated_authentication + default: platform_memory_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -103936,6 +109158,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `memory_id: string` + + Tagged memory ID, e.g. "mem_01HX...". + + - `memory_store_id: string` + + Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -103946,33 +109176,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `event_data: optional object or null` - - Details of the authentication attempt. - - - `federation_rule_id: optional string or null` - - The federation rule that matched the request, e.g. "fdrl_01HXZ4J2N8K5P7R9T3V6W1Y4M0". - - - `issuer_id: optional string or null` - - The registered identity issuer for the request, e.g. "fdis_01HXZ4H5M3K8P1R7T9V2W6Y4N0". - - - `oidc_token: optional object or null` - - Details of the presented OIDC token. - - - `claims: optional map[unknown] or null` - - The verified claims from the presented OIDC token. - - - `jti: optional string or null` - - The presented token's unique identifier (its `jti` claim). - - - `requested_service_account_id: optional string or null` + - `memory_version_id: optional string or null` - The service account the caller requested to authenticate as, e.g. "svac_01HXZ4...". + Tagged ID of the memory version produced by this change, e.g. "memver_01HX...". Links this event to the version history. - `organization_id: optional string or null` @@ -103982,45 +109188,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_id: optional string or null` - - The Anthropic API request identifier for correlation, e.g. "req_01HXZ4K7M9P2QR5T8V6W3Y1N0B". - - - `resources: optional array of object` - - The resources involved in the exchange. - - - `type: string` - - The kind of resource involved in the exchange. - - - `id: string` - - The identifier of the resource involved in the exchange. - - - `status: optional object or null` - - The outcome of the token exchange. - - - `outcome: string` - - Whether the token exchange succeeded or was denied. - - - `detail: optional string or null` - - A human-readable explanation when the exchange did not succeed. May contain values copied verbatim from the presented token's header (e.g. kid, alg) and error text; treat as caller-supplied free text. - - - `reason: optional string or null` + - `workspace_id: optional string or null` - A short reason code when the exchange did not succeed. + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `PlatformFederationIssuerArchived object` + - `PlatformMemoryDeleted object` - An OIDC federation issuer was archived. + An agent memory document was deleted. - - `type: optional "platform_federation_issuer_archived"` + - `type: optional "platform_memory_deleted"` - default: platform_federation_issuer_archived + default: platform_memory_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104228,9 +109406,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_issuer_id: string` + - `memory_id: string` - Tagged ID of the archived issuer + Tagged memory ID, e.g. "mem_01HX...". + + - `memory_store_id: string` + + Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". - `id: optional string` @@ -104242,6 +109424,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `memory_version_id: optional string or null` + + Tagged ID of the memory version produced by this change — the deletion tombstone, e.g. "memver_01HX...". Links this event to the version history. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -104250,13 +109436,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformFederationIssuerCreated object` + - `workspace_id: optional string or null` - An OIDC federation issuer was created, registering an external identity provider that federation rules can trust for workload authentication. + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `type: optional "platform_federation_issuer_created"` + - `PlatformMemoryStoreArchived object` - default: platform_federation_issuer_created + An agent memory store was archived. Archived stores reject new memory writes and cannot be attached to new sessions; deletion and redaction remain permitted for privacy scrubbing. + + - `type: optional "platform_memory_store_archived"` + + default: platform_memory_store_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104464,17 +109654,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_issuer_id: string` - - Tagged ID of the created issuer, e.g. "fdis_..." - - - `issuer_url: string` - - URL of the external OIDC identity provider that was registered - - - `jwks_source: string` + - `memory_store_id: string` - How the issuer's token-signing keys are obtained — typically "discovery" (the issuer's OIDC discovery document), "explicit_url" (a fixed JWKS URL), or "inline" (keys supplied directly at registration). An unrecognized source is recorded verbatim. + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -104486,14 +109668,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `discovery_base: optional string or null` - - Base URL for the OIDC discovery document, if a custom base was registered. Only present when jwks_source is "discovery". - - - `jwks_url: optional string or null` - - The fixed URL where the issuer publishes its token-signing keys. Only present when jwks_source is "explicit_url". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -104502,13 +109676,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformFederationIssuerUpdated object` + - `workspace_id: optional string or null` - An OIDC federation issuer was updated. + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `type: optional "platform_federation_issuer_updated"` + - `PlatformMemoryStoreCreated object` - default: platform_federation_issuer_updated + An agent memory store was created. + + - `type: optional "platform_memory_store_created"` + + default: platform_memory_store_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104716,9 +109894,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_issuer_id: string` + - `memory_store_id: string` - Tagged ID of the updated issuer + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -104738,51 +109916,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "ca_cert_pem_sha256" or "check_jti" or "discovery_base" or 8 more` - - The OIDC federation issuer field that changed - - - `"ca_cert_pem_sha256"` - - - `"check_jti"` - - - `"discovery_base"` - - - `"issuer_url"` - - - `"jwks_keys_sha256"` - - - `"jwks_polling_disabled_at"` - - - `"jwks_source"` - - - `"jwks_url"` - - - `"max_jwt_lifetime_seconds"` - - - `"name"` - - - `"unspecified"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` + - `workspace_id: optional string or null` - Field value immediately before this change + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `PlatformFederationRuleArchived object` + - `PlatformMemoryStoreDeleted object` - An OIDC federation rule was archived. + An agent memory store was deleted. Memory content removal may complete asynchronously for very large stores. - - `type: optional "platform_federation_rule_archived"` + - `type: optional "platform_memory_store_deleted"` - default: platform_federation_rule_archived + default: platform_memory_store_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104990,9 +110134,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_rule_id: string` + - `memory_store_id: string` - Tagged ID of the archived rule + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -105012,13 +110156,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformFederationRuleCreated object` + - `workspace_id: optional string or null` - An OIDC federation rule was created, allowing tokens from a federation issuer to authenticate as a service account or user. Rules may additionally match on token claims or a condition expression, which are not included in this event. + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `type: optional "platform_federation_rule_created"` + - `PlatformMemoryStoreUpdated object` - default: platform_federation_rule_created + An agent memory store's name, description, or metadata was updated. + + - `type: optional "platform_memory_store_updated"` + + default: platform_memory_store_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -105226,25 +110374,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `applies_to_all_workspaces: boolean` - - Whether the rule applies to all workspaces in the organization. - - - `federation_issuer_id: string` - - Tagged ID of the federation issuer the rule trusts - - - `federation_rule_id: string` - - Tagged ID of the created rule, e.g. "fdrl_..." - - - `oauth_scope: string` - - Space-separated OAuth scopes that tokens minted through the rule carry, e.g. "workspace:inference" or "org:admin". - - - `target_type: string` + - `memory_store_id: string` - What the rule authenticates as — typically "service_account" or "user". An unrecognized kind is recorded verbatim. + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -105256,14 +110388,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `match_audience: optional string or null` - - Token audience the rule matches, if one was set. - - - `match_subject_prefix: optional string or null` - - Matcher for the token's `sub` claim, if one was set: exact match unless the value ends with `*`, which makes it a prefix match. An empty value matches any subject. Example: "repo:acme/*". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -105272,25 +110396,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `target_id: optional string or null` - - Tagged ID of the service account the rule authenticates as, e.g. "svac_...". Absent when target_type is "user": user rules identify the target by token-claim lookup rather than a fixed ID. - - - `target_lookup_attr: optional string or null` - - Name of the rule attribute whose value resolves the target user. Only present when target_type is "user". - - `workspace_id: optional string or null` - Tagged ID of the workspace the rule references, if one was set. May be set alongside applies_to_all_workspaces, which takes precedence: the rule then covers every workspace in the organization. + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `PlatformFederationRuleUpdated object` + - `PlatformMemoryUpdated object` - An OIDC federation rule was updated. + An agent memory document's content or path was updated. - - `type: optional "platform_federation_rule_updated"` + - `type: optional "platform_memory_updated"` - default: platform_federation_rule_updated + default: platform_memory_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -105498,9 +110614,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_rule_id: string` + - `memory_id: string` - Tagged ID of the updated rule + Tagged memory ID, e.g. "mem_01HX...". + + - `memory_store_id: string` + + Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". - `id: optional string` @@ -105512,6 +110632,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `memory_version_id: optional string or null` + + Tagged ID of the memory version produced by this change, e.g. "memver_01HX...". Links this event to the version history. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -105520,59 +110644,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "applies_to_all_workspaces" or "attributes" or "description" or 12 more` - - The OIDC federation rule field that changed - - - `"applies_to_all_workspaces"` - - - `"attributes"` - - - `"description"` - - - `"match_audience"` - - - `"match_claims"` - - - `"match_condition"` - - - `"match_subject_prefix"` - - - `"name"` - - - `"oauth_scope"` - - - `"target_id"` - - - `"target_lookup_attr"` - - - `"target_type"` - - - `"token_lifetime_seconds"` - - - `"unspecified"` - - - `"workspace_id"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` + - `workspace_id: optional string or null` - Field value immediately before this change + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `PlatformFederationRuleWorkspaceAdded object` + - `PlatformMemoryVersionRedacted object` - A federation rule was enabled for a workspace. + A historical version of an agent memory document was redacted. Redaction scrubs the stored content of a specific version while preserving the version's existence in the history. - - `type: optional "platform_federation_rule_workspace_added"` + - `type: optional "platform_memory_version_redacted"` - default: platform_federation_rule_workspace_added + default: platform_memory_version_redacted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -105780,13 +110862,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_rule_id: string` + - `memory_id: string` - Tagged ID of the federation rule + Tagged ID of the memory the version belongs to, e.g. "mem_01HX...". - - `workspace_id: string` + - `memory_store_id: string` - Tagged ID of the workspace the rule was enabled for + Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + + - `memory_version_id: string` + + Tagged memory version ID, e.g. "memver_01HX...". - `id: optional string` @@ -105806,13 +110892,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformFederationRuleWorkspaceRemoved object` + - `workspace_id: optional string or null` - A federation rule was disabled for a workspace. + Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - `type: optional "platform_federation_rule_workspace_removed"` + - `PlatformOAuthAppCreated object` - default: platform_federation_rule_workspace_removed + An OAuth app was created. + + - `type: optional "platform_oauth_app_created"` + + default: platform_oauth_app_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106020,13 +111110,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_rule_id: string` - - Tagged ID of the federation rule - - - `workspace_id: string` + - `oauth_app_id: string` - Tagged ID of the workspace the rule was disabled for + Tagged ID of the created app - `id: optional string` @@ -106046,13 +111132,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformFileContentDownloaded object` + - `workspace_id: optional string or null` - Activity logged when file content is downloaded via GET /v1/files/{file_id}/content. + Tagged ID of the workspace the app is scoped to. Null or absent if the app is not scoped to a workspace. - - `type: optional "platform_file_content_downloaded"` + - `PlatformOAuthAppRevoked object` - default: platform_file_content_downloaded + An OAuth app was revoked. + + - `type: optional "platform_oauth_app_revoked"` + + default: platform_oauth_app_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106260,9 +111350,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `file_id: string` + - `oauth_app_id: string` - The tagged ID of the downloaded file + Tagged ID of the revoked app - `id: optional string` @@ -106282,13 +111372,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformFileDeleted object` + - `PlatformOAuthAppUpdated object` - Activity logged when a file is deleted via DELETE /v1/files/{file_id}. + An OAuth app was updated. - - `type: optional "platform_file_deleted"` + - `type: optional "platform_oauth_app_updated"` - default: platform_file_deleted + default: platform_oauth_app_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106496,9 +111586,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `file_id: string` + - `oauth_app_id: string` - The tagged ID of the deleted file + Tagged ID of the updated app - `id: optional string` @@ -106518,13 +111608,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformFileUploaded object` + - `updates: optional array of object` - Activity logged when a file is uploaded via POST /v1/files. + The field-level changes applied in this update - - `type: optional "platform_file_uploaded"` + - `type: "apple_ios_attestation_environment" or "apple_ios_bundles" or "name" or 2 more` - default: platform_file_uploaded + The OAuth app field that changed + + - `"apple_ios_attestation_environment"` + + - `"apple_ios_bundles"` + + - `"name"` + + - `"status"` + + - `"unspecified"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `PlatformOrganizationCreated object` + + An owner of the organization created a Claude Console organization under the same parent organization. + + - `type: optional "platform_organization_created"` + + default: platform_organization_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106732,9 +111848,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `file_id: string` + - `admin_email: string` - The tagged ID of the uploaded file + The email address of the new organization's initial administrator. + + - `created_organization_id: string` + + The Claude Console organization that was created, e.g. "org_01HX...". + + - `parent_organization_id: string` + + The parent organization both organizations belong to, e.g. "parent_org_01HX...". - `id: optional string` @@ -106754,17 +111878,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `session_id: optional string or null` - - The tagged session ID (agent-api only) - - - `PlatformMemoryCreated object` + - `PlatformPluginDirectorySubmissionCreated object` - An agent memory document was created. + A plugin directory submission was created on the API platform. A plugin directory submission is a request to list a plugin in the public plugin directory. - - `type: optional "platform_memory_created"` + - `type: optional "platform_plugin_directory_submission_created"` - default: platform_memory_created + default: platform_plugin_directory_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106972,13 +112092,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_id: string` + - `plugin_name: string` - Tagged memory ID, e.g. "mem_01HX...". + The name of the plugin being submitted. - - `memory_store_id: string` + - `submission_id: string` - Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + The submission that was created, e.g. "psub_01HX...". - `id: optional string` @@ -106990,10 +112110,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `memory_version_id: optional string or null` - - Tagged ID of the memory version produced by this change, e.g. "memver_01HX...". Links this event to the version history. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -107002,17 +112118,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - - `PlatformMemoryDeleted object` + - `PlatformPluginDirectorySubmissionDeleted object` - An agent memory document was deleted. + A plugin directory submission was deleted on the API platform. - - `type: optional "platform_memory_deleted"` + - `type: optional "platform_plugin_directory_submission_deleted"` - default: platform_memory_deleted + default: platform_plugin_directory_submission_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107220,13 +112332,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_id: string` - - Tagged memory ID, e.g. "mem_01HX...". - - - `memory_store_id: string` + - `submission_id: string` - Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + The submission that was deleted, e.g. "psub_01HX...". - `id: optional string` @@ -107238,10 +112346,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `memory_version_id: optional string or null` - - Tagged ID of the memory version produced by this change — the deletion tombstone, e.g. "memver_01HX...". Links this event to the version history. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -107250,17 +112354,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - - `PlatformMemoryStoreArchived object` + - `PlatformPluginDirectorySubmissionUpdated object` - An agent memory store was archived. Archived stores reject new memory writes and cannot be attached to new sessions; deletion and redaction remain permitted for privacy scrubbing. + A plugin directory submission was updated on the API platform. - - `type: optional "platform_memory_store_archived"` + - `type: optional "platform_plugin_directory_submission_updated"` - default: platform_memory_store_archived + default: platform_plugin_directory_submission_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107468,9 +112568,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `status: string` - Tagged memory store ID, e.g. "memstore_01HX...". + The submission's status after the update. + + - `submission_id: string` + + The submission that was updated, e.g. "psub_01HX...". - `id: optional string` @@ -107490,17 +112594,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - - `PlatformMemoryStoreCreated object` + - `PlatformServiceAccountArchived object` - An agent memory store was created. + A service account was archived. - - `type: optional "platform_memory_store_created"` + - `type: optional "platform_service_account_archived"` - default: platform_memory_store_created + default: platform_service_account_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107708,9 +112808,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `service_account_id: string` - Tagged memory store ID, e.g. "memstore_01HX...". + Tagged ID of the archived service account - `id: optional string` @@ -107730,17 +112830,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - - `PlatformMemoryStoreDeleted object` + - `PlatformServiceAccountCreated object` - An agent memory store was deleted. Memory content removal may complete asynchronously for very large stores. + A service account was created. - - `type: optional "platform_memory_store_deleted"` + - `type: optional "platform_service_account_created"` - default: platform_memory_store_deleted + default: platform_service_account_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107948,9 +113044,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `organization_role: string` - Tagged memory store ID, e.g. "memstore_01HX...". + Organization role the service account was created with — typically "admin" or "developer". A role this service does not recognize is recorded verbatim. + + - `service_account_id: string` + + Tagged ID of the created service account, e.g. "svac_..." - `id: optional string` @@ -107970,17 +113070,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - - `PlatformMemoryStoreUpdated object` + - `PlatformServiceAccountUpdated object` - An agent memory store's name, description, or metadata was updated. + A service account was updated. - - `type: optional "platform_memory_store_updated"` + - `type: optional "platform_service_account_updated"` - default: platform_memory_store_updated + default: platform_service_account_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108188,9 +113284,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `service_account_id: string` - Tagged memory store ID, e.g. "memstore_01HX...". + Tagged ID of the updated service account - `id: optional string` @@ -108210,17 +113306,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `updates: optional array of object` - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. + The field-level changes applied in this update - - `PlatformMemoryUpdated object` + - `type: "description" or "organization_role" or "unspecified"` - An agent memory document's content or path was updated. + The service account field that changed - - `type: optional "platform_memory_updated"` + - `"description"` - default: platform_memory_updated + - `"organization_role"` + + - `"unspecified"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `PlatformServiceAccountWorkspaceMemberAdded object` + + A service account was added as a member of a workspace. + + - `type: optional "platform_service_account_workspace_member_added"` + + default: platform_service_account_workspace_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108428,13 +113542,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_id: string` + - `service_account_id: string` - Tagged memory ID, e.g. "mem_01HX...". + Tagged ID of the service account - - `memory_store_id: string` + - `workspace_id: string` - Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + Tagged ID of the workspace - `id: optional string` @@ -108446,10 +113560,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `memory_version_id: optional string or null` - - Tagged ID of the memory version produced by this change, e.g. "memver_01HX...". Links this event to the version history. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -108458,17 +113568,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `workspace_role: optional string or null` - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. + Role the service account was given in the workspace, for example workspace_developer. - - `PlatformMemoryVersionRedacted object` + - `PlatformServiceAccountWorkspaceMemberRemoved object` - A historical version of an agent memory document was redacted. Redaction scrubs the stored content of a specific version while preserving the version's existence in the history. + A service account was removed from a workspace. - - `type: optional "platform_memory_version_redacted"` + - `type: optional "platform_service_account_workspace_member_removed"` - default: platform_memory_version_redacted + default: platform_service_account_workspace_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108676,17 +113786,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_id: string` - - Tagged ID of the memory the version belongs to, e.g. "mem_01HX...". - - - `memory_store_id: string` + - `service_account_id: string` - Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + Tagged ID of the service account - - `memory_version_id: string` + - `workspace_id: string` - Tagged memory version ID, e.g. "memver_01HX...". + Tagged ID of the workspace - `id: optional string` @@ -108706,17 +113812,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace the request was scoped to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. May differ from the workspace the store was created in when the store is account-scoped. - - - `PlatformOAuthAppCreated object` + - `PlatformServiceAccountWorkspaceMemberUpdated object` - An OAuth app was created. + A service account's workspace membership role was updated. - - `type: optional "platform_oauth_app_created"` + - `type: optional "platform_service_account_workspace_member_updated"` - default: platform_oauth_app_created + default: platform_service_account_workspace_member_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108924,9 +114026,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `oauth_app_id: string` + - `service_account_id: string` - Tagged ID of the created app + Tagged ID of the service account + + - `workspace_id: string` + + Tagged ID of the workspace - `id: optional string` @@ -108946,17 +114052,33 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `updates: optional array of object` - Tagged ID of the workspace the app is scoped to. Null or absent if the app is not scoped to a workspace. + The field-level changes applied in this update - - `PlatformOAuthAppRevoked object` + - `type: "unspecified" or "workspace_role"` - An OAuth app was revoked. + The service account's workspace membership field that changed - - `type: optional "platform_oauth_app_revoked"` + - `"unspecified"` - default: platform_oauth_app_revoked + - `"workspace_role"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `PlatformSigningKeyCreated object` + + Activity logged when a new request-signing key is registered for the org. + + - `type: optional "platform_signing_key_created"` + + default: platform_signing_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -109164,9 +114286,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `oauth_app_id: string` + - `algorithm: string` - Tagged ID of the revoked app + The signing algorithm (e.g. ecdsa-p256-sha256) + + - `key_backing_type: string` + + The backing type of the key (IN_MEMORY or CLOUD_KMS) + + - `signing_key_id: string` + + The tagged ID of the created signing key + + - `status: string` + + The initial status of the key (ACTIVE or PENDING) - `id: optional string` @@ -109186,13 +114320,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformOAuthAppUpdated object` + - `PlatformSigningKeyDeleted object` - An OAuth app was updated. + Activity logged when a signing key is permanently deleted. - - `type: optional "platform_oauth_app_updated"` + - `type: optional "platform_signing_key_deleted"` - default: platform_oauth_app_updated + default: platform_signing_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -109400,9 +114534,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `oauth_app_id: string` + - `algorithm: string` - Tagged ID of the updated app + The algorithm of the deleted key + + - `key_backing_type: string` + + The backing type of the deleted key (IN_MEMORY or CLOUD_KMS) + + - `key_name: string` + + The name of the deleted key + + - `signing_key_id: string` + + The tagged ID of the deleted signing key - `id: optional string` @@ -109422,39 +114568,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "apple_ios_attestation_environment" or "apple_ios_bundles" or "name" or 2 more` - - The OAuth app field that changed - - - `"apple_ios_attestation_environment"` - - - `"apple_ios_bundles"` - - - `"name"` - - - `"status"` - - - `"unspecified"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` - - Field value immediately before this change - - - `PlatformOrganizationCreated object` + - `PlatformSigningKeyRotated object` - An owner of the organization created a Claude Console organization under the same parent organization. + Activity logged when an in-memory signing key is rotated. - - `type: optional "platform_organization_created"` + - `type: optional "platform_signing_key_rotated"` - default: platform_organization_created + default: platform_signing_key_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -109662,17 +114782,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `admin_email: string` + - `algorithm: string` - The email address of the new organization's initial administrator. + The algorithm of the new key - - `created_organization_id: string` + - `key_group_identifier: string` - The Claude Console organization that was created, e.g. "org_01HX...". + The key group identifier linking old and new keys - - `parent_organization_id: string` + - `new_signing_key_id: string` - The parent organization both organizations belong to, e.g. "parent_org_01HX...". + The tagged ID of the newly created key + + - `old_signing_key_id: string` + + The tagged ID of the expired old key - `id: optional string` @@ -109692,13 +114816,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformPluginDirectorySubmissionCreated object` + - `PlatformSkillVersionContentDownloaded object` - A plugin directory submission was created on the API platform. A plugin directory submission is a request to list a plugin in the public plugin directory. + The content of a skill version was downloaded through the Skills API. - - `type: optional "platform_plugin_directory_submission_created"` + - `type: optional "platform_skill_version_content_downloaded"` - default: platform_plugin_directory_submission_created + default: platform_skill_version_content_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -109906,13 +115030,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `plugin_name: string` + - `skill_id: string` - The name of the plugin being submitted. + The tagged ID of the skill - - `submission_id: string` + - `version: string` - The submission that was created, e.g. "psub_01HX...". + The version of the skill whose content was downloaded - `id: optional string` @@ -109932,13 +115056,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformPluginDirectorySubmissionDeleted object` + - `PlatformSkillVersionCreated object` - A plugin directory submission was deleted on the API platform. + Activity logged when a skill version is created via POST /v1/skills/{skill_id}/versions. - - `type: optional "platform_plugin_directory_submission_deleted"` + - `type: optional "platform_skill_version_created"` - default: platform_plugin_directory_submission_deleted + default: platform_skill_version_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -110146,9 +115270,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `submission_id: string` + - `skill_id: string` - The submission that was deleted, e.g. "psub_01HX...". + The tagged ID of the skill + + - `version: string` + + The version number of the created version - `id: optional string` @@ -110168,13 +115296,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformPluginDirectorySubmissionUpdated object` + - `PlatformSkillVersionDeleted object` - A plugin directory submission was updated on the API platform. + Activity logged when a skill version is deleted via DELETE /v1/skills/{skill_id}/versions/{version}. - - `type: optional "platform_plugin_directory_submission_updated"` + - `type: optional "platform_skill_version_deleted"` - default: platform_plugin_directory_submission_updated + default: platform_skill_version_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -110382,13 +115510,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `status: string` + - `skill_id: string` - The submission's status after the update. + The tagged ID of the skill - - `submission_id: string` + - `version: string` - The submission that was updated, e.g. "psub_01HX...". + The version number of the deleted version - `id: optional string` @@ -110408,13 +115536,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformServiceAccountArchived object` + - `PlatformSpendLimitAlertEmailsUpdated object` - A service account was archived. + Spend limit alert email addresses and role targets were updated for an org. - - `type: optional "platform_service_account_archived"` + - `type: optional "platform_spend_limit_alert_emails_updated"` - default: platform_service_account_archived + default: platform_spend_limit_alert_emails_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -110622,253 +115750,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` - - Tagged ID of the archived service account - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `PlatformServiceAccountCreated object` - - A service account was created. - - - `type: optional "platform_service_account_created"` - - default: platform_service_account_created - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` - - default: attested_device_actor - - - `external_client_id: string` - - - `kid_hash: string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `organization_role: string` - - Organization role the service account was created with — typically "admin" or "developer". A role this service does not recognize is recorded verbatim. - - - `service_account_id: string` + - `alert_emails: optional array of string or null` - Tagged ID of the created service account, e.g. "svac_..." + Updated list of alert email addresses. - - `id: optional string` + - `alerted_roles: optional array of string or null` - Unique identifier for the activity e.g. 'activity_abcd1234' + Updated list of alerted roles. - `created_at: optional string` @@ -110884,13 +115776,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformServiceAccountUpdated object` + - `PlatformSpendLimitCreated object` - A service account was updated. + An org-level fixed-dollar spend limit was created. - - `type: optional "platform_service_account_updated"` + - `type: optional "platform_spend_limit_created"` - default: platform_service_account_updated + default: platform_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111098,10 +115990,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` - - Tagged ID of the updated service account - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -111112,43 +116000,29 @@ compliance activities that can be filtered by various criteria. format: date-time - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "description" or "organization_role" or "unspecified"` - - The service account field that changed + - `limit_action: optional string or null` - - `"description"` + The action taken when the limit is reached (notify_only or notify_and_pause). - - `"organization_role"` + - `limit_usd: optional number or null` - - `"unspecified"` + The spend limit threshold in USD cents. - - `current_value: string` + - `organization_id: optional string or null` - Field value immediately after this change + Organization ID this activity is associated with - - `previous_value: string` + - `organization_uuid: optional string or null` - Field value immediately before this change + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformServiceAccountWorkspaceMemberAdded object` + - `PlatformSpendLimitDeleted object` - A service account was added as a member of a workspace. + An org-level spend limit was removed. - - `type: optional "platform_service_account_workspace_member_added"` + - `type: optional "platform_spend_limit_deleted"` - default: platform_service_account_workspace_member_added + default: platform_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111356,14 +116230,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` - - Tagged ID of the service account - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -111382,17 +116248,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_role: optional string or null` + - `spend_limit_id: optional string or null` - Role the service account was given in the workspace, for example workspace_developer. + UUID of the deleted spend limit. - - `PlatformServiceAccountWorkspaceMemberRemoved object` + - `PlatformSpendLimitUpdated object` - A service account was removed from a workspace. + An org-level spend limit snooze/ignore state was changed. - - `type: optional "platform_service_account_workspace_member_removed"` + - `type: optional "platform_spend_limit_updated"` - default: platform_service_account_workspace_member_removed + default: platform_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111600,14 +116466,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` - - Tagged ID of the service account - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -111618,6 +116476,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ignore: optional boolean or null` + + Whether the limit is being snoozed (ignored). + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -111626,13 +116488,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformServiceAccountWorkspaceMemberUpdated object` + - `spend_limit_id: optional string or null` - A service account's workspace membership role was updated. + UUID of the spend limit. - - `type: optional "platform_service_account_workspace_member_updated"` + - `PlatformTelemetryDestinationAutoDisabled object` - default: platform_service_account_workspace_member_updated + A telemetry destination was disabled automatically after deliveries to it failed, so no telemetry is sent to it until an administrator enables it again. + + - `type: optional "platform_telemetry_destination_auto_disabled"` + + default: platform_telemetry_destination_auto_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111840,13 +116706,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` + - `telemetry_destination_id: string` - Tagged ID of the service account + Tagged telemetry destination ID, e.g. "tdst_01HX...". - - `workspace_id: string` + - `trigger: "invalid_address" or "redirect" or "sustained_failure" or "unspecified"` - Tagged ID of the workspace + Why the destination was disabled: deliveries failed for longer than Anthropic allows ("sustained_failure"), they failed that long and the hostname does not resolve to a public address ("invalid_address"), or the endpoint answered with an HTTP redirect ("redirect"). + + - `"invalid_address"` + + - `"redirect"` + + - `"sustained_failure"` + + - `"unspecified"` - `id: optional string` @@ -111866,33 +116740,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "unspecified" or "workspace_role"` - - The service account's workspace membership field that changed - - - `"unspecified"` - - - `"workspace_role"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` - - Field value immediately before this change - - - `PlatformSigningKeyCreated object` + - `PlatformTelemetryDestinationCreated object` - Activity logged when a new request-signing key is registered for the org. + A telemetry destination was registered for the organization. - - `type: optional "platform_signing_key_created"` + - `type: optional "platform_telemetry_destination_created"` - default: platform_signing_key_created + default: platform_telemetry_destination_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112100,21 +116954,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `algorithm: string` - - The signing algorithm (e.g. ecdsa-p256-sha256) - - - `key_backing_type: string` - - The backing type of the key (IN_MEMORY or CLOUD_KMS) - - - `signing_key_id: string` - - The tagged ID of the created signing key - - - `status: string` + - `telemetry_destination_id: string` - The initial status of the key (ACTIVE or PENDING) + Tagged telemetry destination ID, e.g. "tdst_01HX...". - `id: optional string` @@ -112126,6 +116968,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `endpoint_url: optional string or null` + + The destination's endpoint URL as stored, e.g. "https://collector.example.com/otlp"; the API refuses credentials, query strings and fragments in this URL. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -112134,13 +116980,41 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSigningKeyDeleted object` + - `traces: optional object or null` - Activity logged when a signing key is permanently deleted. + The destination's settings for traces, as the API returns them. - - `type: optional "platform_signing_key_deleted"` + - `content_mode: string` - default: platform_signing_key_deleted + What the exported spans contain: "metadata_only", or "content" when they also carry message and tool content. + + - `enabled: boolean` + + Whether the destination receives traces. + + - `endpoint_url: optional string or null` + + The destination's separate traces URL as stored, e.g. "https://collector.example.com/v2/trace/otlp"; like the endpoint URL it never contains credentials, a query string or a fragment. Omitted when the destination has none; traces then go to the endpoint URL plus "/v1/traces". + + - `max_content_bytes: optional number or null` + + The most bytes of content that one exported span keeps; omitted when the destination sets no bound and only Anthropic's maximum applies. + + - `workspaces: optional object or null` + + Which workspaces the destination covers, as the API returns it: its type only, "all", "include" or "exclude". The workspaces put on its list by the same request are recorded as workspace_added activities. + + - `type: string` + + "all": every workspace of the organization; "include": the workspaces on the destination's list; "exclude": every workspace but those on its list. + + - `PlatformTelemetryDestinationDeleted object` + + A telemetry destination was deleted. + + - `type: optional "platform_telemetry_destination_deleted"` + + default: platform_telemetry_destination_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112348,21 +117222,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `algorithm: string` - - The algorithm of the deleted key - - - `key_backing_type: string` - - The backing type of the deleted key (IN_MEMORY or CLOUD_KMS) - - - `key_name: string` - - The name of the deleted key - - - `signing_key_id: string` + - `telemetry_destination_id: string` - The tagged ID of the deleted signing key + Tagged telemetry destination ID, e.g. "tdst_01HX...". - `id: optional string` @@ -112382,13 +117244,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSigningKeyRotated object` + - `PlatformTelemetryDestinationUpdated object` - Activity logged when an in-memory signing key is rotated. + A telemetry destination's configuration was updated. State changes and changes of its workspace scope (the type, or the list through an update's workspace_ids) are included; the workspaces an update took off or put on the list are also recorded as workspace_removed and workspace_added activities. Previous and current values are recorded only for the endpoint URL, the traces URL, the content mode and the workspaces type. - - `type: optional "platform_signing_key_rotated"` + - `type: optional "platform_telemetry_destination_updated"` - default: platform_signing_key_rotated + default: platform_telemetry_destination_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112596,21 +117458,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `algorithm: string` - - The algorithm of the new key - - - `key_group_identifier: string` - - The key group identifier linking old and new keys - - - `new_signing_key_id: string` - - The tagged ID of the newly created key - - - `old_signing_key_id: string` + - `telemetry_destination_id: string` - The tagged ID of the expired old key + Tagged telemetry destination ID, e.g. "tdst_01HX...". - `id: optional string` @@ -112630,13 +117480,43 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSkillVersionContentDownloaded object` + - `updated_fields: optional array of string` - The content of a skill version was downloaded through the Skills API. + Names of the configuration fields whose value changed, e.g. "endpoint_url", "headers", "state"; "traces" when any setting for traces changed. Header names and values are never included. - - `type: optional "platform_skill_version_content_downloaded"` + - `updates: optional array of object` - default: platform_skill_version_content_downloaded + The field-level value changes in this update, in this order: an "endpoint_url" entry when the endpoint URL changed, a "traces_endpoint_url" entry when the traces URL changed, a "traces_content_mode" entry when the content mode changed, and a "workspaces" entry ("all", "include" or "exclude") when the workspaces type changed; empty otherwise. + + - `type: "endpoint_url" or "traces_content_mode" or "traces_endpoint_url" or 2 more` + + The destination field that changed + + - `"endpoint_url"` + + - `"traces_content_mode"` + + - `"traces_endpoint_url"` + + - `"unspecified"` + + - `"workspaces"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `PlatformTelemetryDestinationWorkspaceAdded object` + + A workspace was added to the workspace list of a telemetry destination. When the list type is "include", the destination starts to receive the spans of that workspace; when it is "exclude", the destination stops receiving them. + + - `type: optional "platform_telemetry_destination_workspace_added"` + + default: platform_telemetry_destination_workspace_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112844,13 +117724,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `skill_id: string` + - `telemetry_destination_id: string` - The tagged ID of the skill + Tagged telemetry destination ID, e.g. "tdst_01HX...". - - `version: string` + - `workspace_id: string` - The version of the skill whose content was downloaded + Tagged ID of the workspace put on the list, e.g. "wrkspc_01HX...". - `id: optional string` @@ -112870,13 +117750,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSkillVersionCreated object` + - `PlatformTelemetryDestinationWorkspaceRemoved object` - Activity logged when a skill version is created via POST /v1/skills/{skill_id}/versions. + A workspace was removed from the workspace list of a telemetry destination, by a change to the list or because the destination was deleted. When the list type is "include", the destination stops receiving the spans of that workspace; when it is "exclude", the destination receives them again unless the destination was deleted. - - `type: optional "platform_skill_version_created"` + - `type: optional "platform_telemetry_destination_workspace_removed"` - default: platform_skill_version_created + default: platform_telemetry_destination_workspace_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -113084,13 +117964,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `skill_id: string` + - `telemetry_destination_id: string` - The tagged ID of the skill + Tagged telemetry destination ID, e.g. "tdst_01HX...". - - `version: string` + - `workspace_id: string` - The version number of the created version + Tagged ID of the workspace taken off the list, e.g. "wrkspc_01HX...". - `id: optional string` @@ -113110,13 +117990,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSkillVersionDeleted object` + - `PlatformUsageReportClaudeCodeViewed object` - Activity logged when a skill version is deleted via DELETE /v1/skills/{skill_id}/versions/{version}. + The Claude Code usage report was viewed. - - `type: optional "platform_skill_version_deleted"` + - `type: optional "platform_usage_report_claude_code_viewed"` - default: platform_skill_version_deleted + default: platform_usage_report_claude_code_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -113324,14 +118204,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `skill_id: string` - - The tagged ID of the skill - - - `version: string` - - The version number of the deleted version - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -113350,13 +118222,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSpendLimitAlertEmailsUpdated object` + - `PlatformUsageReportMessagesViewed object` - Spend limit alert email addresses and role targets were updated for an org. + The messages usage report was viewed. - - `type: optional "platform_spend_limit_alert_emails_updated"` + - `type: optional "platform_usage_report_messages_viewed"` - default: platform_spend_limit_alert_emails_updated + default: platform_usage_report_messages_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -113568,14 +118440,6 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `alert_emails: optional array of string or null` - - Updated list of alert email addresses. - - - `alerted_roles: optional array of string or null` - - Updated list of alerted roles. - - `created_at: optional string` When this activity occurred. @@ -113590,13 +118454,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSpendLimitCreated object` + - `PlatformWorkspaceArchived object` - An org-level fixed-dollar spend limit was created. + A workspace was archived. - - `type: optional "platform_spend_limit_created"` + - `type: optional "platform_workspace_archived"` - default: platform_spend_limit_created + default: platform_workspace_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -113804,6 +118668,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `workspace_id: string` + + Tagged ID of the archived workspace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -113814,14 +118682,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `limit_action: optional string or null` - - The action taken when the limit is reached (notify_only or notify_and_pause). - - - `limit_usd: optional number or null` - - The spend limit threshold in USD cents. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -113830,13 +118690,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformSpendLimitDeleted object` + - `PlatformWorkspaceCreated object` - An org-level spend limit was removed. + A workspace was created. - - `type: optional "platform_spend_limit_deleted"` + - `type: optional "platform_workspace_created"` - default: platform_spend_limit_deleted + default: platform_workspace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -114044,16 +118904,40 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `workspace_id: string` + + Tagged ID of the created workspace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `allowed_inference_geos: optional string or null` + + Inference geos the workspace allows, as a comma-separated list such as "global,us", or "unrestricted" when every geo is allowed + - `created_at: optional string` When this activity occurred. format: date-time + - `default_inference_geo: optional string or null` + + Inference geo the workspace uses when a request does not specify one + + - `display_color: optional string or null` + + Display color of the workspace, as a hex code such as "#ACA1CC" + + - `external_key_id: optional string or null` + + Tagged ID of the customer-managed encryption key the workspace uses; absent when it has none + + - `name: optional string or null` + + Name of the workspace + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -114062,17 +118946,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` + - `tag_count: optional number or null` - UUID of the deleted spend limit. + Number of tags the workspace was created with; tag keys and values are never recorded - - `PlatformSpendLimitUpdated object` + - `PlatformWorkspaceInferenceDataRetentionDisabled object` - An org-level spend limit snooze/ignore state was changed. + The zero data retention override was disabled for a workspace. - - `type: optional "platform_spend_limit_updated"` + - `type: optional "platform_workspace_inference_data_retention_disabled"` - default: platform_spend_limit_updated + default: platform_workspace_inference_data_retention_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -114280,6 +119164,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `workspace_id: string` + + Tagged ID of the workspace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -114290,10 +119178,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ignore: optional boolean or null` - - Whether the limit is being snoozed (ignored). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -114302,17 +119186,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` + - `previous_value: optional boolean or null` - UUID of the spend limit. + Override state immediately before this change - - `PlatformTelemetryDestinationAutoDisabled object` + - `PlatformWorkspaceInferenceDataRetentionEnabled object` - A telemetry destination was disabled automatically after deliveries to it failed, so no telemetry is sent to it until an administrator enables it again. + The zero data retention override was enabled for a workspace. - - `type: optional "platform_telemetry_destination_auto_disabled"` + - `type: optional "platform_workspace_inference_data_retention_enabled"` - default: platform_telemetry_destination_auto_disabled + default: platform_workspace_inference_data_retention_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -114520,21 +119404,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `telemetry_destination_id: string` - - Tagged telemetry destination ID, e.g. "tdst_01HX...". - - - `trigger: "invalid_address" or "redirect" or "sustained_failure" or "unspecified"` - - Why the destination was disabled: deliveries failed for longer than Anthropic allows ("sustained_failure"), they failed that long and the hostname does not resolve to a public address ("invalid_address"), or the endpoint answered with an HTTP redirect ("redirect"). - - - `"invalid_address"` - - - `"redirect"` - - - `"sustained_failure"` + - `workspace_id: string` - - `"unspecified"` + Tagged ID of the workspace - `id: optional string` @@ -114554,13 +119426,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformTelemetryDestinationCreated object` + - `previous_value: optional boolean or null` - A telemetry destination was registered for the organization. + Override state immediately before this change - - `type: optional "platform_telemetry_destination_created"` + - `PlatformWorkspaceMemberAdded object` - default: platform_telemetry_destination_created + A member was added to a workspace. + + - `type: optional "platform_workspace_member_added"` + + default: platform_workspace_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -114768,9 +119644,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `telemetry_destination_id: string` + - `user_id: string` - Tagged telemetry destination ID, e.g. "tdst_01HX...". + Tagged ID of the added member + + - `workspace_id: string` + + Tagged ID of the workspace - `id: optional string` @@ -114782,10 +119662,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `endpoint_url: optional string or null` - - The destination's endpoint URL as stored, e.g. "https://collector.example.com/otlp"; the API refuses credentials, query strings and fragments in this URL. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -114794,41 +119670,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `traces: optional object or null` - - The destination's settings for traces, as the API returns them. - - - `content_mode: string` - - What the exported spans contain: "metadata_only", or "content" when they also carry message and tool content. - - - `enabled: boolean` - - Whether the destination receives traces. - - - `endpoint_url: optional string or null` - - The destination's separate traces URL as stored, e.g. "https://collector.example.com/v2/trace/otlp"; like the endpoint URL it never contains credentials, a query string or a fragment. Omitted when the destination has none; traces then go to the endpoint URL plus "/v1/traces". - - - `max_content_bytes: optional number or null` - - The most bytes of content that one exported span keeps; omitted when the destination sets no bound and only Anthropic's maximum applies. - - - `workspaces: optional object or null` - - Which workspaces the destination covers, as the API returns it: its type only, "all", "include" or "exclude". The workspaces put on its list by the same request are recorded as workspace_added activities. - - - `type: string` - - "all": every workspace of the organization; "include": the workspaces on the destination's list; "exclude": every workspace but those on its list. - - - `PlatformTelemetryDestinationDeleted object` + - `PlatformWorkspaceMemberRemoved object` - A telemetry destination was deleted. + A member was removed from a workspace. - - `type: optional "platform_telemetry_destination_deleted"` + - `type: optional "platform_workspace_member_removed"` - default: platform_telemetry_destination_deleted + default: platform_workspace_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115036,9 +119884,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `telemetry_destination_id: string` + - `user_id: string` - Tagged telemetry destination ID, e.g. "tdst_01HX...". + Tagged ID of the removed member + + - `workspace_id: string` + + Tagged ID of the workspace - `id: optional string` @@ -115058,13 +119910,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformTelemetryDestinationUpdated object` + - `PlatformWorkspaceMemberUpdated object` - A telemetry destination's configuration was updated. State changes and changes of its workspace scope (the type, or the list through an update's workspace_ids) are included; the workspaces an update took off or put on the list are also recorded as workspace_removed and workspace_added activities. Previous and current values are recorded only for the endpoint URL, the traces URL, the content mode and the workspaces type. + A workspace member was updated. - - `type: optional "platform_telemetry_destination_updated"` + - `type: optional "platform_workspace_member_updated"` - default: platform_telemetry_destination_updated + default: platform_workspace_member_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115272,9 +120124,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `telemetry_destination_id: string` + - `user_id: string` - Tagged telemetry destination ID, e.g. "tdst_01HX...". + Tagged ID of the updated member + + - `workspace_id: string` + + Tagged ID of the workspace - `id: optional string` @@ -115294,27 +120150,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updated_fields: optional array of string` - - Names of the configuration fields whose value changed, e.g. "endpoint_url", "headers", "state"; "traces" when any setting for traces changed. Header names and values are never included. - - `updates: optional array of object` - The field-level value changes in this update, in this order: an "endpoint_url" entry when the endpoint URL changed, a "traces_endpoint_url" entry when the traces URL changed, a "traces_content_mode" entry when the content mode changed, and a "workspaces" entry ("all", "include" or "exclude") when the workspaces type changed; empty otherwise. - - - `type: "endpoint_url" or "traces_content_mode" or "traces_endpoint_url" or 2 more` - - The destination field that changed - - - `"endpoint_url"` + The field-level changes applied in this update - - `"traces_content_mode"` + - `type: "unspecified" or "workspace_role"` - - `"traces_endpoint_url"` + The workspace member field that changed - `"unspecified"` - - `"workspaces"` + - `"workspace_role"` - `current_value: string` @@ -115324,13 +120170,13 @@ compliance activities that can be filtered by various criteria. Field value immediately before this change - - `PlatformTelemetryDestinationWorkspaceAdded object` + - `PlatformWorkspaceMemberViewed object` - A workspace was added to the workspace list of a telemetry destination. When the list type is "include", the destination starts to receive the spans of that workspace; when it is "exclude", the destination stops receiving them. + A workspace member was viewed. - - `type: optional "platform_telemetry_destination_workspace_added"` + - `type: optional "platform_workspace_member_viewed"` - default: platform_telemetry_destination_workspace_added + default: platform_workspace_member_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115538,13 +120384,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `telemetry_destination_id: string` + - `user_id: string` - Tagged telemetry destination ID, e.g. "tdst_01HX...". + Tagged ID of the viewed member - `workspace_id: string` - Tagged ID of the workspace put on the list, e.g. "wrkspc_01HX...". + Tagged ID of the workspace - `id: optional string` @@ -115564,13 +120410,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformTelemetryDestinationWorkspaceRemoved object` + - `PlatformWorkspaceMembersListed object` - A workspace was removed from the workspace list of a telemetry destination, by a change to the list or because the destination was deleted. When the list type is "include", the destination stops receiving the spans of that workspace; when it is "exclude", the destination receives them again unless the destination was deleted. + Workspace members were listed. - - `type: optional "platform_telemetry_destination_workspace_removed"` + - `type: optional "platform_workspace_members_listed"` - default: platform_telemetry_destination_workspace_removed + default: platform_workspace_members_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115778,13 +120624,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `telemetry_destination_id: string` - - Tagged telemetry destination ID, e.g. "tdst_01HX...". - - `workspace_id: string` - Tagged ID of the workspace taken off the list, e.g. "wrkspc_01HX...". + Tagged ID of the workspace - `id: optional string` @@ -115804,13 +120646,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformUsageReportClaudeCodeViewed object` + - `PlatformWorkspaceRateLimitDeleted object` - The Claude Code usage report was viewed. + A workspace rate limit was deleted. - - `type: optional "platform_usage_report_claude_code_viewed"` + - `type: optional "platform_workspace_rate_limit_deleted"` - default: platform_usage_report_claude_code_viewed + default: platform_workspace_rate_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116018,6 +120860,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `limiter_type: string` + + Type of rate limiter + + - `model_group: string` + + Model group the rate limit applied to + + - `workspace_id: string` + + Tagged ID of the workspace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -116036,13 +120890,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformUsageReportMessagesViewed object` + - `PlatformWorkspaceRateLimitUpdated object` - The messages usage report was viewed. + A workspace rate limit was created or updated. - - `type: optional "platform_usage_report_messages_viewed"` + - `type: optional "platform_workspace_rate_limit_updated"` - default: platform_usage_report_messages_viewed + default: platform_workspace_rate_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116250,6 +121104,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `limiter_type: string` + + Type of rate limiter + + - `model_group: string` + + Model group the rate limit applies to + + - `value: number` + + New rate limit value + + - `workspace_id: string` + + Tagged ID of the workspace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -116268,13 +121138,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceArchived object` + - `PlatformWorkspaceUpdated object` - A workspace was archived. + A workspace was updated. - - `type: optional "platform_workspace_archived"` + - `type: optional "platform_workspace_updated"` - default: platform_workspace_archived + default: platform_workspace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116484,7 +121354,7 @@ compliance activities that can be filtered by various criteria. - `workspace_id: string` - Tagged ID of the archived workspace + Tagged ID of the updated workspace - `id: optional string` @@ -116504,13 +121374,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceCreated object` + - `updates: optional array of object` - A workspace was created. + The field-level changes applied in this update - - `type: optional "platform_workspace_created"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "display_color" or 5 more` - default: platform_workspace_created + The workspace field that changed + + - `"allowed_inference_geos"` + + - `"default_inference_geo"` + + - `"display_color"` + + - `"external_key_config_id"` + + - `"inference_data_retention"` + + - `"name"` + + - `"tag_count"` + + - `"unspecified"` + + - `current_value: string` + + Field value immediately after this change. For tag_count, the number of tags as a decimal string; tag keys and values are never recorded. + + - `previous_value: string` + + Field value immediately before this change. For tag_count, the number of tags as a decimal string; tag keys and values are never recorded. + + - `ClaudePluginCreated object` + + Plugin was created. + + - `type: optional "claude_plugin_created"` + + default: claude_plugin_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116718,40 +121620,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `workspace_id: string` - - Tagged ID of the created workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `allowed_inference_geos: optional string or null` - - Inference geos the workspace allows, as a comma-separated list such as "global,us", or "unrestricted" when every geo is allowed - - `created_at: optional string` When this activity occurred. format: date-time - - `default_inference_geo: optional string or null` - - Inference geo the workspace uses when a request does not specify one - - - `display_color: optional string or null` - - Display color of the workspace, as a hex code such as "#ACA1CC" - - - `external_key_id: optional string or null` - - Tagged ID of the customer-managed encryption key the workspace uses; absent when it has none - - - `name: optional string or null` - - Name of the workspace - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -116760,17 +121638,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `tag_count: optional number or null` + - `plugin_id: optional string or null` - Number of tags the workspace was created with; tag keys and values are never recorded + - `plugin_name: optional string or null` - - `PlatformWorkspaceInferenceDataRetentionDisabled object` + - `ClaudePluginDeleted object` - The zero data retention override was disabled for a workspace. + Plugin was deleted. - - `type: optional "platform_workspace_inference_data_retention_disabled"` + - `type: optional "claude_plugin_deleted"` - default: platform_workspace_inference_data_retention_disabled + default: claude_plugin_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116978,10 +121856,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -117000,17 +121874,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `plugin_id: optional string or null` - Override state immediately before this change + - `plugin_name: optional string or null` - - `PlatformWorkspaceInferenceDataRetentionEnabled object` + - `ClaudePluginDisabled object` - The zero data retention override was enabled for a workspace. + User disabled a plugin for their account. - - `type: optional "platform_workspace_inference_data_retention_enabled"` + - `type: optional "claude_plugin_disabled"` - default: platform_workspace_inference_data_retention_enabled + default: claude_plugin_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117218,10 +122092,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -117232,6 +122102,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `marketplace_id: optional string or null` + + Identifier of the marketplace the plugin was installed from. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -117240,17 +122114,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `plugin_id: optional string or null` - Override state immediately before this change + Identifier of the plugin that was disabled. - - `PlatformWorkspaceMemberAdded object` + - `plugin_name: optional string or null` - A member was added to a workspace. + Name of the plugin that was disabled. - - `type: optional "platform_workspace_member_added"` + - `ClaudePluginEnabled object` - default: platform_workspace_member_added + User enabled a plugin for their account. + + - `type: optional "claude_plugin_enabled"` + + default: claude_plugin_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117458,14 +122336,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the added member - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -117476,6 +122346,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `marketplace_id: optional string or null` + + Identifier of the marketplace the plugin was installed from. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -117484,13 +122358,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceMemberRemoved object` + - `plugin_id: optional string or null` - A member was removed from a workspace. + Identifier of the plugin that was enabled. - - `type: optional "platform_workspace_member_removed"` + - `plugin_name: optional string or null` - default: platform_workspace_member_removed + Name of the plugin that was enabled. + + - `PluginInstallationPreferenceUpdated object` + + An org admin changed the installation preference for a plugin. + + - `type: optional "plugin_installation_preference_updated"` + + default: plugin_installation_preference_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117698,24 +122580,52 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` + - `marketplace_id: string` - Tagged ID of the removed member + Marketplace ID - - `workspace_id: string` + - `plugin_name: string` - Tagged ID of the workspace + Plugin name - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `action: optional string or null` + + Action taken (e.g. 'deleted' for clearing an override) + + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time + - `group_id: optional string or null` + + Tagged group ID for group-level overrides (null for org-level) + + - `group_name: optional string or null` + + Group name for group-level overrides + + - `installation_preference: optional string or null` + + New installation preference value (set only when action is an update; null for delete actions) + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -117724,13 +122634,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceMemberUpdated object` + - `previous_installation_preference: optional string or null` - A workspace member was updated. + Installation preference value before this change, at the same level (organization or group); absent when none was set before - - `type: optional "platform_workspace_member_updated"` + - `ClaudePluginReplaced object` - default: platform_workspace_member_updated + Plugin was replaced. + + - `type: optional "claude_plugin_replaced"` + + default: claude_plugin_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117938,14 +122852,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the updated member - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -117964,33 +122870,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "unspecified" or "workspace_role"` - - The workspace member field that changed - - - `"unspecified"` - - - `"workspace_role"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` + - `plugin_id: optional string or null` - Field value immediately before this change + - `plugin_name: optional string or null` - - `PlatformWorkspaceMemberViewed object` + - `ClaudePluginSecurityScanCompleted object` - A workspace member was viewed. + A security scan of a plugin completed and produced a verdict. - - `type: optional "platform_workspace_member_viewed"` + - `type: optional "claude_plugin_security_scan_completed"` - default: platform_workspace_member_viewed + default: claude_plugin_security_scan_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -118198,13 +123088,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` + - `scan_id: string` - Tagged ID of the viewed member + Identifier of the security scan. - - `workspace_id: string` + - `verdict: "fail" or "pass" or "unknown" or 2 more` - Tagged ID of the workspace + Verdict the scan produced. + + - `"fail"` + + - `"pass"` + + - `"unknown"` + + - `"unspecified"` + + - `"warn"` - `id: optional string` @@ -118224,13 +123124,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceMembersListed object` + - `plugin_id: optional string or null` - Workspace members were listed. + Identifier of the plugin that was scanned. - - `type: optional "platform_workspace_members_listed"` + - `plugin_name: optional string or null` - default: platform_workspace_members_listed + Name of the plugin that was scanned. + + - `plugin_version: optional string or null` + + Version of the plugin that was scanned. + + - `ClaudePluginUpdated object` + + Plugin was updated. + + - `type: optional "claude_plugin_updated"` + + default: claude_plugin_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -118438,10 +123350,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -118460,13 +123368,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceRateLimitDeleted object` + - `plugin_id: optional string or null` - A workspace rate limit was deleted. + - `plugin_name: optional string or null` - - `type: optional "platform_workspace_rate_limit_deleted"` + - `PrepaidAutoRechargeDisabled object` - default: platform_workspace_rate_limit_deleted + Auto-recharge was disabled for API prepaid org. + + - `type: optional "prepaid_auto_recharge_disabled"` + + default: prepaid_auto_recharge_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -118674,18 +123586,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `limiter_type: string` - - Type of rate limiter - - - `model_group: string` - - Model group the rate limit applied to - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -118704,13 +123604,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceRateLimitUpdated object` + - `PrepaidAutoRechargeUpdated object` - A workspace rate limit was created or updated. + Auto-recharge settings were updated for API prepaid org. - - `type: optional "platform_workspace_rate_limit_updated"` + - `type: optional "prepaid_auto_recharge_updated"` - default: platform_workspace_rate_limit_updated + default: prepaid_auto_recharge_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -118918,22 +123818,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `limiter_type: string` - - Type of rate limiter - - - `model_group: string` - - Model group the rate limit applies to - - - `value: number` - - New rate limit value - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -118952,13 +123836,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PlatformWorkspaceUpdated object` + - `target_amount: optional number or null` - A workspace was updated. + Target recharge amount in minor units. - - `type: optional "platform_workspace_updated"` + - `threshold_amount: optional number or null` - default: platform_workspace_updated + Threshold amount to trigger recharge in minor units. + + - `PrepaidExtraUsageAutoReloadDisabled object` + + Prepaid usage credit auto-reload was disabled. + + - `type: optional "prepaid_extra_usage_auto_reload_disabled"` + + default: prepaid_extra_usage_auto_reload_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -119166,10 +124058,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `workspace_id: string` - - Tagged ID of the updated workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -119188,45 +124076,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "allowed_inference_geos" or "default_inference_geo" or "display_color" or 5 more` - - The workspace field that changed - - - `"allowed_inference_geos"` - - - `"default_inference_geo"` - - - `"display_color"` - - - `"external_key_config_id"` - - - `"inference_data_retention"` - - - `"name"` - - - `"tag_count"` - - - `"unspecified"` - - - `current_value: string` - - Field value immediately after this change. For tag_count, the number of tags as a decimal string; tag keys and values are never recorded. - - - `previous_value: string` - - Field value immediately before this change. For tag_count, the number of tags as a decimal string; tag keys and values are never recorded. - - - `ClaudePluginCreated object` + - `PrepaidExtraUsageAutoReloadEnabled object` - Plugin was created. + Prepaid usage credit auto-reload was enabled. - - `type: optional "claude_plugin_created"` + - `type: optional "prepaid_extra_usage_auto_reload_enabled"` - default: claude_plugin_created + default: prepaid_extra_usage_auto_reload_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -119452,17 +124308,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_id: optional string or null` - - - `plugin_name: optional string or null` - - - `ClaudePluginDeleted object` + - `PrepaidExtraUsageAutoReloadSettingsUpdated object` - Plugin was deleted. + Prepaid usage credit auto-reload settings were updated. - - `type: optional "claude_plugin_deleted"` + - `type: optional "prepaid_extra_usage_auto_reload_settings_updated"` - default: claude_plugin_deleted + default: prepaid_extra_usage_auto_reload_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -119688,17 +124540,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_id: optional string or null` - - - `plugin_name: optional string or null` - - - `ClaudePluginDisabled object` + - `PrimaryOwnerTransferred object` - User disabled a plugin for their account. + Primary owner role was transferred to another org member. - - `type: optional "claude_plugin_disabled"` + - `type: optional "primary_owner_transferred"` - default: claude_plugin_disabled + default: primary_owner_transferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -119906,6 +124754,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `new_owner_id: string` + + Tagged ID of the member who became the primary owner. + + - `previous_owner_id: string` + + Tagged ID of the member who was the primary owner before the transfer. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -119916,10 +124772,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `marketplace_id: optional string or null` - - Identifier of the marketplace the plugin was installed from. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -119928,21 +124780,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_id: optional string or null` - - Identifier of the plugin that was disabled. - - - `plugin_name: optional string or null` - - Name of the plugin that was disabled. - - - `ClaudePluginEnabled object` + - `ClaudeProjectArchived object` - User enabled a plugin for their account. + A Claude project was archived. - - `type: optional "claude_plugin_enabled"` + - `type: optional "claude_project_archived"` - default: claude_plugin_enabled + default: claude_project_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120150,6 +124994,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_project_id: string` + + Tagged ID of the project that was archived, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -120160,10 +125008,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `marketplace_id: optional string or null` - - Identifier of the marketplace the plugin was installed from. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -120172,21 +125016,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_id: optional string or null` - - Identifier of the plugin that was enabled. - - - `plugin_name: optional string or null` - - Name of the plugin that was enabled. - - - `PluginInstallationPreferenceUpdated object` + - `ClaudeProjectCreated object` - An org admin changed the installation preference for a plugin. + A Claude project was created. - - `type: optional "plugin_installation_preference_updated"` + - `type: optional "claude_project_created"` - default: plugin_installation_preference_updated + default: claude_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120394,52 +125230,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Marketplace ID - - - `plugin_name: string` + - `claude_project_id: string` - Plugin name + Tagged ID of the project that was created, e.g. "claude_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `action: optional string or null` - - Action taken (e.g. 'deleted' for clearing an override) - - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `group_id: optional string or null` - - Tagged group ID for group-level overrides (null for org-level) - - - `group_name: optional string or null` - - Group name for group-level overrides - - - `installation_preference: optional string or null` - - New installation preference value (set only when action is an update; null for delete actions) - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -120448,17 +125252,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_installation_preference: optional string or null` - - Installation preference value before this change, at the same level (organization or group); absent when none was set before - - - `ClaudePluginReplaced object` + - `ClaudeProjectDeleted object` - Plugin was replaced. + A Claude project was deleted. - - `type: optional "claude_plugin_replaced"` + - `type: optional "claude_project_deleted"` - default: claude_plugin_replaced + default: claude_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120666,6 +125466,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_project_id: string` + + Tagged ID of the project that was deleted, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -120684,17 +125488,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_id: optional string or null` - - - `plugin_name: optional string or null` - - - `ClaudePluginSecurityScanCompleted object` + - `ClaudeProjectDocumentAccessFailed object` - A security scan of a plugin completed and produced a verdict. + An attempt to access a document in a Claude project failed. - - `type: optional "claude_plugin_security_scan_completed"` + - `type: optional "claude_project_document_access_failed"` - default: claude_plugin_security_scan_completed + default: claude_project_document_access_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120902,28 +125702,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `scan_id: string` - - Identifier of the security scan. - - - `verdict: "fail" or "pass" or "unknown" or 2 more` - - Verdict the scan produced. - - - `"fail"` - - - `"pass"` - - - `"unknown"` - - - `"unspecified"` + - `claude_project_id: string` - - `"warn"` + Tagged ID of the project the request targeted, e.g. "claude_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_document_id: optional string or null` + + Tagged ID of the document the request tried to access, e.g. "claude_proj_doc_01HX...". Absent when the request did not carry a well-formed document identifier. + - `created_at: optional string` When this activity occurred. @@ -120938,25 +125728,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_id: optional string or null` - - Identifier of the plugin that was scanned. - - - `plugin_name: optional string or null` - - Name of the plugin that was scanned. + - `filename: optional string or null` - - `plugin_version: optional string or null` + **Deprecated** - Version of the plugin that was scanned. + No longer populated. Where `claude_project_document_id` is present, resolve the name via the Compliance API project documents endpoint. - - `ClaudePluginUpdated object` + - `ClaudeProjectDocumentBulkDeletionAuditTruncated object` - Plugin was updated. + A bulk request to delete documents from a Claude project failed with more documents requested than were individually recorded in the audit log. - - `type: optional "claude_plugin_updated"` + - `type: optional "claude_project_document_bulk_deletion_audit_truncated"` - default: claude_plugin_updated + default: claude_project_document_bulk_deletion_audit_truncated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -121164,6 +125948,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `audited_count: number` + + Number of documents that received an individual audit record. + + - `claude_project_id: string` + + Tagged ID of the project the bulk deletion targeted, e.g. "claude_proj_01HX...". + + - `requested_count: number` + + Total number of documents the request asked to delete. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -121182,17 +125978,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_id: optional string or null` - - - `plugin_name: optional string or null` - - - `PrepaidAutoRechargeDisabled object` + - `ClaudeProjectDocumentDeleted object` - Auto-recharge was disabled for API prepaid org. + A document was deleted from a Claude project. - - `type: optional "prepaid_auto_recharge_disabled"` + - `type: optional "claude_project_document_deleted"` - default: prepaid_auto_recharge_disabled + default: claude_project_document_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -121400,6 +126192,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_project_document_id: string` + + Tagged ID of the document that was deleted, e.g. "claude_proj_doc_01HX...". + + - `claude_project_id: string` + + Tagged ID of the project the document was deleted from, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -121418,13 +126218,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PrepaidAutoRechargeUpdated object` + - `filename: optional string or null` - Auto-recharge settings were updated for API prepaid org. + **Deprecated** - - `type: optional "prepaid_auto_recharge_updated"` + No longer populated. The name can't be looked up once the document is deleted. - default: prepaid_auto_recharge_updated + - `ClaudeProjectDocumentDeletionFailed object` + + A request to delete a document from a Claude project failed. + + - `type: optional "claude_project_document_deletion_failed"` + + default: claude_project_document_deletion_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -121632,16 +126438,28 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_project_id: string` + + Tagged ID of the project the deletion targeted, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_document_id: optional string or null` + + Tagged ID of the document the deletion targeted, e.g. "claude_proj_doc_01HX...". + - `created_at: optional string` When this activity occurred. format: date-time + - `filename: optional string or null` + + Name of the document, when known. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -121650,21 +126468,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `target_amount: optional number or null` - - Target recharge amount in minor units. - - - `threshold_amount: optional number or null` - - Threshold amount to trigger recharge in minor units. - - - `PrepaidExtraUsageAutoReloadDisabled object` + - `ClaudeProjectDocumentUpdated object` - Prepaid usage credit auto-reload was disabled. + The content of a document in a Claude project was replaced in place. - - `type: optional "prepaid_extra_usage_auto_reload_disabled"` + - `type: optional "claude_project_document_updated"` - default: prepaid_extra_usage_auto_reload_disabled + default: claude_project_document_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -121872,6 +126682,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_project_document_id: string` + + Tagged ID of the document whose content was replaced, e.g. "claude_proj_doc_01HX...". + + - `claude_project_id: string` + + Tagged ID of the project containing the document, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -121890,13 +126708,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PrepaidExtraUsageAutoReloadEnabled object` + - `filename: optional string or null` - Prepaid usage credit auto-reload was enabled. + **Deprecated** - - `type: optional "prepaid_extra_usage_auto_reload_enabled"` + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - default: prepaid_extra_usage_auto_reload_enabled + - `ClaudeProjectDocumentUploaded object` + + A document was uploaded to a Claude project. + + - `type: optional "claude_project_document_uploaded"` + + default: claude_project_document_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -122104,6 +126928,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_project_document_id: string` + + Tagged ID of the document that was uploaded, e.g. "claude_proj_doc_01HX...". + + - `claude_project_id: string` + + Tagged ID of the project the document was uploaded to, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -122122,13 +126954,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PrepaidExtraUsageAutoReloadSettingsUpdated object` + - `filename: optional string or null` - Prepaid usage credit auto-reload settings were updated. + **Deprecated** - - `type: optional "prepaid_extra_usage_auto_reload_settings_updated"` + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - default: prepaid_extra_usage_auto_reload_settings_updated + - `ClaudeProjectDocumentViewed object` + + A document in a Claude project was viewed. + + - `type: optional "claude_project_document_viewed"` + + default: claude_project_document_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -122336,6 +127174,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_project_document_id: string` + + Tagged ID of the document that was viewed, e.g. "claude_proj_doc_01HX...". + + - `claude_project_id: string` + + Tagged ID of the project containing the document, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -122354,13 +127200,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `PrimaryOwnerTransferred object` + - `filename: optional string or null` - Primary owner role was transferred to another org member. + **Deprecated** - - `type: optional "primary_owner_transferred"` + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - default: primary_owner_transferred + - `ClaudeProjectFileAccessFailed object` + + An attempt to access a file in a Claude project failed. + + - `type: optional "claude_project_file_access_failed"` + + default: claude_project_file_access_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -122568,13 +127420,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `new_owner_id: string` + - `claude_file_id: string` - Tagged ID of the member who became the primary owner. + Tagged ID of the file the request tried to access, e.g. "claude_file_01HX...". - - `previous_owner_id: string` + - `claude_project_id: string` - Tagged ID of the member who was the primary owner before the transfer. + Tagged ID of the project the request targeted, e.g. "claude_proj_01HX...". - `id: optional string` @@ -122594,13 +127446,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectArchived object` + - `ClaudeProjectFileBulkDeletionAuditTruncated object` - A Claude project was archived. + A bulk request to delete files from a Claude project failed with more files requested than were individually recorded in the audit log. - - `type: optional "claude_project_archived"` + - `type: optional "claude_project_file_bulk_deletion_audit_truncated"` - default: claude_project_archived + default: claude_project_file_bulk_deletion_audit_truncated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -122808,9 +127660,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `audited_count: number` + + Number of files that received an individual audit record. + - `claude_project_id: string` - Tagged ID of the project that was archived, e.g. "claude_proj_01HX...". + Tagged ID of the project the bulk deletion targeted, e.g. "claude_proj_01HX...". + + - `requested_count: number` + + Total number of files the request asked to delete. - `id: optional string` @@ -122830,13 +127690,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectCreated object` + - `ClaudeProjectFileDeleted object` - A Claude project was created. + A file was deleted from a Claude project. - - `type: optional "claude_project_created"` + - `type: optional "claude_project_file_deleted"` - default: claude_project_created + default: claude_project_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123044,9 +127904,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_file_id: string` + + Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". + - `claude_project_id: string` - Tagged ID of the project that was created, e.g. "claude_proj_01HX...". + Tagged ID of the project the file was deleted from, e.g. "claude_proj_01HX...". - `id: optional string` @@ -123066,13 +127930,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectDeleted object` + - `ClaudeProjectFileDeletionFailed object` - A Claude project was deleted. + A request to delete a file from a Claude project failed. - - `type: optional "claude_project_deleted"` + - `type: optional "claude_project_file_deletion_failed"` - default: claude_project_deleted + default: claude_project_file_deletion_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123282,12 +128146,16 @@ compliance activities that can be filtered by various criteria. - `claude_project_id: string` - Tagged ID of the project that was deleted, e.g. "claude_proj_01HX...". + Tagged ID of the project the deletion targeted, e.g. "claude_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_file_id: optional string or null` + + Tagged ID of the file that was not deleted, e.g. "claude_file_01HX...". + - `created_at: optional string` When this activity occurred. @@ -123302,13 +128170,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectDocumentAccessFailed object` + - `ClaudeProjectFileUploaded object` - An attempt to access a document in a Claude project failed. + A file was uploaded to a Claude project. - - `type: optional "claude_project_document_access_failed"` + - `type: optional "claude_project_file_uploaded"` - default: claude_project_document_access_failed + default: claude_project_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123516,18 +128384,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `claude_file_id: string` + + Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". + - `claude_project_id: string` - Tagged ID of the project the request targeted, e.g. "claude_proj_01HX...". + Tagged ID of the project the file was uploaded to, e.g. "claude_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_document_id: optional string or null` - - Tagged ID of the document the request tried to access, e.g. "claude_proj_doc_01HX...". Absent when the request did not carry a well-formed document identifier. - - `created_at: optional string` When this activity occurred. @@ -123546,15 +128414,15 @@ compliance activities that can be filtered by various criteria. **Deprecated** - No longer populated. Where `claude_project_document_id` is present, resolve the name via the Compliance API project documents endpoint. + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - `ClaudeProjectDocumentBulkDeletionAuditTruncated object` + - `ClaudeProjectReported object` - A bulk request to delete documents from a Claude project failed with more documents requested than were individually recorded in the audit log. + A Claude project was reported. - - `type: optional "claude_project_document_bulk_deletion_audit_truncated"` + - `type: optional "claude_project_reported"` - default: claude_project_document_bulk_deletion_audit_truncated + default: claude_project_reported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123762,17 +128630,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `audited_count: number` - - Number of documents that received an individual audit record. - - `claude_project_id: string` - Tagged ID of the project the bulk deletion targeted, e.g. "claude_proj_01HX...". - - - `requested_count: number` - - Total number of documents the request asked to delete. + Tagged ID of the project that was reported, e.g. "claude_proj_01HX...". - `id: optional string` @@ -123792,13 +128652,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectDocumentDeleted object` + - `ClaudeProjectSharingUpdated object` - A document was deleted from a Claude project. + A Claude project's sharing settings were updated. - - `type: optional "claude_project_document_deleted"` + - `type: optional "claude_project_sharing_updated"` - default: claude_project_document_deleted + default: claude_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -124006,13 +128866,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_document_id: string` + - `audience: array of Public or Organization` - Tagged ID of the document that was deleted, e.g. "claude_proj_doc_01HX...". + Sharing audience for the project. If empty, it's only visible to the creating user. + + - `Public object` + + Sharing audience: public. + + - `type: optional "public"` + + default: public + + - `Organization object` + + Sharing audience: the project is visible to members of the owning organization. + + - `type: optional "organization"` + + default: organization - `claude_project_id: string` - Tagged ID of the project the document was deleted from, e.g. "claude_proj_01HX...". + The project's identifier, e.g. "claude_proj_01Ab...". - `id: optional string` @@ -124032,19 +128908,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated. The name can't be looked up once the document is deleted. - - - `ClaudeProjectDocumentDeletionFailed object` + - `ClaudeProjectViewed object` - A request to delete a document from a Claude project failed. + A Claude project was viewed. - - `type: optional "claude_project_document_deletion_failed"` + - `type: optional "claude_project_viewed"` - default: claude_project_document_deletion_failed + default: claude_project_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -124254,26 +129124,18 @@ compliance activities that can be filtered by various criteria. - `claude_project_id: string` - Tagged ID of the project the deletion targeted, e.g. "claude_proj_01HX...". + Tagged ID of the project that was viewed, e.g. "claude_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_document_id: optional string or null` - - Tagged ID of the document the deletion targeted, e.g. "claude_proj_doc_01HX...". - - `created_at: optional string` When this activity occurred. format: date-time - - `filename: optional string or null` - - Name of the document, when known. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -124282,13 +129144,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectDocumentUpdated object` + - `preview_only: optional boolean or null` - The content of a document in a Claude project was replaced in place. + Whether only the project's summary metadata was viewed rather than the full project. - - `type: optional "claude_project_document_updated"` + - `ClaudePubsecIdentityConfigured object` - default: claude_project_document_updated + SAML IdP configuration updated for a public sector organization. + + - `type: optional "claude_pubsec_identity_configured"` + + default: claude_pubsec_identity_configured - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -124496,13 +129362,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_document_id: string` - - Tagged ID of the document whose content was replaced, e.g. "claude_proj_doc_01HX...". - - - `claude_project_id: string` + - `idp_saml_config_updated: boolean` - Tagged ID of the project containing the document, e.g. "claude_proj_01HX...". + - `magic_link_toggled: boolean` - `id: optional string` @@ -124514,6 +129376,8 @@ compliance activities that can be filtered by various criteria. format: date-time + - `magic_link_enabled: optional boolean or null` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -124522,19 +129386,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `ClaudeProjectDocumentUploaded object` + - `RbacRoleAssigned object` - A document was uploaded to a Claude project. + Admin assigned an RBAC custom role to a principal. - - `type: optional "claude_project_document_uploaded"` + - `type: optional "rbac_role_assigned"` - default: claude_project_document_uploaded + default: rbac_role_assigned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -124742,13 +129600,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_document_id: string` + - `principal_id: string` - Tagged ID of the document that was uploaded, e.g. "claude_proj_doc_01HX...". + Tagged ID of the principal - - `claude_project_id: string` + - `principal_type: string` - Tagged ID of the project the document was uploaded to, e.g. "claude_proj_01HX...". + Type of principal: account, group, or service_account + + - `role_id: string` + + Tagged ID of the role - `id: optional string` @@ -124768,19 +129630,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `ClaudeProjectDocumentViewed object` + - `RbacRoleCreated object` - A document in a Claude project was viewed. + Admin created an RBAC custom role. - - `type: optional "claude_project_document_viewed"` + - `type: optional "rbac_role_created"` - default: claude_project_document_viewed + default: rbac_role_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -124988,13 +129844,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_document_id: string` + - `role_id: string` - Tagged ID of the document that was viewed, e.g. "claude_proj_doc_01HX...". + Tagged ID of the created role - - `claude_project_id: string` + - `role_name: string` - Tagged ID of the project containing the document, e.g. "claude_proj_01HX...". + Name of the created role - `id: optional string` @@ -125014,19 +129870,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `ClaudeProjectFileAccessFailed object` + - `RbacRoleDeleted object` - An attempt to access a file in a Claude project failed. + Admin deleted an RBAC custom role. - - `type: optional "claude_project_file_access_failed"` + - `type: optional "rbac_role_deleted"` - default: claude_project_file_access_failed + default: rbac_role_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -125234,13 +130084,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` - - Tagged ID of the file the request tried to access, e.g. "claude_file_01HX...". - - - `claude_project_id: string` + - `role_id: string` - Tagged ID of the project the request targeted, e.g. "claude_proj_01HX...". + Tagged ID of the deleted role - `id: optional string` @@ -125260,13 +130106,26 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectFileBulkDeletionAuditTruncated object` + - `RbacRoleGrantUpdated object` - A bulk request to delete files from a Claude project failed with more files requested than were individually recorded in the audit log. + Admin requested a capability grant for an RBAC custom role, or removed it. - - `type: optional "claude_project_file_bulk_deletion_audit_truncated"` + Records the admin's change to the role. Whether the grant is currently in + effect on the role is reported separately. - default: claude_project_file_bulk_deletion_audit_truncated + - `type: optional "rbac_role_grant_updated"` + + default: rbac_role_grant_updated + + - `action: "removed" or "requested" or "unspecified"` + + Whether the grant was requested for the role or removed from it + + - `"removed"` + + - `"requested"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -125474,17 +130333,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `audited_count: number` - - Number of files that received an individual audit record. - - - `claude_project_id: string` + - `grant_type: string` - Tagged ID of the project the bulk deletion targeted, e.g. "claude_proj_01HX...". + The type of capability grant - - `requested_count: number` + - `role_id: string` - Total number of files the request asked to delete. + Tagged ID of the role - `id: optional string` @@ -125504,13 +130359,20 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectFileDeleted object` + - `RbacRolePermissionAdded object` - A file was deleted from a Claude project. + Admin added a permission to an RBAC custom role. - - `type: optional "claude_project_file_deleted"` + Emitted once per requested permission, including permissions the role + already had, so a retried request still produces a complete audit record. - default: claude_project_file_deleted + - `type: optional "rbac_role_permission_added"` + + default: rbac_role_permission_added + + - `action: string` + + Action permitted on the resource - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -125718,13 +130580,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` + - `resource_id: string` - Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". + ID of the resource - - `claude_project_id: string` + - `resource_type: string` - Tagged ID of the project the file was deleted from, e.g. "claude_proj_01HX...". + Type of resource the permission applies to + + - `role_id: string` + + Tagged ID of the role - `id: optional string` @@ -125744,13 +130610,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectFileDeletionFailed object` + - `RbacRolePermissionRemoved object` - A request to delete a file from a Claude project failed. + Admin removed a permission from an RBAC custom role. - - `type: optional "claude_project_file_deletion_failed"` + Emitted once per requested permission, including permissions the role + already lacked, so a retried request still produces a complete audit + record. - default: claude_project_file_deletion_failed + - `type: optional "rbac_role_permission_removed"` + + default: rbac_role_permission_removed + + - `action: string` + + Action that was permitted on the resource - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -125958,17 +130832,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `resource_id: string` - Tagged ID of the project the deletion targeted, e.g. "claude_proj_01HX...". + ID of the resource - - `id: optional string` + - `resource_type: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Type of resource the permission applied to - - `claude_file_id: optional string or null` + - `role_id: string` - Tagged ID of the file that was not deleted, e.g. "claude_file_01HX...". + Tagged ID of the role + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -125984,13 +130862,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectFileUploaded object` + - `RbacRoleUnassigned object` - A file was uploaded to a Claude project. + Admin unassigned an RBAC custom role from a principal. - - `type: optional "claude_project_file_uploaded"` + - `type: optional "rbac_role_unassigned"` - default: claude_project_file_uploaded + default: rbac_role_unassigned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126198,13 +131076,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` + - `principal_id: string` - Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". + Tagged ID of the principal - - `claude_project_id: string` + - `principal_type: string` - Tagged ID of the project the file was uploaded to, e.g. "claude_proj_01HX...". + Type of principal: account, group, or service_account + + - `role_id: string` + + Tagged ID of the role - `id: optional string` @@ -126224,19 +131106,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `ClaudeProjectReported object` + - `RbacRoleUpdated object` - A Claude project was reported. + Admin updated an RBAC custom role. - - `type: optional "claude_project_reported"` + - `type: optional "rbac_role_updated"` - default: claude_project_reported + default: rbac_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126444,9 +131320,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `role_id: string` - Tagged ID of the project that was reported, e.g. "claude_proj_01HX...". + Tagged ID of the updated role - `id: optional string` @@ -126466,13 +131342,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectSharingUpdated object` + - `RoleAssignmentGranted object` - A Claude project's sharing settings were updated. + Role assignment was granted. - - `type: optional "claude_project_sharing_updated"` + - `type: optional "role_assignment_granted"` - default: claude_project_sharing_updated + default: role_assignment_granted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126680,55 +131556,55 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `audience: array of Public or Organization` + - `id: optional string` - Sharing audience for the project. If empty, it's only visible to the creating user. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `Public object` + - `created_at: optional string` - Sharing audience: public. + When this activity occurred. - - `type: optional "public"` + format: date-time - default: public + - `organization_id: optional string or null` - - `Organization object` + Organization ID this activity is associated with - Sharing audience: the project is visible to members of the owning organization. + - `organization_uuid: optional string or null` - - `type: optional "organization"` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - default: organization + - `resource_id: optional string or null` - - `claude_project_id: string` + ID of the resource the role is on. - The project's identifier, e.g. "claude_proj_01Ab...". + - `resource_type: optional string or null` - - `id: optional string` + What kind of resource the role is on, for example "chat_project", "skill", or "plugin". - Unique identifier for the activity e.g. 'activity_abcd1234' + - `role: optional string or null` - - `created_at: optional string` + The role that was granted, for example "skill:viewer" or "plugin:viewer". - When this activity occurred. + - `target_email: optional string or null` - format: date-time + Email address of the person who received the role when they are an invitee identified by email address or an account outside the organization; absent or null for members and groups. - - `organization_id: optional string or null` + - `target_id: optional string or null` - Organization ID this activity is associated with + ID of the grantee: a user ID for a member or for an account outside the organization, a group ID for a group, the organization ID for an organization-wide grant, or an opaque "email:" key for an invitee identified only by email address. - - `organization_uuid: optional string or null` + - `target_type: optional string or null` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + What kind of grantee received the role, for example "organization_member", "group", "organization", "account" (an account outside the organization), or "email" (an invitee identified by email address). - - `ClaudeProjectViewed object` + - `RoleAssignmentRevoked object` - A Claude project was viewed. + Role assignment was revoked. - - `type: optional "claude_project_viewed"` + - `type: optional "role_assignment_revoked"` - default: claude_project_viewed + default: role_assignment_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126936,10 +131812,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` - - Tagged ID of the project that was viewed, e.g. "claude_proj_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -126958,17 +131830,37 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `preview_only: optional boolean or null` + - `resource_id: optional string or null` - Whether only the project's summary metadata was viewed rather than the full project. + ID of the resource the role was on. - - `ClaudePubsecIdentityConfigured object` + - `resource_type: optional string or null` - SAML IdP configuration updated for a public sector organization. + What kind of resource the role was on, for example "chat_project", "skill", or "plugin". - - `type: optional "claude_pubsec_identity_configured"` + - `role: optional string or null` - default: claude_pubsec_identity_configured + The role that was revoked, for example "skill:viewer" or "plugin:viewer". + + - `target_email: optional string or null` + + Email address of the person who held the role when they are an invitee identified by email address or an account outside the organization; absent or null for members and groups. + + - `target_id: optional string or null` + + ID of the grantee that held the role: a user ID for a member or for an account outside the organization, a group ID for a group, the organization ID for an organization-wide grant, or an opaque "email:" key for an invitee identified only by email address. + + - `target_type: optional string or null` + + What kind of grantee held the role, for example "organization_member", "group", "organization", "account" (an account outside the organization), or "email" (an invitee identified by email address). + + - `SSOLoginFailed object` + + An SSO sign-in attempt failed. + + - `type: optional "sso_login_failed"` + + default: sso_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127176,10 +132068,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `idp_saml_config_updated: boolean` - - - `magic_link_toggled: boolean` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -127190,8 +132078,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `magic_link_enabled: optional boolean or null` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -127200,13 +132086,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRoleAssigned object` + - `SSOLoginInitiated object` - Admin assigned an RBAC custom role to a principal. + A user started an SSO sign-in flow. - - `type: optional "rbac_role_assigned"` + - `type: optional "sso_login_initiated"` - default: rbac_role_assigned + default: sso_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127414,18 +132300,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `principal_id: string` - - Tagged ID of the principal - - - `principal_type: string` - - Type of principal: account, group, or service_account - - - `role_id: string` - - Tagged ID of the role - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -127444,13 +132318,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRoleCreated object` + - `SSOLoginSucceeded object` - Admin created an RBAC custom role. + A user successfully signed in with SSO. - - `type: optional "rbac_role_created"` + - `type: optional "sso_login_succeeded"` - default: rbac_role_created + default: sso_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127658,17 +132532,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `role_id: string` + - `id: optional string` - Tagged ID of the created role + Unique identifier for the activity e.g. 'activity_abcd1234' - - `role_name: string` + - `auth_method: optional "sso" or "unspecified" or null` - Name of the created role + The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - `id: optional string` + - `"sso"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"unspecified"` - `created_at: optional string` @@ -127676,6 +132550,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `mfa_method: optional "not_used" or "unspecified" or null` + + The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. + + - `"not_used"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -127684,13 +132566,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRoleDeleted object` + - `SSOSecondFactorMagicLink object` - Admin deleted an RBAC custom role. + SSO second factor magic link was used. - - `type: optional "rbac_role_deleted"` + - `type: optional "sso_second_factor_magic_link"` - default: rbac_role_deleted + default: sso_second_factor_magic_link - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127898,10 +132780,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `role_id: string` - - Tagged ID of the deleted role - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -127920,26 +132798,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRoleGrantUpdated object` - - Admin requested a capability grant for an RBAC custom role, or removed it. - - Records the admin's change to the role. Whether the grant is currently in - effect on the role is reported separately. - - - `type: optional "rbac_role_grant_updated"` - - default: rbac_role_grant_updated - - - `action: "removed" or "requested" or "unspecified"` - - Whether the grant was requested for the role or removed from it + - `ScimUserCreated object` - - `"removed"` + A SCIM user was provisioned. - - `"requested"` + - `type: optional "scim_user_created"` - - `"unspecified"` + default: scim_user_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128147,13 +133012,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `grant_type: string` - - The type of capability grant - - - `role_id: string` - - Tagged ID of the role + - `user_id: string` - `id: optional string` @@ -128173,20 +133032,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRolePermissionAdded object` - - Admin added a permission to an RBAC custom role. - - Emitted once per requested permission, including permissions the role - already had, so a retried request still produces a complete audit record. - - - `type: optional "rbac_role_permission_added"` + - `ScimUserDeleted object` - default: rbac_role_permission_added + A SCIM user was deleted. - - `action: string` + - `type: optional "scim_user_deleted"` - Action permitted on the resource + default: scim_user_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128394,17 +133246,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_id: string` - - ID of the resource - - - `resource_type: string` - - Type of resource the permission applies to - - - `role_id: string` - - Tagged ID of the role + - `user_id: string` - `id: optional string` @@ -128424,21 +133266,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRolePermissionRemoved object` - - Admin removed a permission from an RBAC custom role. - - Emitted once per requested permission, including permissions the role - already lacked, so a retried request still produces a complete audit - record. - - - `type: optional "rbac_role_permission_removed"` + - `ScimUserUpdated object` - default: rbac_role_permission_removed + A SCIM user was updated. - - `action: string` + - `type: optional "scim_user_updated"` - Action that was permitted on the resource + default: scim_user_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128646,17 +133480,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_id: string` - - ID of the resource - - - `resource_type: string` - - Type of resource the permission applied to - - - `role_id: string` - - Tagged ID of the role + - `user_id: string` - `id: optional string` @@ -128676,13 +133500,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRoleUnassigned object` + - `ScopedAPIKeyDeleted object` - Admin unassigned an RBAC custom role from a principal. + A scoped API key was deleted. - - `type: optional "rbac_role_unassigned"` + - `type: optional "scoped_api_key_deleted"` - default: rbac_role_unassigned + default: scoped_api_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128890,17 +133714,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `principal_id: string` - - Tagged ID of the principal - - - `principal_type: string` + - `api_key_id: string` - Type of principal: account, group, or service_account + Tagged ID of the deleted scoped API key - - `role_id: string` + - `api_key_name: string` - Tagged ID of the role + Name of the deleted scoped API key - `id: optional string` @@ -128920,13 +133740,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RbacRoleUpdated object` + - `scopes: optional array of string` - Admin updated an RBAC custom role. + Scopes the deleted key had - - `type: optional "rbac_role_updated"` + - `ScopedAPIKeyUpdated object` - default: rbac_role_updated + A scoped API key was renamed or its activation state changed. + + - `type: optional "scoped_api_key_updated"` + + default: scoped_api_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129134,9 +133958,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `role_id: string` + - `api_key_id: string` - Tagged ID of the updated role + Tagged ID of the updated scoped API key - `id: optional string` @@ -129156,13 +133980,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `RoleAssignmentGranted object` + - `updates: optional array of object` - Role assignment was granted. + The field-level changes applied in this update - - `type: optional "role_assignment_granted"` + - `type: "activation_state" or "name" or "unspecified"` - default: role_assignment_granted + The scoped API key field that changed + + - `"activation_state"` + + - `"name"` + + - `"unspecified"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `SeatTierChangesCancelled object` + + Scheduled seat tier downgrades were cancelled. + + - `type: optional "seat_tier_changes_cancelled"` + + default: seat_tier_changes_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129388,37 +134234,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `resource_id: optional string or null` - - ID of the resource the role is on. - - - `resource_type: optional string or null` - - What kind of resource the role is on, for example "chat_project", "skill", or "plugin". - - - `role: optional string or null` - - The role that was granted, for example "skill:viewer" or "plugin:viewer". - - - `target_email: optional string or null` - - Email address of the person who received the role when they are an invitee identified by email address or an account outside the organization; absent or null for members and groups. - - - `target_id: optional string or null` - - ID of the grantee: a user ID for a member or for an account outside the organization, a group ID for a group, the organization ID for an organization-wide grant, or an opaque "email:" key for an invitee identified only by email address. - - - `target_type: optional string or null` - - What kind of grantee received the role, for example "organization_member", "group", "organization", "account" (an account outside the organization), or "email" (an invitee identified by email address). - - - `RoleAssignmentRevoked object` + - `SeatTiersPurchased object` - Role assignment was revoked. + Seat tiers were purchased or upgraded on a subscription. - - `type: optional "role_assignment_revoked"` + - `type: optional "seat_tiers_purchased"` - default: role_assignment_revoked + default: seat_tiers_purchased - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129636,6 +134458,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `item_allocations: optional map[number] or null` + + Desired seat tier allocations (item type to quantity). + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -129644,37 +134470,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `resource_id: optional string or null` - - ID of the resource the role was on. - - - `resource_type: optional string or null` - - What kind of resource the role was on, for example "chat_project", "skill", or "plugin". - - - `role: optional string or null` - - The role that was revoked, for example "skill:viewer" or "plugin:viewer". - - - `target_email: optional string or null` - - Email address of the person who held the role when they are an invitee identified by email address or an account outside the organization; absent or null for members and groups. - - - `target_id: optional string or null` - - ID of the grantee that held the role: a user ID for a member or for an account outside the organization, a group ID for a group, the organization ID for an organization-wide grant, or an opaque "email:" key for an invitee identified only by email address. - - - `target_type: optional string or null` - - What kind of grantee held the role, for example "organization_member", "group", "organization", "account" (an account outside the organization), or "email" (an invitee identified by email address). - - - `SSOLoginFailed object` + - `ServiceCreated object` - An SSO sign-in attempt failed. + Activity logged when an org service is explicitly created. - - `type: optional "sso_login_failed"` + - `type: optional "service_created"` - default: sso_login_failed + default: service_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129882,6 +134684,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `service_name: string` + + The org service name (e.g., 'external:my-service') + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -129900,13 +134706,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SSOLoginInitiated object` + - `ServiceDeleted object` - A user started an SSO sign-in flow. + Activity logged when an org service is deleted. - - `type: optional "sso_login_initiated"` + - `type: optional "service_deleted"` - default: sso_login_initiated + default: service_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130114,6 +134920,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `service_name: string` + + The org service name (e.g., 'external:my-service') + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -130132,13 +134942,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SSOLoginSucceeded object` + - `ServiceKeyCreated object` - A user successfully signed in with SSO. + Activity logged when a new org service key is created. - - `type: optional "sso_login_succeeded"` + - `type: optional "service_key_created"` - default: sso_login_succeeded + default: service_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130346,17 +135156,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `is_service_created: boolean` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether the org service was implicitly created in this request - - `auth_method: optional "sso" or "unspecified" or null` + - `key_name: string` - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. + The human-readable name of the key - - `"sso"` + - `service_name: string` - - `"unspecified"` + The service name this key belongs to + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -130364,14 +135178,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `mfa_method: optional "not_used" or "unspecified" or null` - - The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. - - - `"not_used"` - - - `"unspecified"` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -130380,13 +135186,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SSOSecondFactorMagicLink object` + - `scopes: optional array of string` - SSO second factor magic link was used. + The scopes granted to this service key - - `type: optional "sso_second_factor_magic_link"` + - `service_key_id: optional string or null` - default: sso_second_factor_magic_link + The ID of the created service key + + - `ServiceKeyRevoked object` + + Activity logged when an org service key is revoked. + + - `type: optional "service_key_revoked"` + + default: service_key_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130594,6 +135408,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `service_key_id: string` + + The tagged ID of the revoked service key + + - `service_name: string` + + The service name this key belongs to + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -130612,13 +135434,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ScimUserCreated object` + - `SessionRevoked object` - A SCIM user was provisioned. + User revoked a specific session. - - `type: optional "scim_user_created"` + - `type: optional "session_revoked"` - default: scim_user_created + default: session_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130826,8 +135648,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -130846,13 +135666,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ScimUserDeleted object` + - `SessionShareAccessed object` - A SCIM user was deleted. + Session share was accessed. - - `type: optional "scim_user_deleted"` + - `type: optional "session_share_accessed"` - default: scim_user_deleted + default: session_share_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131060,8 +135880,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -131080,13 +135898,15 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ScimUserUpdated object` + - `share_id: optional string or null` - A SCIM user was updated. + - `SessionShareCreated object` - - `type: optional "scim_user_updated"` + Session share was created. - default: scim_user_updated + - `type: optional "session_share_created"` + + default: session_share_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131294,12 +136114,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_level: optional string or null` + + Access level granted for the share. + - `created_at: optional string` When this activity occurred. @@ -131314,13 +136136,15 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ScopedAPIKeyDeleted object` + - `share_id: optional string or null` - A scoped API key was deleted. + - `SessionShareRevoked object` - - `type: optional "scoped_api_key_deleted"` + Session share was revoked. - default: scoped_api_key_deleted + - `type: optional "session_share_revoked"` + + default: session_share_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131528,14 +136352,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `api_key_id: string` - - Tagged ID of the deleted scoped API key - - - `api_key_name: string` - - Name of the deleted scoped API key - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -131554,17 +136370,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scopes: optional array of string` + - `reason: optional string or null` - Scopes the deleted key had + Why the share was revoked. - - `ScopedAPIKeyUpdated object` + - `share_id: optional string or null` - A scoped API key was renamed or its activation state changed. + - `ClaudeSkillCreated object` - - `type: optional "scoped_api_key_updated"` + Skill was created. - default: scoped_api_key_updated + - `type: optional "claude_skill_created"` + + default: claude_skill_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131772,10 +136590,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `api_key_id: string` - - Tagged ID of the updated scoped API key - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -131794,35 +136608,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` + - `owner_user_id: optional string or null` - The field-level changes applied in this update + The member who owns the skill; unset for an organization-owned skill. - - `type: "activation_state" or "name" or "unspecified"` + - `scope: optional "organization" or "personal" or "unspecified" or null` - The scoped API key field that changed + Whether the skill is the member's own or the organization's. - - `"activation_state"` + - `"organization"` - - `"name"` + - `"personal"` - - `"unspecified"` + - `"unspecified"` - - `current_value: string` + - `skill_id: optional string or null` - Field value immediately after this change + - `skill_name: optional string or null` - - `previous_value: string` + - `skill_version: optional string or null` - Field value immediately before this change + Version of the skill that was created. - - `SeatTierChangesCancelled object` + - `ClaudeSkillDeleted object` - Scheduled seat tier downgrades were cancelled. + Skill was deleted. - - `type: optional "seat_tier_changes_cancelled"` + - `type: optional "claude_skill_deleted"` - default: seat_tier_changes_cancelled + default: claude_skill_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -132040,6 +136854,8 @@ compliance activities that can be filtered by various criteria. format: date-time + - `deleted_version_ids: optional array of string` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -132048,13 +136864,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SeatTiersPurchased object` + - `owner_user_id: optional string or null` - Seat tiers were purchased or upgraded on a subscription. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "seat_tiers_purchased"` + - `scope: optional "organization" or "personal" or "unspecified" or null` - default: seat_tiers_purchased + Whether the skill is the member's own or the organization's. + + - `"organization"` + + - `"personal"` + + - `"unspecified"` + + - `skill_id: optional string or null` + + - `skill_name: optional string or null` + + - `skill_version: optional string or null` + + Latest version of the skill when it was deleted. + + - `versions_deleted: optional number or null` + + Set when the deletion removed the skill's versions in the same request (the public API's cascading skill delete): one consolidated record of what went with the skill, reconcilable against earlier version-created records, rather than one version-deleted activity per row. versions_deleted is the exact count; deleted_version_ids lists at most the newest 1000 (truncated when versions_deleted exceeds its length). + + - `ClaudeSkillDisabled object` + + User disabled a skill for their account. + + - `type: optional "claude_skill_disabled"` + + default: claude_skill_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -132272,10 +137114,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `item_allocations: optional map[number] or null` - - Desired seat tier allocations (item type to quantity). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -132284,13 +137122,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ServiceCreated object` + - `skill_id: optional string or null` - Activity logged when an org service is explicitly created. + - `skill_name: optional string or null` - - `type: optional "service_created"` + - `ClaudeSkillEnabled object` - default: service_created + User enabled a skill for their account. + + - `type: optional "claude_skill_enabled"` + + default: claude_skill_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -132498,10 +137340,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_name: string` - - The org service name (e.g., 'external:my-service') - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -132520,13 +137358,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ServiceDeleted object` + - `skill_id: optional string or null` - Activity logged when an org service is deleted. + - `skill_name: optional string or null` - - `type: optional "service_deleted"` + - `ClaudeSkillReplaced object` - default: service_deleted + Skill was replaced. + + - `type: optional "claude_skill_replaced"` + + default: claude_skill_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -132734,10 +137576,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_name: string` - - The org service name (e.g., 'external:my-service') - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -132756,13 +137594,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ServiceKeyCreated object` + - `owner_user_id: optional string or null` - Activity logged when a new org service key is created. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "service_key_created"` + - `scope: optional "organization" or "personal" or "unspecified" or null` - default: service_key_created + Whether the skill is the member's own or the organization's. + + - `"organization"` + + - `"personal"` + + - `"unspecified"` + + - `skill_id: optional string or null` + + - `skill_name: optional string or null` + + - `skill_version: optional string or null` + + Version of the skill after it was replaced. + + - `ClaudeSkillSecurityScanCompleted object` + + A security scan of a skill completed and produced a verdict. + + - `type: optional "claude_skill_security_scan_completed"` + + default: claude_skill_security_scan_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -132970,17 +137830,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `is_service_created: boolean` + - `scan_id: string` - Whether the org service was implicitly created in this request + Identifier of the security scan. - - `key_name: string` + - `verdict: "fail" or "pass" or "unknown" or 2 more` - The human-readable name of the key + Verdict the scan produced. - - `service_name: string` + - `"fail"` - The service name this key belongs to + - `"pass"` + + - `"unknown"` + + - `"unspecified"` + + - `"warn"` - `id: optional string` @@ -133000,21 +137866,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scopes: optional array of string` + - `skill_id: optional string or null` - The scopes granted to this service key + Identifier of the skill that was scanned. - - `service_key_id: optional string or null` + - `skill_name: optional string or null` - The ID of the created service key + Name of the skill that was scanned. - - `ServiceKeyRevoked object` + - `skill_version: optional string or null` - Activity logged when an org service key is revoked. + Version of the skill that was scanned. - - `type: optional "service_key_revoked"` + - `SlackWorkspaceClaimRevoked object` - default: service_key_revoked + A Slack workspace or Enterprise Grid organization was disconnected from the organization for Claude in Slack. + + - `type: optional "slack_workspace_claim_revoked"` + + default: slack_workspace_claim_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -133222,13 +138092,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_key_id: string` - - The tagged ID of the revoked service key - - - `service_name: string` + - `slack_team_id: string` - The service name this key belongs to + Claim subject: a Slack team id for scope 'workspace', or an Enterprise Grid org id for scope 'enterprise_grid'. Use the scope field to tell which — never the value's prefix (legacy workspaces exist with E-prefixed team ids) - `id: optional string` @@ -133248,13 +138114,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SessionRevoked object` + - `scope: optional string or null` - User revoked a specific session. + Blast radius of the revocation: 'workspace' for one Slack workspace, 'enterprise_grid' for every workspace in a Slack Enterprise Grid organization - - `type: optional "session_revoked"` + - `SlackWorkspaceClaimed object` - default: session_revoked + A Slack workspace or Enterprise Grid organization was connected to the organization for Claude in Slack. + + - `type: optional "slack_workspace_claimed"` + + default: slack_workspace_claimed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -133462,6 +138332,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `slack_team_id: string` + + Claim subject: a Slack team id for scope 'workspace', or an Enterprise Grid org id for scope 'enterprise_grid'. Use the scope field to tell which — never the value's prefix (legacy workspaces exist with E-prefixed team ids) + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -133480,13 +138354,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SessionShareAccessed object` + - `scope: optional string or null` - Session share was accessed. + Blast radius of the claim: 'workspace' for one Slack workspace, 'enterprise_grid' for every workspace in a Slack Enterprise Grid organization - - `type: optional "session_share_accessed"` + - `SocialLoginSucceeded object` - default: session_share_accessed + A user successfully signed in with a social identity provider (Google, Apple, or Microsoft). + + - `type: optional "social_login_succeeded"` + + default: social_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -133694,16 +138572,44 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `provider: "apple" or "google" or "microsoft" or "unspecified"` + + The social identity provider the user signed in with: "google", "apple", or "microsoft". + + - `"apple"` + + - `"google"` + + - `"microsoft"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `auth_method: optional "social" or "unspecified" or null` + + The method the user used to authenticate. May be absent on activities recorded before this field was introduced. + + - `"social"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. format: date-time + - `mfa_method: optional "not_used" or "unspecified" or null` + + The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. + + - `"not_used"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -133712,15 +138618,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `share_id: optional string or null` - - - `SessionShareCreated object` + - `StepUpAuthenticationFailed object` - Session share was created. + An additional identity check failed. - - `type: optional "session_share_created"` + - `type: optional "step_up_authentication_failed"` - default: session_share_created + default: step_up_authentication_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -133928,13 +138832,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `method: "device_key" or "unspecified" or "webauthn"` - Unique identifier for the activity e.g. 'activity_abcd1234' + The verification method the user attempted. - - `access_level: optional string or null` + - `"device_key"` - Access level granted for the share. + - `"unspecified"` + + - `"webauthn"` + + - `reason: "challenge_rejected" or "unspecified" or "verification_failed"` + + Why the attempt failed. + + - `"challenge_rejected"` + + - `"unspecified"` + + - `"verification_failed"` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -133950,15 +138870,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `share_id: optional string or null` + - `trusted_device_id: optional string or null` - - `SessionShareRevoked object` + Identifier of the trusted device the attempt referenced, e.g. "tdev_...". Present only for the device key method. - Session share was revoked. + - `StepUpAuthenticationSucceeded object` - - `type: optional "session_share_revoked"` + The user completed an additional identity check to confirm a sensitive action. - default: session_share_revoked + - `type: optional "step_up_authentication_succeeded"` + + default: step_up_authentication_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -134166,6 +139088,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `method: "device_key" or "unspecified" or "webauthn"` + + The verification method the user completed. + + - `"device_key"` + + - `"unspecified"` + + - `"webauthn"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -134184,19 +139116,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reason: optional string or null` - - Why the share was revoked. + - `trusted_device_id: optional string or null` - - `share_id: optional string or null` + Identifier of the trusted device used, e.g. "tdev_...". Present only for the device key method. - - `ClaudeSkillCreated object` + - `StepUpCredentialEnrolled object` - Skill was created. + A user enrolled a passkey for confirming sensitive actions on their account. - - `type: optional "claude_skill_created"` + - `type: optional "step_up_credential_enrolled"` - default: claude_skill_created + default: step_up_credential_enrolled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -134404,6 +139334,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `credential_id: string` + + Identifier of the enrolled credential, e.g. "sucr_...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -134422,35 +139356,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `owner_user_id: optional string or null` - - The member who owns the skill; unset for an organization-owned skill. - - - `scope: optional "organization" or "personal" or "unspecified" or null` - - Whether the skill is the member's own or the organization's. - - - `"organization"` - - - `"personal"` - - - `"unspecified"` - - - `skill_id: optional string or null` - - - `skill_name: optional string or null` - - - `skill_version: optional string or null` - - Version of the skill that was created. - - - `ClaudeSkillDeleted object` + - `SubscriptionCancellationScheduled object` - Skill was deleted. + Subscription cancellation was scheduled at end of billing period. - - `type: optional "claude_skill_deleted"` + - `type: optional "subscription_cancellation_scheduled"` - default: claude_skill_deleted + default: subscription_cancellation_scheduled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -134668,8 +139580,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deleted_version_ids: optional array of string` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -134678,39 +139588,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `owner_user_id: optional string or null` - - The member who owns the skill; unset for an organization-owned skill. - - - `scope: optional "organization" or "personal" or "unspecified" or null` - - Whether the skill is the member's own or the organization's. - - - `"organization"` - - - `"personal"` - - - `"unspecified"` - - - `skill_id: optional string or null` - - - `skill_name: optional string or null` - - - `skill_version: optional string or null` - - Latest version of the skill when it was deleted. - - - `versions_deleted: optional number or null` - - Set when the deletion removed the skill's versions in the same request (the public API's cascading skill delete): one consolidated record of what went with the skill, reconcilable against earlier version-created records, rather than one version-deleted activity per row. versions_deleted is the exact count; deleted_version_ids lists at most the newest 1000 (truncated when versions_deleted exceeds its length). - - - `ClaudeSkillDisabled object` + - `SubscriptionQuantityUpdated object` - User disabled a skill for their account. + Contracted subscription seat quantity was updated. - - `type: optional "claude_skill_disabled"` + - `type: optional "subscription_quantity_updated"` - default: claude_skill_disabled + default: subscription_quantity_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -134918,6 +139802,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `added_seats: number` + + The number of seats added by this change. + + - `new_quantity: number` + + The contracted seat quantity after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -134936,17 +139828,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `skill_id: optional string or null` + - `previous_quantity: optional number or null` - - `skill_name: optional string or null` + The contracted seat quantity before this change. - - `ClaudeSkillEnabled object` + - `SubscriptionRenewed object` - User enabled a skill for their account. + A cancelled subscription was renewed. - - `type: optional "claude_skill_enabled"` + - `type: optional "subscription_renewed"` - default: claude_skill_enabled + default: subscription_renewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -135158,6 +140050,10 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `billing_interval: optional string or null` + + Billing interval (e.g. monthly, annual). + - `created_at: optional string` When this activity occurred. @@ -135172,17 +140068,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `skill_id: optional string or null` + - `plan_type: optional string or null` - - `skill_name: optional string or null` + Plan type being renewed into (e.g. team). - - `ClaudeSkillReplaced object` + - `SubscriptionResumed object` - Skill was replaced. + A scheduled subscription cancellation was reversed. - - `type: optional "claude_skill_replaced"` + - `type: optional "subscription_resumed"` - default: claude_skill_replaced + default: subscription_resumed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -135408,35 +140304,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `owner_user_id: optional string or null` - - The member who owns the skill; unset for an organization-owned skill. - - - `scope: optional "organization" or "personal" or "unspecified" or null` - - Whether the skill is the member's own or the organization's. - - - `"organization"` - - - `"personal"` - - - `"unspecified"` - - - `skill_id: optional string or null` - - - `skill_name: optional string or null` - - - `skill_version: optional string or null` - - Version of the skill after it was replaced. - - - `ClaudeSkillSecurityScanCompleted object` + - `SubscriptionStarted object` - A security scan of a skill completed and produced a verdict. + A new subscription was created (Team or Enterprise). - - `type: optional "claude_skill_security_scan_completed"` + - `type: optional "subscription_started"` - default: claude_skill_security_scan_completed + default: subscription_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -135644,28 +140518,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `scan_id: string` - - Identifier of the security scan. - - - `verdict: "fail" or "pass" or "unknown" or 2 more` - - Verdict the scan produced. - - - `"fail"` - - - `"pass"` - - - `"unknown"` - - - `"unspecified"` - - - `"warn"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `billing_interval: optional string or null` + + Billing interval (e.g. monthly, annual). + - `created_at: optional string` When this activity occurred. @@ -135680,25 +140540,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `skill_id: optional string or null` - - Identifier of the skill that was scanned. - - - `skill_name: optional string or null` + - `plan_type: optional string or null` - Name of the skill that was scanned. + Type of subscription started (e.g. team, enterprise). - - `skill_version: optional string or null` + - `seat_count: optional number or null` - Version of the skill that was scanned. + Number of seats purchased. - - `SlackWorkspaceClaimRevoked object` + - `SubscriptionUpgraded object` - A Slack workspace or Enterprise Grid organization was disconnected from the organization for Claude in Slack. + Subscription plan was upgraded (e.g. Team to Enterprise). - - `type: optional "slack_workspace_claim_revoked"` + - `type: optional "subscription_upgraded"` - default: slack_workspace_claim_revoked + default: subscription_upgraded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -135906,10 +140762,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `slack_team_id: string` - - Claim subject: a Slack team id for scope 'workspace', or an Enterprise Grid org id for scope 'enterprise_grid'. Use the scope field to tell which — never the value's prefix (legacy workspaces exist with E-prefixed team ids) - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -135920,6 +140772,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `new_plan: optional string or null` + + New plan type after upgrade. + + - `old_plan: optional string or null` + + Previous plan type. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -135928,17 +140788,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scope: optional string or null` - - Blast radius of the revocation: 'workspace' for one Slack workspace, 'enterprise_grid' for every workspace in a Slack Enterprise Grid organization - - - `SlackWorkspaceClaimed object` + - `TrustedDeviceCredentialRotated object` - A Slack workspace or Enterprise Grid organization was connected to the organization for Claude in Slack. + The identity-verification credential of a trusted device was rotated to a new key. - - `type: optional "slack_workspace_claimed"` + - `type: optional "trusted_device_credential_rotated"` - default: slack_workspace_claimed + default: trusted_device_credential_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136146,9 +141002,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `slack_team_id: string` + - `trusted_device_id: string` - Claim subject: a Slack team id for scope 'workspace', or an Enterprise Grid org id for scope 'enterprise_grid'. Use the scope field to tell which — never the value's prefix (legacy workspaces exist with E-prefixed team ids) + Identifier of the device whose credential was rotated, e.g. "tdev_...". - `id: optional string` @@ -136168,17 +141024,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scope: optional string or null` - - Blast radius of the claim: 'workspace' for one Slack workspace, 'enterprise_grid' for every workspace in a Slack Enterprise Grid organization - - - `SocialLoginSucceeded object` + - `TrustedDeviceEnrolled object` - A user successfully signed in with a social identity provider (Google, Apple, or Microsoft). + A device was enrolled as a trusted device for the user's account. Trusted devices can be used to confirm the user's identity for sensitive actions. - - `type: optional "social_login_succeeded"` + - `type: optional "trusted_device_enrolled"` - default: social_login_succeeded + default: trusted_device_enrolled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136386,43 +141238,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `provider: "apple" or "google" or "microsoft" or "unspecified"` - - The social identity provider the user signed in with: "google", "apple", or "microsoft". + - `enrollment_method: "oauth" or "session" or "unspecified"` - - `"apple"` + How the user confirmed their identity when enrolling the device. - - `"google"` + - `"oauth"` - - `"microsoft"` + - `"session"` - `"unspecified"` - - `id: optional string` + - `platform: "android" or "claude_in_slack" or "desktop_app" or 4 more` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of client the enrollment request came from. - - `auth_method: optional "social" or "unspecified" or null` + - `"android"` - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. + - `"claude_in_slack"` - - `"social"` + - `"desktop_app"` + + - `"ios"` - `"unspecified"` - - `created_at: optional string` + - `"web_claude_ai"` - When this activity occurred. + - `"web_console"` - format: date-time + - `trusted_device_id: string` - - `mfa_method: optional "not_used" or "unspecified" or null` + Identifier of the device that was enrolled, e.g. "tdev_...". - The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. + - `id: optional string` - - `"not_used"` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"unspecified"` + - `created_at: optional string` + + When this activity occurred. + + format: date-time - `organization_id: optional string or null` @@ -136432,13 +141288,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `StepUpAuthenticationFailed object` + - `TrustedDeviceRevoked object` - An additional identity check failed. + A trusted device was removed from the user's account. - - `type: optional "step_up_authentication_failed"` + - `type: optional "trusted_device_revoked"` - default: step_up_authentication_failed + default: trusted_device_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136646,25 +141502,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `method: "device_key" or "unspecified" or "webauthn"` - - The verification method the user attempted. - - - `"device_key"` - - - `"unspecified"` - - - `"webauthn"` + - `reason: "org_member_removed" or "superseded" or "unspecified" or "user_revoked"` - - `reason: "challenge_rejected" or "unspecified" or "verification_failed"` + Why the device trust was removed. - Why the attempt failed. + - `"org_member_removed"` - - `"challenge_rejected"` + - `"superseded"` - `"unspecified"` - - `"verification_failed"` + - `"user_revoked"` - `id: optional string` @@ -136684,17 +141532,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `revoked_count: optional number or null` + + Number of devices removed. Set when a security action removed all of the user's trusted devices at once; absent when a single device was removed (see trusted_device_id). + - `trusted_device_id: optional string or null` - Identifier of the trusted device the attempt referenced, e.g. "tdev_...". Present only for the device key method. + Identifier of the device that was removed, e.g. "tdev_...". Set when a single device was removed; absent when several devices were removed at once (see revoked_count). - - `StepUpAuthenticationSucceeded object` + - `TunnelArchived object` - The user completed an additional identity check to confirm a sensitive action. + An MCP tunnel was archived. - - `type: optional "step_up_authentication_succeeded"` + - `type: optional "tunnel_archived"` - default: step_up_authentication_succeeded + default: tunnel_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136902,15 +141754,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `method: "device_key" or "unspecified" or "webauthn"` - - The verification method the user completed. - - - `"device_key"` - - - `"unspecified"` - - - `"webauthn"` + - `tunnel_id: string` - `id: optional string` @@ -136930,17 +141774,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `trusted_device_id: optional string or null` - - Identifier of the trusted device used, e.g. "tdev_...". Present only for the device key method. - - - `StepUpCredentialEnrolled object` + - `TunnelCertificateAdded object` - A user enrolled a passkey for confirming sensitive actions on their account. + An inner-TLS CA certificate was added to a tunnel. - - `type: optional "step_up_credential_enrolled"` + - `type: optional "tunnel_certificate_added"` - default: step_up_credential_enrolled + default: tunnel_certificate_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -137148,14 +141988,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `credential_id: string` + - `certificate_id: string` - Identifier of the enrolled credential, e.g. "sucr_...". + - `tunnel_id: string` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `certificate_fingerprint: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -137170,13 +142012,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SubscriptionCancellationScheduled object` + - `TunnelCertificateRevoked object` - Subscription cancellation was scheduled at end of billing period. + An inner-TLS CA certificate was revoked from a tunnel. - - `type: optional "subscription_cancellation_scheduled"` + - `type: optional "tunnel_certificate_revoked"` - default: subscription_cancellation_scheduled + default: tunnel_certificate_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -137384,10 +142226,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `certificate_id: string` + + - `tunnel_id: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `certificate_fingerprint: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -137402,13 +142250,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SubscriptionQuantityUpdated object` + - `TunnelCreated object` - Contracted subscription seat quantity was updated. + An MCP tunnel was created. - - `type: optional "subscription_quantity_updated"` + - `type: optional "tunnel_created"` - default: subscription_quantity_updated + default: tunnel_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -137616,13 +142464,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `added_seats: number` - - The number of seats added by this change. - - - `new_quantity: number` - - The contracted seat quantity after this change. + - `tunnel_id: string` - `id: optional string` @@ -137642,17 +142484,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_quantity: optional number or null` + - `tunnel_token_id: optional string or null` - The contracted seat quantity before this change. + Id of the tunnel token issued with the tunnel and returned once in the create response; set only when creating the tunnel also issued its token, and absent for a tunnel whose token is revealed separately - - `SubscriptionRenewed object` + - `TunnelTokenMinted object` - A cancelled subscription was renewed. + An OAuth bearer token for the tunnel management API was minted. - - `type: optional "subscription_renewed"` + - `type: optional "tunnel_token_minted"` - default: subscription_renewed + default: tunnel_token_minted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -137860,14 +142702,12 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `token_id: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `billing_interval: optional string or null` - - Billing interval (e.g. monthly, annual). - - `created_at: optional string` When this activity occurred. @@ -137882,17 +142722,15 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plan_type: optional string or null` - - Plan type being renewed into (e.g. team). + - `token_name: optional string or null` - - `SubscriptionResumed object` + - `TunnelTokenRevealed object` - A scheduled subscription cancellation was reversed. + The Cloudflare connector secret for a tunnel was revealed to the caller. - - `type: optional "subscription_resumed"` + - `type: optional "tunnel_token_revealed"` - default: subscription_resumed + default: tunnel_token_revealed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -138100,6 +142938,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `tunnel_id: string` + + - `tunnel_token_id: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -138118,13 +142960,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `SubscriptionStarted object` + - `TunnelTokenRevoked object` - A new subscription was created (Team or Enterprise). + An OAuth bearer token for the tunnel management API was revoked. - - `type: optional "subscription_started"` + - `type: optional "tunnel_token_revoked"` - default: subscription_started + default: tunnel_token_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -138332,14 +143174,12 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `token_id: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `billing_interval: optional string or null` - - Billing interval (e.g. monthly, annual). - - `created_at: optional string` When this activity occurred. @@ -138354,21 +143194,20 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plan_type: optional string or null` - - Type of subscription started (e.g. team, enterprise). + - `token_name: optional string or null` - - `seat_count: optional number or null` + Name the administrator gave the token when it was created, if any - Number of seats purchased. + - `TunnelTokenRotated object` - - `SubscriptionUpgraded object` + The Cloudflare connector secret for a tunnel was rotated. - Subscription plan was upgraded (e.g. Team to Enterprise). + `tunnel_token_id` is the id of the *newly-issued* token. The previous + token is invalidated by the rotation and its id is not recorded here. - - `type: optional "subscription_upgraded"` + - `type: optional "tunnel_token_rotated"` - default: subscription_upgraded + default: tunnel_token_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -138576,6 +143415,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `tunnel_id: string` + + - `tunnel_token_id: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -138586,14 +143429,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_plan: optional string or null` - - New plan type after upgrade. - - - `old_plan: optional string or null` - - Previous plan type. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -138602,13 +143437,15 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `TrustedDeviceCredentialRotated object` + - `reason: optional string or null` - The identity-verification credential of a trusted device was rotated to a new key. + - `UserConsentRecorded object` - - `type: optional "trusted_device_credential_rotated"` + User granted a consent for a specific entity (e.g. consumer health consent for an MCP server). - default: trusted_device_credential_rotated + - `type: optional "user_consent_recorded"` + + default: user_consent_recorded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -138816,9 +143653,11 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `trusted_device_id: string` + - `consent_type: string` - Identifier of the device whose credential was rotated, e.g. "tdev_...". + - `entity_id: string` + + - `entity_type: string` - `id: optional string` @@ -138838,13 +143677,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `TrustedDeviceEnrolled object` + - `UserConsentRevoked object` - A device was enrolled as a trusted device for the user's account. Trusted devices can be used to confirm the user's identity for sensitive actions. + User revoked a previously granted consent for a specific entity. - - `type: optional "trusted_device_enrolled"` + - `type: optional "user_consent_revoked"` - default: trusted_device_enrolled + default: user_consent_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -139052,48 +143891,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enrollment_method: "oauth" or "session" or "unspecified"` - - How the user confirmed their identity when enrolling the device. - - - `"oauth"` - - - `"session"` - - - `"unspecified"` - - - `platform: "android" or "claude_in_slack" or "desktop_app" or 4 more` - - The kind of client the enrollment request came from. - - - `"android"` - - - `"claude_in_slack"` - - - `"desktop_app"` - - - `"ios"` - - - `"unspecified"` - - - `"web_claude_ai"` - - - `"web_console"` - - - `trusted_device_id: string` - - Identifier of the device that was enrolled, e.g. "tdev_...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `consent_id: optional string or null` + + - `consent_type: optional string or null` + - `created_at: optional string` When this activity occurred. format: date-time + - `entity_id: optional string or null` + + - `entity_type: optional string or null` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -139102,13 +143917,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `TrustedDeviceRevoked object` + - `ClaudeUserRoleUpdated object` - A trusted device was removed from the user's account. + A user's role within the organization was changed, or the user was added to or removed from the organization. - - `type: optional "trusted_device_revoked"` + - `type: optional "claude_user_role_updated"` - default: trusted_device_revoked + default: claude_user_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -139316,17 +144131,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "org_member_removed" or "superseded" or "unspecified" or "user_revoked"` - - Why the device trust was removed. - - - `"org_member_removed"` + - `user_email: string` - - `"superseded"` + Email of the user whose role was changed - - `"unspecified"` + - `user_id: string` - - `"user_revoked"` + ID of the user whose role was changed - `id: optional string` @@ -139338,6 +144149,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_role: optional string or null` + + If null, then user was removed from the Organization + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -139346,21 +144161,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `revoked_count: optional number or null` - - Number of devices removed. Set when a security action removed all of the user's trusted devices at once; absent when a single device was removed (see trusted_device_id). - - - `trusted_device_id: optional string or null` + - `previous_role: optional string or null` - Identifier of the device that was removed, e.g. "tdev_...". Set when a single device was removed; absent when several devices were removed at once (see revoked_count). + If null, then user was added to the Organization - - `TunnelArchived object` + - `ClaudeUserSettingsUpdated object` - An MCP tunnel was archived. + User updated their personal settings. - - `type: optional "tunnel_archived"` + - `type: optional "claude_user_settings_updated"` - default: tunnel_archived + default: claude_user_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -139568,250 +144379,364 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `tunnel_id: string` + - `updates: array of FullName or DisplayName or ArtifactsEnabled or 19 more` - - `id: optional string` + - `FullName object` - Unique identifier for the activity e.g. 'activity_abcd1234' + The full name setting was changed. - - `created_at: optional string` + - `type: optional "full_name"` - When this activity occurred. + default: full_name - format: date-time + - `current_value: optional string or null` - - `organization_id: optional string or null` + Setting value immediately after this change - Organization ID this activity is associated with + - `previous_value: optional string or null` - - `organization_uuid: optional string or null` + Setting value immediately before this change - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `DisplayName object` - - `TunnelCertificateAdded object` + The display name setting was changed. - An inner-TLS CA certificate was added to a tunnel. + - `type: optional "display_name"` - - `type: optional "tunnel_certificate_added"` + default: display_name - default: tunnel_certificate_added + - `current_value: optional string or null` - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + Setting value immediately after this change - - `APIActor object` + - `previous_value: optional string or null` - - `type: optional "api_actor"` + Setting value immediately before this change - default: api_actor + - `ArtifactsEnabled object` - - `api_key_id: string` + The artifacts setting was changed. - - `ip_address: string` + - `type: optional "artifacts_enabled"` - - `user_agent: string` + default: artifacts_enabled - - `UserActor object` + - `current_value: optional boolean or null` - - `type: optional "user_actor"` + Setting value immediately after this change - default: user_actor + - `previous_value: optional boolean or null` - - `email_address: string` + Setting value immediately before this change - format: email + - `LatexEnabled object` - - `ip_address: string` + The LaTeX setting was changed. - - `user_agent: string` + - `type: optional "latex_enabled"` - - `user_id: string` + default: latex_enabled - - `UnauthenticatedUserActor object` + - `current_value: optional boolean or null` - - `type: optional "unauthenticated_user_actor"` + Setting value immediately after this change - default: unauthenticated_user_actor + - `previous_value: optional boolean or null` - - `ip_address: string` + Setting value immediately before this change - - `user_agent: string` + - `AnalysisToolEnabled object` - - `unauthenticated_email_address: optional string or null` + The analysis tool setting was changed. - format: email + - `type: optional "analysis_tool_enabled"` - - `AnthropicActor object` + default: analysis_tool_enabled - - `type: optional "anthropic_actor"` + - `current_value: optional boolean or null` - default: anthropic_actor + Setting value immediately after this change - - `email_address: optional string or null` + - `previous_value: optional boolean or null` - format: email + Setting value immediately before this change - - `SystemActor object` + - `ChatSuggestionsEnabled object` - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. + The chat suggestions setting was changed. - - `type: optional "system_actor"` + - `type: optional "chat_suggestions_enabled"` - default: system_actor + default: chat_suggestions_enabled - - `service: optional string or null` + - `current_value: optional boolean or null` - Name of the automated process that performed the action, when known. + Setting value immediately after this change - - `AdminAPIKeyActor object` + - `previous_value: optional boolean or null` - - `type: optional "admin_api_key_actor"` + Setting value immediately before this change - default: admin_api_key_actor + - `MultimodalPdfsEnabled object` - - `admin_api_key_id: string` + The multimodal PDFs setting was changed. - - `ip_address: string` + - `type: optional "multimodal_pdfs_enabled"` - - `user_agent: string` + default: multimodal_pdfs_enabled - - `ServiceAccountActor object` + - `current_value: optional boolean or null` - - `type: optional "service_account_actor"` + Setting value immediately after this change - default: service_account_actor + - `previous_value: optional boolean or null` - - `ip_address: string` + Setting value immediately before this change - - `service_account_id: string` + - `GdriveEnabled object` - - `user_agent: string` + The Google Drive setting was changed. - - `ScimDirectorySyncActor object` + - `type: optional "gdrive_enabled"` - - `type: optional "scim_directory_sync_actor"` + default: gdrive_enabled - default: scim_directory_sync_actor + - `current_value: optional boolean or null` - - `directory_id: string` + Setting value immediately after this change - - `workos_event_id: string` + - `previous_value: optional boolean or null` - - `idp_connection_type: optional string or null` + Setting value immediately before this change - - `FederatedIdentityActor object` + - `WebSearchEnabled object` - A federated external workload authenticated via a verified OIDC token. + The web search setting was changed. - Carries the verified issuer, subject, and audience claims from the - presented JWT. + - `type: optional "web_search_enabled"` - - `type: optional "federated_identity_actor"` + default: web_search_enabled - default: federated_identity_actor + - `current_value: optional boolean or null` - - `issuer: string` + Setting value immediately after this change - - `subject: string` + - `previous_value: optional boolean or null` - - `audience: optional array of string` + Setting value immediately before this change - - `ip_address: optional string or null` + - `GeolocationEnabled object` - - `user_agent: optional string or null` + The geolocation setting was changed. - - `FederatedActor object` + - `type: optional "geolocation_enabled"` - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. + default: geolocation_enabled - - `type: optional "federated_actor"` + - `current_value: optional boolean or null` - default: federated_actor + Setting value immediately after this change - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + - `previous_value: optional boolean or null` - - `FederatedActorAwsProvider object` + Setting value immediately before this change - Asserting party: the AWS account the organization is bound to. + - `EnabledSaffron object` - - `type: optional "aws"` + The memory setting was changed for the user. - default: aws + - `type: optional "enabled_saffron"` - - `account_id: string` + default: enabled_saffron - - `signed_principal: string` + - `current_value: optional boolean or null` - The AWS-signed ARN of the IAM principal that requested the token. + Setting value immediately after this change - - `FederatedActorAzureProvider object` + - `previous_value: optional boolean or null` - Asserting party: the Azure subscription the organization is bound to. + Setting value immediately before this change - - `type: optional "azure"` + - `McpToolsEnabled object` - default: azure + The MCP tools setting was changed. - - `subscription_id: string` + - `type: optional "mcp_tools_enabled"` - - `FederatedActorGcpProvider object` + default: mcp_tools_enabled - Asserting party: the GCP project the organization is bound to. + - `current_value: optional map[boolean] or null` - - `type: optional "gcp"` + Setting value immediately after this change - default: gcp + - `previous_value: optional map[boolean] or null` - - `project_number: string` + Setting value immediately before this change - - `FederatedActorOidcProvider object` + - `CliOpPermissionsEnabled object` - Asserting party: a customer-registered OIDC federation issuer. + The CLI operation permissions setting was changed. - - `type: optional "oidc"` + - `type: optional "cli_op_permissions_enabled"` - default: oidc + default: cli_op_permissions_enabled - - `issuer: optional string or null` + - `current_value: optional map[string] or null` - The federation issuer's URL. Null when the presented credential failed verification. + Setting value immediately after this change - - `ip_address: optional string or null` + - `previous_value: optional map[string] or null` - - `subject: optional string or null` + Setting value immediately before this change - The provider's verified identifier for the caller; its form depends on the provider. + - `GoogleDriveSearchEnabled object` - - `user_agent: optional string or null` + The Google Drive search setting was changed. - - `AttestedDeviceActor object` + - `type: optional "google_drive_search_enabled"` - An attested mobile device authenticated via Apple App Attest. + default: google_drive_search_enabled - - `type: optional "attested_device_actor"` + - `current_value: optional boolean or null` - default: attested_device_actor + Setting value immediately after this change - - `external_client_id: string` + - `previous_value: optional boolean or null` - - `kid_hash: string` + Setting value immediately before this change - - `ip_address: optional string or null` + - `GmailIntegrationEnabled object` - - `user_agent: optional string or null` + The Gmail integration setting was changed. - - `certificate_id: string` + - `type: optional "gmail_integration_enabled"` - - `tunnel_id: string` + default: gmail_integration_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `GoogleCalendarIntegrationEnabled object` + + The Google Calendar integration setting was changed. + + - `type: optional "google_calendar_integration_enabled"` + + default: google_calendar_integration_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ThinkingModeEnabled object` + + The thinking mode setting was changed. + + - `type: optional "thinking_mode_enabled"` + + default: thinking_mode_enabled + + - `current_value: optional "adaptive" or "extended" or "off" or "unspecified" or null` + + Setting value immediately after this change + + - `"adaptive"` + + - `"extended"` + + - `"off"` + + - `"unspecified"` + + - `previous_value: optional "adaptive" or "extended" or "off" or "unspecified" or null` + + Setting value immediately before this change + + - `"adaptive"` + + - `"extended"` + + - `"off"` + + - `"unspecified"` + + - `ResearchModeEnabled object` + + The research mode setting was changed. + + - `type: optional "research_mode_enabled"` + + default: research_mode_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ComputerUseEnabled object` + + The computer use setting was changed. + + - `type: optional "computer_use_enabled"` + + default: computer_use_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ClaudeAPIInArtifactsEnabled object` + + The Claude API in Artifacts setting was changed. + + - `type: optional "claude_api_in_artifacts_enabled"` + + default: claude_api_in_artifacts_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `ConversationPreferences object` + + The 'conversation_preferences' for the user were updated. Values omitted. + + - `type: optional "conversation_preferences"` + + default: conversation_preferences + + - `CoworkGlobalInstructions object` + + The Cowork global instructions were updated. Values omitted. + + - `type: optional "cowork_global_instructions"` + + default: cowork_global_instructions - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `certificate_fingerprint: optional string or null` - - `created_at: optional string` When this activity occurred. @@ -139826,13 +144751,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `TunnelCertificateRevoked object` + - `VerificationEvidenceSubmitted object` - An inner-TLS CA certificate was revoked from a tunnel. + Verification evidence was submitted for an organization's verification. - - `type: optional "tunnel_certificate_revoked"` + - `type: optional "verification_evidence_submitted"` - default: tunnel_certificate_revoked + default: verification_evidence_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -140040,16 +144965,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `certificate_id: string` + - `verification_id: string` - - `tunnel_id: string` + Tagged ID of the verification the evidence was submitted for. + + - `verification_type: string` + + The type of verification the evidence was submitted for. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `certificate_fingerprint: optional string or null` - - `created_at: optional string` When this activity occurred. @@ -140064,13 +144991,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `TunnelCreated object` + - `VerificationProgramApplicationCreated object` - An MCP tunnel was created. + An organization applied to a verification program. - - `type: optional "tunnel_created"` + - `type: optional "verification_program_application_created"` - default: tunnel_created + default: verification_program_application_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -140278,7 +145205,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `tunnel_id: string` + - `program_slug: string` + + The verification program the organization applied to. - `id: optional string` @@ -140298,17 +145227,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `tunnel_token_id: optional string or null` - - Id of the tunnel token issued with the tunnel and returned once in the create response; set only when creating the tunnel also issued its token, and absent for a tunnel whose token is revealed separately - - - `TunnelTokenMinted object` + - `WorkspaceMemberSpendLimitCreated object` - An OAuth bearer token for the tunnel management API was minted. + A per-member or workspace-default Claude Code spend limit was created. - - `type: optional "tunnel_token_minted"` + - `type: optional "workspace_member_spend_limit_created"` - default: tunnel_token_minted + default: workspace_member_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -140516,255 +145441,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `token_id: string` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `account_id: optional string or null` + + Tagged ID of the user (null for workspace-wide default). + - `created_at: optional string` When this activity occurred. format: date-time - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `token_name: optional string or null` - - - `TunnelTokenRevealed object` - - The Cloudflare connector secret for a tunnel was revealed to the caller. - - - `type: optional "tunnel_token_revealed"` - - default: tunnel_token_revealed - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` - - default: attested_device_actor - - - `external_client_id: string` - - - `kid_hash: string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `tunnel_id: string` - - - `tunnel_token_id: string` - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' + - `limit_action: optional string or null` - - `created_at: optional string` + The action taken when the limit is reached. - When this activity occurred. + - `limit_usd: optional number or null` - format: date-time + The spend limit threshold in USD cents. - `organization_id: optional string or null` @@ -140774,13 +145471,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `TunnelTokenRevoked object` + - `workspace_id: optional string or null` - An OAuth bearer token for the tunnel management API was revoked. + Tagged ID of the workspace. - - `type: optional "tunnel_token_revoked"` + - `WorkspaceMemberSpendLimitDeleted object` - default: tunnel_token_revoked + A per-member or workspace-default Claude Code spend limit was deleted. + + - `type: optional "workspace_member_spend_limit_deleted"` + + default: workspace_member_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -140988,12 +145689,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `token_id: string` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `account_id: optional string or null` + + Tagged ID of the user (null for workspace-wide default). + - `created_at: optional string` When this activity occurred. @@ -141008,20 +145711,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `token_name: optional string or null` + - `spend_limit_id: optional string or null` - Name the administrator gave the token when it was created, if any + UUID of the deleted spend limit. - - `TunnelTokenRotated object` + - `workspace_id: optional string or null` - The Cloudflare connector secret for a tunnel was rotated. + Tagged ID of the workspace. - `tunnel_token_id` is the id of the *newly-issued* token. The previous - token is invalidated by the rotation and its id is not recorded here. + - `WorkspaceMemberSpendLimitUpdated object` - - `type: optional "tunnel_token_rotated"` + A per-member Claude Code spend limit amount was updated. - default: tunnel_token_rotated + - `type: optional "workspace_member_spend_limit_updated"` + + default: workspace_member_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141229,20 +145933,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `tunnel_id: string` - - - `tunnel_token_id: string` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `account_id: optional string or null` + + Tagged ID of the user (null for workspace-wide default). + - `created_at: optional string` When this activity occurred. format: date-time + - `new_limit_usd: optional number or null` + + The new spend limit threshold in USD cents. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -141251,253 +145959,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reason: optional string or null` - - - `UserConsentRecorded object` - - User granted a consent for a specific entity (e.g. consumer health consent for an MCP server). - - - `type: optional "user_consent_recorded"` - - default: user_consent_recorded - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` - - default: attested_device_actor - - - `external_client_id: string` - - - `kid_hash: string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `consent_type: string` - - - `entity_id: string` - - - `entity_type: string` - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `organization_id: optional string or null` + - `spend_limit_id: optional string or null` - Organization ID this activity is associated with + UUID of the spend limit. - - `organization_uuid: optional string or null` + - `workspace_id: optional string or null` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + Tagged ID of the workspace. - - `UserConsentRevoked object` + - `WorkspaceSpendLimitAlertEmailsUpdated object` - User revoked a previously granted consent for a specific entity. + Spend limit alert email recipients were updated for a workspace. - - `type: optional "user_consent_revoked"` + - `type: optional "workspace_spend_limit_alert_emails_updated"` - default: user_consent_revoked + default: workspace_spend_limit_alert_emails_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141709,9 +146185,9 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `consent_id: optional string or null` + - `alert_emails: optional array of string or null` - - `consent_type: optional string or null` + Updated list of alert email addresses. - `created_at: optional string` @@ -141719,10 +146195,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `entity_id: optional string or null` - - - `entity_type: optional string or null` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -141731,13 +146203,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeUserRoleUpdated object` + - `workspace_id: optional string or null` - A user's role within the organization was changed, or the user was added to or removed from the organization. + Tagged ID of the workspace. - - `type: optional "claude_user_role_updated"` + - `WorkspaceSpendLimitCreated object` - default: claude_user_role_updated + A workspace-level API spend limit was created. + + - `type: optional "workspace_spend_limit_created"` + + default: workspace_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141945,14 +146421,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_email: string` - - Email of the user whose role was changed - - - `user_id: string` - - ID of the user whose role was changed - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -141963,9 +146431,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_role: optional string or null` + - `limit_action: optional string or null` - If null, then user was removed from the Organization + The action taken when the limit is reached (notify_only or notify_and_pause). + + - `limit_usd: optional number or null` + + The spend limit threshold in USD cents. - `organization_id: optional string or null` @@ -141975,17 +146447,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` + - `workspace_id: optional string or null` - If null, then user was added to the Organization + Tagged ID of the workspace. - - `ClaudeUserSettingsUpdated object` + - `WorkspaceSpendLimitDeleted object` - User updated their personal settings. + A workspace-level API spend limit was deleted. - - `type: optional "claude_user_settings_updated"` + - `type: optional "workspace_spend_limit_deleted"` - default: claude_user_settings_updated + default: workspace_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -142193,364 +146665,311 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `updates: array of FullName or DisplayName or ArtifactsEnabled or 19 more` - - - `FullName object` - - The full name setting was changed. - - - `type: optional "full_name"` - - default: full_name - - - `current_value: optional string or null` - - Setting value immediately after this change - - - `previous_value: optional string or null` - - Setting value immediately before this change - - - `DisplayName object` - - The display name setting was changed. - - - `type: optional "display_name"` - - default: display_name - - - `current_value: optional string or null` - - Setting value immediately after this change - - - `previous_value: optional string or null` - - Setting value immediately before this change - - - `ArtifactsEnabled object` - - The artifacts setting was changed. - - - `type: optional "artifacts_enabled"` - - default: artifacts_enabled - - - `current_value: optional boolean or null` - - Setting value immediately after this change - - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `LatexEnabled object` - - The LaTeX setting was changed. - - - `type: optional "latex_enabled"` - - default: latex_enabled - - - `current_value: optional boolean or null` - - Setting value immediately after this change - - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `AnalysisToolEnabled object` - - The analysis tool setting was changed. - - - `type: optional "analysis_tool_enabled"` - - default: analysis_tool_enabled - - - `current_value: optional boolean or null` - - Setting value immediately after this change - - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `ChatSuggestionsEnabled object` - - The chat suggestions setting was changed. - - - `type: optional "chat_suggestions_enabled"` - - default: chat_suggestions_enabled + - `id: optional string` - - `current_value: optional boolean or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - Setting value immediately after this change + - `created_at: optional string` - - `previous_value: optional boolean or null` + When this activity occurred. - Setting value immediately before this change + format: date-time - - `MultimodalPdfsEnabled object` + - `organization_id: optional string or null` - The multimodal PDFs setting was changed. + Organization ID this activity is associated with - - `type: optional "multimodal_pdfs_enabled"` + - `organization_uuid: optional string or null` - default: multimodal_pdfs_enabled + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `current_value: optional boolean or null` + - `spend_limit_id: optional string or null` - Setting value immediately after this change + UUID of the deleted spend limit. - - `previous_value: optional boolean or null` + - `workspace_id: optional string or null` - Setting value immediately before this change + Tagged ID of the workspace. - - `GdriveEnabled object` +- `first_id: optional string or null` - The Google Drive setting was changed. +- `has_more: optional boolean` - - `type: optional "gdrive_enabled"` + default: false - default: gdrive_enabled +- `last_id: optional string or null` - - `current_value: optional boolean or null` +### Example - Setting value immediately after this change +```bash +curl https://api.anthropic.com/v1/compliance/activities \ + -H 'anthropic-version: 2023-06-01' \ + -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY" +``` - - `previous_value: optional boolean or null` +#### Response (200) - Setting value immediately before this change +```json +{ + "data": [ + { + "actor": { + "api_key_id": "api_key_id", + "ip_address": "ip_address", + "user_agent": "user_agent", + "type": "api_actor" + }, + "decision": "blocked", + "id": "id", + "abuse_session_id": "abuse_session_id", + "created_at": "2019-12-27T18:11:19.117Z", + "organization_id": "organization_id", + "organization_uuid": "organization_uuid", + "type": "abuse_decision_received" + } + ], + "first_id": "first_id", + "has_more": true, + "last_id": "last_id" +} +``` - - `WebSearchEnabled object` +## Domain types - The web search setting was changed. +### Activity List Response - - `type: optional "web_search_enabled"` +- `ActivityListResponse = AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 566 more` - default: web_search_enabled + - `AbuseDecisionReceived object` - - `current_value: optional boolean or null` + An external anti-abuse service reported a consequential decision about a sign-in or sign-up attempt. - Setting value immediately after this change + - `type: optional "abuse_decision_received"` - - `previous_value: optional boolean or null` + default: abuse_decision_received - Setting value immediately before this change + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `GeolocationEnabled object` + - `APIActor object` - The geolocation setting was changed. + - `type: optional "api_actor"` - - `type: optional "geolocation_enabled"` + default: api_actor - default: geolocation_enabled + - `api_key_id: string` - - `current_value: optional boolean or null` + - `ip_address: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional boolean or null` + - `UserActor object` - Setting value immediately before this change + - `type: optional "user_actor"` - - `EnabledSaffron object` + default: user_actor - The memory setting was changed for the user. + - `email_address: string` - - `type: optional "enabled_saffron"` + format: email - default: enabled_saffron + - `ip_address: string` - - `current_value: optional boolean or null` + - `user_agent: string` - Setting value immediately after this change + - `user_id: string` - - `previous_value: optional boolean or null` + - `UnauthenticatedUserActor object` - Setting value immediately before this change + - `type: optional "unauthenticated_user_actor"` - - `McpToolsEnabled object` + default: unauthenticated_user_actor - The MCP tools setting was changed. + - `ip_address: string` - - `type: optional "mcp_tools_enabled"` + - `user_agent: string` - default: mcp_tools_enabled + - `unauthenticated_email_address: optional string or null` - - `current_value: optional map[boolean] or null` + format: email - Setting value immediately after this change + - `AnthropicActor object` - - `previous_value: optional map[boolean] or null` + - `type: optional "anthropic_actor"` - Setting value immediately before this change + default: anthropic_actor - - `CliOpPermissionsEnabled object` + - `email_address: optional string or null` - The CLI operation permissions setting was changed. + format: email - - `type: optional "cli_op_permissions_enabled"` + - `SystemActor object` - default: cli_op_permissions_enabled + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - - `current_value: optional map[string] or null` + - `type: optional "system_actor"` - Setting value immediately after this change + default: system_actor - - `previous_value: optional map[string] or null` + - `service: optional string or null` - Setting value immediately before this change + Name of the automated process that performed the action, when known. - - `GoogleDriveSearchEnabled object` + - `AdminAPIKeyActor object` - The Google Drive search setting was changed. + - `type: optional "admin_api_key_actor"` - - `type: optional "google_drive_search_enabled"` + default: admin_api_key_actor - default: google_drive_search_enabled + - `admin_api_key_id: string` - - `current_value: optional boolean or null` + - `ip_address: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional boolean or null` + - `ServiceAccountActor object` - Setting value immediately before this change + - `type: optional "service_account_actor"` - - `GmailIntegrationEnabled object` + default: service_account_actor - The Gmail integration setting was changed. + - `ip_address: string` - - `type: optional "gmail_integration_enabled"` + - `service_account_id: string` - default: gmail_integration_enabled + - `user_agent: string` - - `current_value: optional boolean or null` + - `ScimDirectorySyncActor object` - Setting value immediately after this change + - `type: optional "scim_directory_sync_actor"` - - `previous_value: optional boolean or null` + default: scim_directory_sync_actor - Setting value immediately before this change + - `directory_id: string` - - `GoogleCalendarIntegrationEnabled object` + - `workos_event_id: string` - The Google Calendar integration setting was changed. + - `idp_connection_type: optional string or null` - - `type: optional "google_calendar_integration_enabled"` + - `FederatedIdentityActor object` - default: google_calendar_integration_enabled + A federated external workload authenticated via a verified OIDC token. - - `current_value: optional boolean or null` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - Setting value immediately after this change + - `type: optional "federated_identity_actor"` - - `previous_value: optional boolean or null` + default: federated_identity_actor - Setting value immediately before this change + - `issuer: string` - - `ThinkingModeEnabled object` + - `subject: string` - The thinking mode setting was changed. + - `audience: optional array of string` - - `type: optional "thinking_mode_enabled"` + - `ip_address: optional string or null` - default: thinking_mode_enabled + - `user_agent: optional string or null` - - `current_value: optional "adaptive" or "extended" or "off" or "unspecified" or null` + - `FederatedActor object` - Setting value immediately after this change + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. - - `"adaptive"` + - `type: optional "federated_actor"` - - `"extended"` + default: federated_actor - - `"off"` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `"unspecified"` + - `FederatedActorAwsProvider object` - - `previous_value: optional "adaptive" or "extended" or "off" or "unspecified" or null` + Asserting party: the AWS account the organization is bound to. - Setting value immediately before this change + - `type: optional "aws"` - - `"adaptive"` + default: aws - - `"extended"` + - `account_id: string` - - `"off"` + - `signed_principal: string` - - `"unspecified"` + The AWS-signed ARN of the IAM principal that requested the token. - - `ResearchModeEnabled object` + - `FederatedActorAzureProvider object` - The research mode setting was changed. + Asserting party: the Azure subscription the organization is bound to. - - `type: optional "research_mode_enabled"` + - `type: optional "azure"` - default: research_mode_enabled + default: azure - - `current_value: optional boolean or null` + - `subscription_id: string` - Setting value immediately after this change + - `FederatedActorGcpProvider object` - - `previous_value: optional boolean or null` + Asserting party: the GCP project the organization is bound to. - Setting value immediately before this change + - `type: optional "gcp"` - - `ComputerUseEnabled object` + default: gcp - The computer use setting was changed. + - `project_number: string` - - `type: optional "computer_use_enabled"` + - `FederatedActorOidcProvider object` - default: computer_use_enabled + Asserting party: a customer-registered OIDC federation issuer. - - `current_value: optional boolean or null` + - `type: optional "oidc"` - Setting value immediately after this change + default: oidc - - `previous_value: optional boolean or null` + - `issuer: optional string or null` - Setting value immediately before this change + The federation issuer's URL. Null when the presented credential failed verification. - - `ClaudeAPIInArtifactsEnabled object` + - `ip_address: optional string or null` - The Claude API in Artifacts setting was changed. + - `subject: optional string or null` - - `type: optional "claude_api_in_artifacts_enabled"` + The provider's verified identifier for the caller; its form depends on the provider. - default: claude_api_in_artifacts_enabled + - `user_agent: optional string or null` - - `current_value: optional boolean or null` + - `AttestedDeviceActor object` - Setting value immediately after this change + An attested mobile device authenticated via Apple App Attest. - - `previous_value: optional boolean or null` + - `type: optional "attested_device_actor"` - Setting value immediately before this change + default: attested_device_actor - - `ConversationPreferences object` + - `external_client_id: string` - The 'conversation_preferences' for the user were updated. Values omitted. + - `kid_hash: string` - - `type: optional "conversation_preferences"` + - `ip_address: optional string or null` - default: conversation_preferences + - `user_agent: optional string or null` - - `CoworkGlobalInstructions object` + - `decision: "blocked" or "unspecified"` - The Cowork global instructions were updated. Values omitted. + The decision applied to the session. - - `type: optional "cowork_global_instructions"` + - `"blocked"` - default: cowork_global_instructions + - `"unspecified"` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `abuse_session_id: optional string or null` + + The anti-abuse service's opaque session identifier for correlation. + - `created_at: optional string` When this activity occurred. @@ -142565,13 +146984,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `VerificationEvidenceSubmitted object` + - `AccountDeleted object` - Verification evidence was submitted for an organization's verification. + User-initiated self-service account deletion. - - `type: optional "verification_evidence_submitted"` + - `type: optional "account_deleted"` - default: verification_evidence_submitted + default: account_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -142779,14 +147198,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `verification_id: string` - - Tagged ID of the verification the evidence was submitted for. - - - `verification_type: string` - - The type of verification the evidence was submitted for. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -142805,13 +147216,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `VerificationProgramApplicationCreated object` + - `AccountMigrationCompleted object` - An organization applied to a verification program. + A personal Claude account's migration into the organization finished: the migrated data is now part of the organization. - - `type: optional "verification_program_application_created"` + - `type: optional "account_migration_completed"` - default: verification_program_application_created + default: account_migration_completed + + - `account_migration_id: string` + + Tagged ID of the migration, e.g. "amig_...", matching the account_migration_started activity that opened it. - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143019,10 +147434,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `program_slug: string` - - The verification program the organization applied to. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -143033,6 +147444,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `migrated_user_email: optional string or null` + + Email address of the user whose personal account was migrated, when known. + + - `migrated_user_id: optional string or null` + + Tagged ID of the user whose personal account was migrated, e.g. "user_...", when known. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -143041,13 +147460,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `WorkspaceMemberSpendLimitCreated object` + - `AccountMigrationFailed object` - A per-member or workspace-default Claude Code spend limit was created. + A personal Claude account's migration into the organization did not complete. - - `type: optional "workspace_member_spend_limit_created"` + - `type: optional "account_migration_failed"` - default: workspace_member_spend_limit_created + default: account_migration_failed + + - `account_migration_id: string` + + Tagged ID of the migration, e.g. "amig_...", matching the account_migration_started activity that opened it, if one was recorded; a later retry is a new migration with its own ID. - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143259,23 +147682,53 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `account_id: optional string or null` - - Tagged ID of the user (null for workspace-wide default). - - `created_at: optional string` When this activity occurred. format: date-time - - `limit_action: optional string or null` + - `failure_reasons: optional array of "already_member_of_target" or "already_migrating" or "anthropic_staff_action" or 12 more` - The action taken when the limit is reached. + Why the migration did not complete, each reason listed once. In these values "source" is the member's personal account and "target" is this organization. "source_equals_target", "source_not_personal_org", "user_not_member_of_source" and "user_not_sole_member_of_source": the account is not a single-member personal account that can be migrated. "target_not_enterprise_org": this organization's plan does not accept the migration. "already_member_of_target": the migration already happened. "target_membership_not_provisioned" and "target_membership_unassigned_no_seats": the member has no usable seat in this organization. "already_migrating": another migration of the same account is in progress. "source_too_large": the personal account holds more data than a migration can move. "target_became_inactive": this organization became inactive before the migration finished. "migration_failed": an error stopped the migration. "anthropic_staff_action": Anthropic staff stopped the migration. "migration_blocked_redacted": stands in for every reason that is not shared with the organization. Values may be added over time; treat an unrecognized value as a generic failure. "unspecified" is never emitted. - - `limit_usd: optional number or null` + - `"already_member_of_target"` - The spend limit threshold in USD cents. + - `"already_migrating"` + + - `"anthropic_staff_action"` + + - `"migration_blocked_redacted"` + + - `"migration_failed"` + + - `"source_equals_target"` + + - `"source_not_personal_org"` + + - `"source_too_large"` + + - `"target_became_inactive"` + + - `"target_membership_not_provisioned"` + + - `"target_membership_unassigned_no_seats"` + + - `"target_not_enterprise_org"` + + - `"unspecified"` + + - `"user_not_member_of_source"` + + - `"user_not_sole_member_of_source"` + + - `migrated_user_email: optional string or null` + + Email address of the user whose personal account was being migrated, when known. + + - `migrated_user_id: optional string or null` + + Tagged ID of the user whose personal account was being migrated, e.g. "user_...", when known. - `organization_id: optional string or null` @@ -143285,17 +147738,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `AccountMigrationStarted object` - Tagged ID of the workspace. + A personal Claude account began migrating into the organization: its data, including conversations, projects and files, is being moved from the member's personal account into this organization. - - `WorkspaceMemberSpendLimitDeleted object` + - `type: optional "account_migration_started"` - A per-member or workspace-default Claude Code spend limit was deleted. + default: account_migration_started - - `type: optional "workspace_member_spend_limit_deleted"` + - `account_migration_id: string` - default: workspace_member_spend_limit_deleted + Tagged ID of the migration, e.g. "amig_...". The same ID appears on the completed or failed activity that closes the migration, when one is recorded. - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143503,13 +147956,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `migrated_user_email: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Email address of the user whose personal account is being migrated. - - `account_id: optional string or null` + - `migrated_user_id: string` - Tagged ID of the user (null for workspace-wide default). + Tagged ID of the user whose personal account is being migrated, e.g. "user_...". + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -143525,21 +147982,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - UUID of the deleted spend limit. - - - `workspace_id: optional string or null` - - Tagged ID of the workspace. - - - `WorkspaceMemberSpendLimitUpdated object` + - `AdminAPIKeyCreated object` - A per-member Claude Code spend limit amount was updated. + An admin API key was created. - - `type: optional "workspace_member_spend_limit_updated"` + - `type: optional "admin_api_key_created"` - default: workspace_member_spend_limit_updated + default: admin_api_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143747,13 +148196,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `admin_api_key_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the created admin API key - - `account_id: optional string or null` + - `id: optional string` - Tagged ID of the user (null for workspace-wide default). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -143761,10 +148210,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_limit_usd: optional number or null` - - The new spend limit threshold in USD cents. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -143773,21 +148218,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - UUID of the spend limit. - - - `workspace_id: optional string or null` + - `scopes: optional array of string` - Tagged ID of the workspace. + Scopes granted to the key (empty for legacy non-scoped admin keys) - - `WorkspaceSpendLimitAlertEmailsUpdated object` + - `AdminAPIKeyDeleted object` - Spend limit alert email recipients were updated for a workspace. + An admin API key was deleted. - - `type: optional "workspace_spend_limit_alert_emails_updated"` + - `type: optional "admin_api_key_deleted"` - default: workspace_spend_limit_alert_emails_updated + default: admin_api_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143995,13 +148436,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `admin_api_key_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the deleted admin API key - - `alert_emails: optional array of string or null` + - `id: optional string` - Updated list of alert email addresses. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -144017,17 +148458,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` - - Tagged ID of the workspace. - - - `WorkspaceSpendLimitCreated object` + - `AdminAPIKeyUpdated object` - A workspace-level API spend limit was created. + An admin API key was updated (renamed or activated/deactivated). - - `type: optional "workspace_spend_limit_created"` + - `type: optional "admin_api_key_updated"` - default: workspace_spend_limit_created + default: admin_api_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -144235,6 +148672,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `admin_api_key_id: string` + + Tagged ID of the updated admin API key + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -144245,14 +148686,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `limit_action: optional string or null` - - The action taken when the limit is reached (notify_only or notify_and_pause). - - - `limit_usd: optional number or null` - - The spend limit threshold in USD cents. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -144261,17 +148694,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `workspace_id: optional string or null` + - `updates: optional array of object` - Tagged ID of the workspace. + The field-level changes applied in this update - - `WorkspaceSpendLimitDeleted object` + - `type: "name" or "status" or "unspecified"` - A workspace-level API spend limit was deleted. + The admin API key field that changed - - `type: optional "workspace_spend_limit_deleted"` + - `"name"` - default: workspace_spend_limit_deleted + - `"status"` + + - `"unspecified"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `AdminConnectorRequestResolved object` + + Admin approved or dismissed pending member requests to enable an MCP connector. + + - `type: optional "admin_connector_request_resolved"` + + default: admin_connector_request_resolved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -144479,6 +148930,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `decision: "approved" or "dismissed" or "unspecified"` + + - `"approved"` + + - `"dismissed"` + + - `"unspecified"` + + - `mcp_server_id: string` + + - `resolved_count: number` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -144497,70 +148960,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - UUID of the deleted spend limit. - - - `workspace_id: optional string or null` - - Tagged ID of the workspace. - -- `first_id: optional string or null` - -- `has_more: optional boolean` - - default: false - -- `last_id: optional string or null` - -### Example - -```bash -curl https://api.anthropic.com/v1/compliance/activities \ - -H 'anthropic-version: 2023-06-01' \ - -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY" -``` - -#### Response (200) - -```json -{ - "data": [ - { - "actor": { - "api_key_id": "api_key_id", - "ip_address": "ip_address", - "user_agent": "user_agent", - "type": "api_actor" - }, - "decision": "blocked", - "id": "id", - "abuse_session_id": "abuse_session_id", - "created_at": "2019-12-27T18:11:19.117Z", - "organization_id": "organization_id", - "organization_uuid": "organization_uuid", - "type": "abuse_decision_received" - } - ], - "first_id": "first_id", - "has_more": true, - "last_id": "last_id" -} -``` - -## Domain types - -### Activity List Response - -- `ActivityListResponse = AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 558 more` - - - `AbuseDecisionReceived object` + - `AdminRequestCreated object` - An external anti-abuse service reported a consequential decision about a sign-in or sign-up attempt. + Admin request created by an org member (seat upgrade, limit increase, join org, end-user invite). - - `type: optional "abuse_decision_received"` + - `type: optional "admin_request_created"` - default: abuse_decision_received + default: admin_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -144768,22 +149174,12 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `decision: "blocked" or "unspecified"` - - The decision applied to the session. - - - `"blocked"` - - - `"unspecified"` + - `request_type: string` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `abuse_session_id: optional string or null` - - The anti-abuse service's opaque session identifier for correlation. - - `created_at: optional string` When this activity occurred. @@ -144798,13 +149194,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AccountDeleted object` + - `AdminSetupChecklistStepDelegated object` - User-initiated self-service account deletion. + A step of the Claude Enterprise admin setup checklist was delegated to a teammate — an organization member, or an email address that has not joined the organization yet — replacing any earlier delegation of that step. - - `type: optional "account_deleted"` + - `type: optional "admin_setup_checklist_step_delegated"` - default: account_deleted + default: admin_setup_checklist_step_delegated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -145012,6 +149408,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `step: string` + + The checklist step that was delegated, for example `enable_sso` or `verify_domain`. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -145022,6 +149422,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `delegate_email: optional string or null` + + Email address the step was delegated to; present only when the delegate is not yet an organization member. + + - `delegate_user_id: optional string or null` + + Tagged ID of the organization member the step was delegated to; absent when the step was delegated to an email address that has not joined the organization. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -145030,17 +149438,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AccountMigrationCompleted object` - - A personal Claude account's migration into the organization finished: the migrated data is now part of the organization. - - - `type: optional "account_migration_completed"` + - `AdminSetupChecklistStepDelegationCancelled object` - default: account_migration_completed + The delegation of a Claude Enterprise admin setup checklist step was cancelled. - - `account_migration_id: string` + - `type: optional "admin_setup_checklist_step_delegation_cancelled"` - Tagged ID of the migration, e.g. "amig_...", matching the account_migration_started activity that opened it. + default: admin_setup_checklist_step_delegation_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -145248,6 +149652,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `step: string` + + The checklist step whose delegation was cancelled. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -145258,14 +149666,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `migrated_user_email: optional string or null` - - Email address of the user whose personal account was migrated, when known. - - - `migrated_user_id: optional string or null` - - Tagged ID of the user whose personal account was migrated, e.g. "user_...", when known. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -145274,17 +149674,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AccountMigrationFailed object` - - A personal Claude account's migration into the organization did not complete. - - - `type: optional "account_migration_failed"` + - `AgeVerified object` - default: account_migration_failed + User age was verified. - - `account_migration_id: string` + - `type: optional "age_verified"` - Tagged ID of the migration, e.g. "amig_...", matching the account_migration_started activity that opened it, if one was recorded; a later retry is a new migration with its own ID. + default: age_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -145502,48 +149898,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `failure_reasons: optional array of "already_member_of_target" or "already_migrating" or "anthropic_staff_action" or 12 more` - - Why the migration did not complete, each reason listed once. In these values "source" is the member's personal account and "target" is this organization. "source_equals_target", "source_not_personal_org", "user_not_member_of_source" and "user_not_sole_member_of_source": the account is not a single-member personal account that can be migrated. "target_not_enterprise_org": this organization's plan does not accept the migration. "already_member_of_target": the migration already happened. "target_membership_not_provisioned" and "target_membership_unassigned_no_seats": the member has no usable seat in this organization. "already_migrating": another migration of the same account is in progress. "source_too_large": the personal account holds more data than a migration can move. "target_became_inactive": this organization became inactive before the migration finished. "migration_failed": an error stopped the migration. "anthropic_staff_action": Anthropic staff stopped the migration. "migration_blocked_redacted": stands in for every reason that is not shared with the organization. Values may be added over time; treat an unrecognized value as a generic failure. "unspecified" is never emitted. - - - `"already_member_of_target"` - - - `"already_migrating"` - - - `"anthropic_staff_action"` - - - `"migration_blocked_redacted"` - - - `"migration_failed"` - - - `"source_equals_target"` - - - `"source_not_personal_org"` - - - `"source_too_large"` - - - `"target_became_inactive"` - - - `"target_membership_not_provisioned"` - - - `"target_membership_unassigned_no_seats"` - - - `"target_not_enterprise_org"` - - - `"unspecified"` - - - `"user_not_member_of_source"` - - - `"user_not_sole_member_of_source"` - - - `migrated_user_email: optional string or null` - - Email address of the user whose personal account was being migrated, when known. - - - `migrated_user_id: optional string or null` - - Tagged ID of the user whose personal account was being migrated, e.g. "user_...", when known. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -145552,17 +149906,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AccountMigrationStarted object` - - A personal Claude account began migrating into the organization: its data, including conversations, projects and files, is being moved from the member's personal account into this organization. - - - `type: optional "account_migration_started"` + - `AnonymousMobileLoginAttempted object` - default: account_migration_started + Anonymous mobile login was attempted. - - `account_migration_id: string` + - `type: optional "anonymous_mobile_login_attempted"` - Tagged ID of the migration, e.g. "amig_...". The same ID appears on the completed or failed activity that closes the migration, when one is recorded. + default: anonymous_mobile_login_attempted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -145770,14 +150120,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `migrated_user_email: string` - - Email address of the user whose personal account is being migrated. - - - `migrated_user_id: string` - - Tagged ID of the user whose personal account is being migrated, e.g. "user_...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -145796,13 +150138,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AdminAPIKeyCreated object` + - `APIKeyCreated object` - An admin API key was created. + Activity logged when a new API key is created. - - `type: optional "admin_api_key_created"` + - `type: optional "api_key_created"` - default: admin_api_key_created + default: api_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146010,9 +150352,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `admin_api_key_id: string` + - `api_key_id: string` - Tagged ID of the created admin API key + The tagged ID of the created API key - `id: optional string` @@ -146032,17 +150374,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `restricted_to_organization: optional boolean or null` + + Whether the key was restricted to the creating organization, rather than granted access across the whole parent organization + - `scopes: optional array of string` - Scopes granted to the key (empty for legacy non-scoped admin keys) + The scopes for this API key - - `AdminAPIKeyDeleted object` + - `ClaudeArtifactAccessFailed object` - An admin API key was deleted. + An attempt to access an artifact failed. - - `type: optional "admin_api_key_deleted"` + - `type: optional "claude_artifact_access_failed"` - default: admin_api_key_deleted + default: claude_artifact_access_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146250,14 +150596,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `admin_api_key_id: string` - - Tagged ID of the deleted admin API key - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_artifact_id: optional string or null` + + The artifact's identifier, when known. + + - `claude_artifact_version_id: optional string or null` + + The version of the artifact the user attempted to access, when known. + - `created_at: optional string` When this activity occurred. @@ -146272,13 +150622,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AdminAPIKeyUpdated object` + - `reason: optional string or null` - An admin API key was updated (renamed or activated/deactivated). + The reason access was denied, when recorded. - - `type: optional "admin_api_key_updated"` + - `ClaudeArtifactCommented object` - default: admin_api_key_updated + Comment activity on a published artifact: a comment was added, a thread's resolved state was changed, or a thread was deleted. The actor is the user who performed the action; the comment text itself is stored with the artifact and is not part of this record. + + - `type: optional "claude_artifact_commented"` + + default: claude_artifact_commented - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146486,57 +150840,81 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `admin_api_key_id: string` + - `claude_artifact_id: string` - Tagged ID of the updated admin API key + The artifact's identifier. - - `id: optional string` + - `comment_action: "activate_thread" or "create_thread" or "deactivate_thread" or 10 more` - Unique identifier for the activity e.g. 'activity_abcd1234' + The action recorded: for example a new comment thread, a reply to an existing thread, a thread resolved, reopened, or deleted, a thread's Claude activation granted or revoked, a comment's text rewritten by its author, an existing comment sent to Claude or withdrawn from Claude, or a thread resolved by a Claude session. - - `created_at: optional string` + - `"activate_thread"` - When this activity occurred. + - `"create_thread"` - format: date-time + - `"deactivate_thread"` - - `organization_id: optional string or null` + - `"delete_thread"` - Organization ID this activity is associated with + - `"edit_comment"` - - `organization_uuid: optional string or null` + - `"move_thread"` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"reopen"` - - `updates: optional array of object` + - `"reply"` - The field-level changes applied in this update + - `"resolve"` - - `type: "name" or "status" or "unspecified"` + - `"send_to_claude"` - The admin API key field that changed + - `"session_resolve"` - - `"name"` + - `"unsend_to_claude"` - - `"status"` + - `"unspecified"` - - `"unspecified"` + - `id: optional string` - - `current_value: string` + Unique identifier for the activity e.g. 'activity_abcd1234' - Field value immediately after this change + - `actor_outside_organization: optional boolean or null` - - `previous_value: string` + True when the person who acted belongs to a different organization than the artifact's owner organization, such as someone invited by email who accepted commenter or editor access. Absent on older events; treat absence as false. - Field value immediately before this change + - `claude_artifact_comment_id: optional string or null` - - `AdminConnectorRequestResolved object` + The comment's identifier. Present when the activity relates to a specific comment, for example a new comment, an author's edit of one, or an existing comment sent to Claude or withdrawn from Claude; absent for thread-level actions performed without a comment, such as resolve, reopen, deletion, an activation change, or a resolve by a Claude session. - Admin approved or dismissed pending member requests to enable an MCP connector. + - `claude_artifact_comment_thread_id: optional string or null` - - `type: optional "admin_connector_request_resolved"` + The comment thread's identifier. - default: admin_connector_request_resolved + - `claude_artifact_version_id: optional string or null` + + The artifact version the comment activity applied to, when known. + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `ClaudeArtifactCommentsViewed object` + + An artifact's comments were viewed. + + - `type: optional "claude_artifact_comments_viewed"` + + default: claude_artifact_comments_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146744,22 +151122,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `decision: "approved" or "dismissed" or "unspecified"` - - - `"approved"` - - - `"dismissed"` - - - `"unspecified"` - - - `mcp_server_id: string` + - `claude_artifact_id: string` - - `resolved_count: number` + The artifact's identifier. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_artifact_version_id: optional string or null` + + The version of the artifact whose comments were served, when known. + - `created_at: optional string` When this activity occurred. @@ -146774,13 +151148,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AdminRequestCreated object` + - `ClaudeArtifactCreated object` - Admin request created by an org member (seat upgrade, limit increase, join org, end-user invite). + An artifact was created. - - `type: optional "admin_request_created"` + - `type: optional "claude_artifact_created"` - default: admin_request_created + default: claude_artifact_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146988,7 +151362,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `request_type: string` + - `claude_artifact_id: string` + + Tagged ID of the artifact that was created, e.g. "claude_artifact_01HX...". - `id: optional string` @@ -147008,13 +151384,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AdminSetupChecklistStepDelegated object` + - `ClaudePublishedArtifactDeleted object` - A step of the Claude Enterprise admin setup checklist was delegated to a teammate — an organization member, or an email address that has not joined the organization yet — replacing any earlier delegation of that step. + A published artifact was deleted or unpublished — by its creator, by an organization admin, or by Anthropic (for example, when it was removed for a policy violation). - - `type: optional "admin_setup_checklist_step_delegated"` + - `type: optional "claude_published_artifact_deleted"` - default: admin_setup_checklist_step_delegated + default: claude_published_artifact_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -147222,9 +151598,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `step: string` + - `claude_published_artifact_id: string` - The checklist step that was delegated, for example `enable_sso` or `verify_domain`. + The published artifact's identifier. - `id: optional string` @@ -147236,14 +151612,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `delegate_email: optional string or null` - - Email address the step was delegated to; present only when the delegate is not yet an organization member. - - - `delegate_user_id: optional string or null` - - Tagged ID of the organization member the step was delegated to; absent when the step was delegated to an email address that has not joined the organization. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -147252,13 +151620,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AdminSetupChecklistStepDelegationCancelled object` + - `ClaudeArtifactPublished object` - The delegation of a Claude Enterprise admin setup checklist step was cancelled. + A new version of an artifact was published — for an artifact created in a chat this is the action that made it publicly viewable; for an artifact created outside a chat it is recorded when the artifact is saved, including saves of private artifacts, except that automatic saves made while a person keeps editing may be recorded periodically for that person rather than once per save; changes to who can access the artifact are recorded separately as claude_artifact_sharing_updated. - - `type: optional "admin_setup_checklist_step_delegation_cancelled"` + - `type: optional "claude_artifact_published"` - default: admin_setup_checklist_step_delegation_cancelled + default: claude_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -147466,251 +151834,39 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `step: string` - - The checklist step whose delegation was cancelled. - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `AgeVerified object` - - User age was verified. - - - `type: optional "age_verified"` - - default: age_verified - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` + - `artifact_type: string` - - `subject: optional string or null` + Artifact type (code, html, react, etc.) - The provider's verified identifier for the caller; its form depends on the provider. + - `claude_published_artifact_id: string` - - `user_agent: optional string or null` + The published artifact's identifier. - - `AttestedDeviceActor object` + - `id: optional string` - An attested mobile device authenticated via Apple App Attest. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `type: optional "attested_device_actor"` + - `actor_outside_organization: optional boolean or null` - default: attested_device_actor + True when the person who published belongs to a different organization than the artifact's owner organization, such as someone invited by email who accepted editor access. Absent on older events; treat absence as false. - - `external_client_id: string` + - `claude_artifact_version_id: optional string or null` - - `kid_hash: string` + The version identifier recorded as live by this publish. - - `ip_address: optional string or null` + - `created_at: optional string` - - `user_agent: optional string or null` + When this activity occurred. - - `id: optional string` + format: date-time - Unique identifier for the activity e.g. 'activity_abcd1234' + - `description: optional string or null` - - `created_at: optional string` + No longer populated: the gallery-card description supplied at publish time is intentionally omitted from this feed. - When this activity occurred. + - `is_redeploy: optional boolean or null` - format: date-time + True when the publish updated an existing artifact; false when the publish created the artifact. - `organization_id: optional string or null` @@ -147720,13 +151876,19 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AnonymousMobileLoginAttempted object` + - `title: string` - Anonymous mobile login was attempted. + **Deprecated** - - `type: optional "anonymous_mobile_login_attempted"` + No longer populated. For Code Artifacts (`claude_published_artifact_id` starts with `cart_`), find that artifact in List Code Artifacts: the title is the `name` of its `versions` entry whose `id` equals `claude_artifact_version_id`, while that version is still retained (a `name` equal to the version id means the title is no longer kept). For other artifacts, look up `claude_artifact_version_id` with Get artifact metadata. That id is absent when the publish isn't linked to an artifact version, and neither lookup works once the artifact is deleted. - default: anonymous_mobile_login_attempted + - `ClaudeArtifactSharingUpdated object` + + An artifact's sharing settings were updated. + + - `type: optional "claude_artifact_sharing_updated"` + + default: claude_artifact_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -147934,6 +152096,42 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `audience: array of Organization or Users or AnyoneWithLink` + + The artifact's sharing audience after the change. If empty, the artifact is visible only to its owner. + + - `Organization object` + + Sharing audience: visible to the owning organization. + + - `type: optional "organization"` + + default: organization + + - `Users object` + + Sharing audience: visible to an explicit allowlist of users. + + - `type: optional "users"` + + default: users + + - `AnyoneWithLink object` + + Sharing audience: anyone with the link, including anonymous viewers (an artifact shared to the open internet). + + - `type: optional "anyone_with_link"` + + default: anyone_with_link + + - `claude_artifact_id: string` + + The artifact's identifier. + + - `claude_artifact_version_id: string` + + The artifact version's identifier. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -147944,6 +152142,22 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `new_mode: optional string or null` + + The read-axis sharing mode after the change: `owner`, `users`, `org`, or `public` (anyone on the internet). + + - `new_user_count: optional number or null` + + The number of accounts on the explicit read allowlist after the change. Only meaningful when `new_mode` is `users`. + + - `new_write_mode: optional string or null` + + The write-axis sharing mode after the change: `owner`, `users`, or `org`. + + - `new_write_user_count: optional number or null` + + The number of accounts on the explicit write allowlist after the change. Only meaningful when `new_write_mode` is `users`. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -147952,13 +152166,61 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `APIKeyCreated object` + - `previous_mode: optional string or null` - Activity logged when a new API key is created. + The read-axis sharing mode before the change: `owner`, `users`, `org`, or `public` (anyone on the internet). - - `type: optional "api_key_created"` + - `previous_read_agent_ids: optional array of string` - default: api_key_created + The Claude agents (`cagt_…` identifiers) whose channel held view access to the artifact before the change. Empty when none. + + - `previous_read_group_ids: optional array of string` + + The admin-managed groups (`rbac_group_…` identifiers) whose members held view access to the artifact before the change. Edit access implies view access, so every `previous_write_group_ids` entry also appears here. Empty when none. + + - `previous_user_count: optional number or null` + + The number of accounts on the explicit read allowlist before the change. Only meaningful when `previous_mode` is `users`. + + - `previous_write_agent_ids: optional array of string` + + The Claude agents (`cagt_…` identifiers) whose channel held edit access to the artifact before the change. Empty when none. + + - `previous_write_group_ids: optional array of string` + + The admin-managed groups (`rbac_group_…` identifiers) whose members held edit access to the artifact before the change. Empty when none. + + - `previous_write_mode: optional string or null` + + The write-axis sharing mode before the change: `owner`, `users`, or `org`. + + - `previous_write_user_count: optional number or null` + + The number of accounts on the explicit write allowlist before the change. Only meaningful when `previous_write_mode` is `users`. + + - `read_agent_ids: optional array of string` + + The Claude agents (`cagt_…` identifiers) whose channel holds view access to the artifact after the change. Reflects the standing grants, so it is populated on every sharing update for an artifact shared with agents, not only when an agent grant changed. Empty when none. + + - `read_group_ids: optional array of string` + + The admin-managed groups (`rbac_group_…` identifiers) whose members hold view access to the artifact after the change (including every `write_group_ids` entry). Reflects the standing grants, so it is populated on every sharing update for an artifact shared with groups, not only when a group grant changed. Empty when none. + + - `write_agent_ids: optional array of string` + + The Claude agents (`cagt_…` identifiers) whose channel holds edit access to the artifact after the change. Reflects the standing grants, so it is populated on every sharing update for an artifact shared with agents, not only when an agent grant changed. Empty when none. + + - `write_group_ids: optional array of string` + + The admin-managed groups (`rbac_group_…` identifiers) whose members hold edit access to the artifact after the change. Reflects the standing grants, like `read_group_ids`. Empty when none. + + - `ClaudeArtifactViewed object` + + An artifact was viewed. + + - `type: optional "claude_artifact_viewed"` + + default: claude_artifact_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148166,14 +152428,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `api_key_id: string` + - `claude_artifact_id: string` - The tagged ID of the created API key + The artifact's identifier. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_artifact_version_id: optional string or null` + + The version of the artifact the user was served, when known. + - `created_at: optional string` When this activity occurred. @@ -148188,21 +152454,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `restricted_to_organization: optional boolean or null` - - Whether the key was restricted to the creating organization, rather than granted access across the whole parent organization - - - `scopes: optional array of string` - - The scopes for this API key - - - `ClaudeArtifactAccessFailed object` + - `AuditLogExportAccessed object` - An attempt to access an artifact failed. + Audit log export file was accessed/downloaded via signed URL. - - `type: optional "claude_artifact_access_failed"` + - `type: optional "audit_log_export_accessed"` - default: claude_artifact_access_failed + default: audit_log_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148414,14 +152672,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_artifact_id: optional string or null` - - The artifact's identifier, when known. - - - `claude_artifact_version_id: optional string or null` - - The version of the artifact the user attempted to access, when known. - - `created_at: optional string` When this activity occurred. @@ -148436,17 +152686,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reason: optional string or null` - - The reason access was denied, when recorded. - - - `ClaudeArtifactCommented object` + - `AuditLogExportStarted object` - Comment activity on a published artifact: a comment was added, a thread's resolved state was changed, or a thread was deleted. The actor is the user who performed the action; the comment text itself is stored with the artifact and is not part of this record. + Audit log export was initiated. - - `type: optional "claude_artifact_commented"` + - `type: optional "audit_log_export_started"` - default: claude_artifact_commented + default: audit_log_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148654,66 +152900,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - The artifact's identifier. - - - `comment_action: "activate_thread" or "create_thread" or "deactivate_thread" or 10 more` - - The action recorded: for example a new comment thread, a reply to an existing thread, a thread resolved, reopened, or deleted, a thread's Claude activation granted or revoked, a comment's text rewritten by its author, an existing comment sent to Claude or withdrawn from Claude, or a thread resolved by a Claude session. - - - `"activate_thread"` - - - `"create_thread"` - - - `"deactivate_thread"` - - - `"delete_thread"` - - - `"edit_comment"` - - - `"move_thread"` - - - `"reopen"` - - - `"reply"` - - - `"resolve"` - - - `"send_to_claude"` - - - `"session_resolve"` - - - `"unsend_to_claude"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `actor_outside_organization: optional boolean or null` - - True when the person who acted belongs to a different organization than the artifact's owner organization, such as someone invited by email who accepted commenter or editor access. Absent on older events; treat absence as false. - - - `claude_artifact_comment_id: optional string or null` - - The comment's identifier. Present when the activity relates to a specific comment, for example a new comment, an author's edit of one, or an existing comment sent to Claude or withdrawn from Claude; absent for thread-level actions performed without a comment, such as resolve, reopen, deletion, an activation change, or a resolve by a Claude session. - - - `claude_artifact_comment_thread_id: optional string or null` - - The comment thread's identifier. - - - `claude_artifact_version_id: optional string or null` - - The artifact version the comment activity applied to, when known. - - `created_at: optional string` When this activity occurred. format: date-time + - `from_date: optional string or null` + + Start date of the export range + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -148722,13 +152922,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactCommentsViewed object` + - `to_date: optional string or null` - An artifact's comments were viewed. + End date of the export range - - `type: optional "claude_artifact_comments_viewed"` + - `BillingEmailsUpdated object` - default: claude_artifact_comments_viewed + The organization's billing email recipients were updated. + + - `type: optional "billing_emails_updated"` + + default: billing_emails_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148936,17 +153140,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - The artifact's identifier. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_artifact_version_id: optional string or null` + - `cc_email_count: optional number or null` - The version of the artifact whose comments were served, when known. + Number of 'cc' email recipients. - `created_at: optional string` @@ -148962,13 +153162,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactCreated object` + - `primary_email_set: optional boolean or null` - An artifact was created. + Whether a primary billing email is configured. - - `type: optional "claude_artifact_created"` + - `to_email_count: optional number or null` - default: claude_artifact_created + Number of 'to' email recipients. + + - `CcrAgentCreated object` + + A Claude Code agent was created. + + - `type: optional "ccr_agent_created"` + + default: ccr_agent_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -149176,9 +153384,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` + - `agent_id: string` - Tagged ID of the artifact that was created, e.g. "claude_artifact_01HX...". + The agent that was created, e.g. "cagt_01HX...". + + - `default_source_urls_truncated: boolean` + + Whether default_source_urls was capped and omits some of the granted repositories. + + - `display_name: string` + + The agent's display name at creation time. + + - `omitted_source_url_count: number` + + Number of default repository entries that could not be safely rendered as a credential-free URL and were omitted from default_source_urls. A non-zero value with an empty list means repositories were granted but could not be displayed — not that all repositories were removed. + + - `slug: string` + + The agent's URL-safe identifier, unique within the organization. - `id: optional string` @@ -149190,6 +153414,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `default_source_urls: optional array of string` + + The repository URLs the agent works on by default, reduced to scheme, host, and path — credentials and query parameters are never included. Empty with a zero omitted_source_url_count means the agent was created without any default repositories; empty with a non-zero count means repositories were granted but could not be safely rendered. At most 100 entries are included; default_source_urls_truncated indicates when more were granted. + + - `guest_policy: optional string or null` + + Whether the agent responds in Slack channels that include guest users, and in Slack Connect channels shared with other organizations: "allow", "restrict", or "channel" (the agent responds, using only that channel's own content and configuration). In Slack Connect channels "allow" gives at most "channel" access. Omitted when the agent inherits the default policy. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -149198,13 +153430,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudePublishedArtifactDeleted object` + - `slack_alias: optional string or null` - A published artifact was deleted or unpublished — by its creator, by an organization admin, or by Anthropic (for example, when it was removed for a policy violation). + The Slack trigger word that routes mentions to this agent. An empty value means the agent responds to bare "@Claude" mentions. Omitted when the agent is not addressable from Slack. - - `type: optional "claude_published_artifact_deleted"` + - `CcrAgentDeleted object` - default: claude_published_artifact_deleted + A Claude Code agent was deleted. + + - `type: optional "ccr_agent_deleted"` + + default: ccr_agent_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -149412,14 +153648,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_published_artifact_id: string` + - `agent_id: string` - The published artifact's identifier. + The agent that was deleted, e.g. "cagt_01HX...". + + - `cascaded_agent_ids_truncated: boolean` + + True when more agents were deleted in this cascade than are individually recorded. On a cascade parent event (cascaded_from_agent_id unset), cascaded_agent_ids is capped at 100. On a cascade child event (cascaded_from_agent_id set, emitted when the parent deletion failed after committing child deletions), one event is emitted per deleted child up to 100, and this field indicates additional children were deleted in the same cascade. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `cascaded_agent_ids: optional array of string` + + Agents assigned to individual Slack channels that were also deleted because agent_id was the agent assigned to their entire Slack workspace. Empty when no such agents were deleted, and always empty on a cascade child event (cascaded_from_agent_id set) — the child's siblings are recorded as their own events, not listed here. Capped at 100 entries; cascaded_agent_ids_truncated is set when the actual count exceeded the cap. + + - `cascaded_from_agent_id: optional string or null` + + When set, the Slack workspace's dedicated agent whose deletion attempt caused this agent to be deleted. The parent's own deletion may have failed after the cascade committed — check for a separate event with agent_id = cascaded_from_agent_id to confirm. Unset on a direct deletion. + - `created_at: optional string` When this activity occurred. @@ -149434,13 +153682,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactPublished object` + - `CcrAgentProxyAnthropicOidcTokenExchanged object` - A new version of an artifact was published — for an artifact created in a chat this is the action that made it publicly viewable; for an artifact created outside a chat it is recorded when the artifact is saved, including saves of private artifacts, except that automatic saves made while a person keeps editing may be recorded periodically for that person rather than once per save; changes to who can access the artifact are recorded separately as claude_artifact_sharing_updated. + The Claude Code agent proxy exchanged a minted identity token for short-lived credentials in the organization's own cloud. Recorded for exchange targets only (such as "aws" and "gcp"; the "direct" target has no exchange step). One event is recorded per exchange call; a request served from the proxy's exchanged-credential cache does not exchange again and is not recorded here. Per-request detail for traffic the credentials were injected into is available in the agent proxy network events. - - `type: optional "claude_artifact_published"` + - `type: optional "ccr_agent_proxy_anthropic_oidc_token_exchanged"` - default: claude_artifact_published + default: ccr_agent_proxy_anthropic_oidc_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -149648,25 +153896,41 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `artifact_type: string` + - `agent_id: string` - Artifact type (code, html, react, etc.) + The Claude Code agent that owns the session, e.g. "cagt_01HX...". Empty when the session is not owned by an agent. - - `claude_published_artifact_id: string` + - `credential_id: string` - The published artifact's identifier. + The credential row the exchange ran for, e.g. "apc_01HX...". - - `id: optional string` + - `profile_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - - `actor_outside_organization: optional boolean or null` + - `role_arn: string` - True when the person who published belongs to a different organization than the artifact's owner organization, such as someone invited by email who accepted editor access. Absent on older events; treat absence as false. + The IAM role the token was exchanged for ("aws" target), e.g. "arn:aws:iam::123456789012:role/example-role". Empty for other targets. - - `claude_artifact_version_id: optional string or null` + - `role_session_name: string` - The version identifier recorded as live by this publish. + The role session name the temporary credentials were issued under ("aws" target), matching the session name recorded in the organization's own AWS CloudTrail log. Empty for other targets. + + - `service_account: string` + + The Google Cloud service account the federated token was exchanged into ("gcp" target), e.g. "example@example-project.iam.gserviceaccount.com". Empty when the federated token was used directly, and for other targets. + + - `session_id: string` + + The Claude Code session whose request triggered the exchange, e.g. "cse_01HX..." or "session_01HX..." (the session's ID is carried in whichever tagged form the session's credential presented). + + - `target: string` + + The credential's configured target, e.g. "aws" or "gcp". + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -149674,13 +153938,11 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `description: optional string or null` - - No longer populated: the gallery-card description supplied at publish time is intentionally omitted from this feed. + - `credentials_expire_at: optional string or null` - - `is_redeploy: optional boolean or null` + When the exchanged cloud credentials expire. Unset when the cloud provider did not return a lifetime; such credentials were used for the single triggering request and not cached. - True when the publish updated an existing artifact; false when the publish created the artifact. + format: date-time - `organization_id: optional string or null` @@ -149690,19 +153952,33 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `title: string` + - `slack_threads: optional array of object` - **Deprecated** + The Slack threads in the session's provenance, when the session originated from Slack. At most 64 entries are included. - No longer populated. For Code Artifacts (`claude_published_artifact_id` starts with `cart_`), find that artifact in List Code Artifacts: the title is the `name` of its `versions` entry whose `id` equals `claude_artifact_version_id`, while that version is still retained (a `name` equal to the version id means the title is no longer kept). For other artifacts, look up `claude_artifact_version_id` with Get artifact metadata. That id is absent when the publish isn't linked to an artifact version, and neither lookup works once the artifact is deleted. + - `channel_id: string` - - `ClaudeArtifactSharingUpdated object` + The Slack channel ID, e.g. "C0123ABCDE". - An artifact's sharing settings were updated. + - `enterprise_id: string` - - `type: optional "claude_artifact_sharing_updated"` + The Slack Enterprise Grid organization ID, e.g. "E0123ABCDE". Empty for workspaces that are not part of an Enterprise Grid. - default: claude_artifact_sharing_updated + - `team_id: string` + + The Slack workspace (team) ID, e.g. "T0123ABCDE". + + - `thread_ts: string` + + The Slack thread timestamp within the channel, e.g. "1714000000.123456". Empty for a session bound to a whole channel rather than to one thread. + + - `CcrAgentProxyAnthropicOidcTokenMinted object` + + The Claude Code agent proxy minted a short-lived identity token for an anthropic_oidc credential. One event is recorded per fresh token issuance; a request served from the proxy's short-lived token cache does not mint a new token and is not recorded here. Per-request detail for traffic the credential was injected into is available in the agent proxy network events. + + - `type: optional "ccr_agent_proxy_anthropic_oidc_token_minted"` + + default: ccr_agent_proxy_anthropic_oidc_token_minted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -149910,67 +154186,63 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `audience: array of Organization or Users or AnyoneWithLink` - - The artifact's sharing audience after the change. If empty, the artifact is visible only to its owner. - - - `Organization object` + - `agent_id: string` - Sharing audience: visible to the owning organization. + The Claude Code agent that owns the session, e.g. "cagt_01HX...". Empty when the session is not owned by an agent. - - `type: optional "organization"` + - `audience: string` - default: organization + The minted token's audience: the fixed token-exchange audience for the "aws" target, the credential row's Google workload identity pool provider URL for the "gcp" target, or the row's configured audience for the "direct" target. - - `Users object` + - `credential_id: string` - Sharing audience: visible to an explicit allowlist of users. + The credential row the token was minted for, e.g. "apc_01HX...". - - `type: optional "users"` + - `issuance_path: "broker_report" or "direct" or "proxy_record" or "unspecified"` - default: users + Which record of the issuance this event is. Unspecified on events published before this field existed. - - `AnyoneWithLink object` + - `"broker_report"` - Sharing audience: anyone with the link, including anonymous viewers (an artifact shared to the open internet). + - `"direct"` - - `type: optional "anyone_with_link"` + - `"proxy_record"` - default: anyone_with_link + - `"unspecified"` - - `claude_artifact_id: string` + - `mint_jti: string` - The artifact's identifier. + The identifier of the mint attempt, a bare UUID. One mint through the Claude Tag mint broker produces two minted events that carry the same value, the broker's own report and the agent proxy's record. A reader counts issuances from the broker's reports by distinct report_id. Each non-empty value belongs to at most one issued token. Empty on events for mints that did not travel through the broker. - - `claude_artifact_version_id: string` + - `profile_id: string` - The artifact version's identifier. + The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - - `id: optional string` + - `report_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The identity of the mint broker's report itself, a bare UUID. The broker mints it once per report and delivery retries repeat it, so several events carrying one report_id are duplicates of one report and collapse to one issuance. Present on broker_report events only. - - `created_at: optional string` + - `session_id: string` - When this activity occurred. + The Claude Code session whose request triggered the mint, e.g. "cse_01HX..." or "session_01HX..." (the session's ID is carried in whichever tagged form the session's credential presented). - format: date-time + - `target: string` - - `new_mode: optional string or null` + The credential's configured target, e.g. "aws", "gcp", or "direct". - The read-axis sharing mode after the change: `owner`, `users`, `org`, or `public` (anyone on the internet). + - `test_mint: string` - - `new_user_count: optional number or null` + Set when the token was minted by the gateway verification test that runs while an admin registers a custom-gateway audience: "wrong_subject" for the probe token the gateway must reject, "right_subject" for the control token it must accept. Empty for tokens minted for live sessions. - The number of accounts on the explicit read allowlist after the change. Only meaningful when `new_mode` is `users`. + - `id: optional string` - - `new_write_mode: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - The write-axis sharing mode after the change: `owner`, `users`, or `org`. + - `created_at: optional string` - - `new_write_user_count: optional number or null` + When this activity occurred. - The number of accounts on the explicit write allowlist after the change. Only meaningful when `new_write_mode` is `users`. + format: date-time - `organization_id: optional string or null` @@ -149980,61 +154252,43 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_mode: optional string or null` - - The read-axis sharing mode before the change: `owner`, `users`, `org`, or `public` (anyone on the internet). - - - `previous_read_agent_ids: optional array of string` - - The Claude agents (`cagt_…` identifiers) whose channel held view access to the artifact before the change. Empty when none. - - - `previous_read_group_ids: optional array of string` - - The admin-managed groups (`rbac_group_…` identifiers) whose members held view access to the artifact before the change. Edit access implies view access, so every `previous_write_group_ids` entry also appears here. Empty when none. - - - `previous_user_count: optional number or null` - - The number of accounts on the explicit read allowlist before the change. Only meaningful when `previous_mode` is `users`. - - - `previous_write_agent_ids: optional array of string` - - The Claude agents (`cagt_…` identifiers) whose channel held edit access to the artifact before the change. Empty when none. + - `slack_threads: optional array of object` - - `previous_write_group_ids: optional array of string` + The Slack threads in the session's provenance, when the session originated from Slack. At most 64 entries are included. - The admin-managed groups (`rbac_group_…` identifiers) whose members held edit access to the artifact before the change. Empty when none. + - `channel_id: string` - - `previous_write_mode: optional string or null` + The Slack channel ID, e.g. "C0123ABCDE". - The write-axis sharing mode before the change: `owner`, `users`, or `org`. + - `enterprise_id: string` - - `previous_write_user_count: optional number or null` + The Slack Enterprise Grid organization ID, e.g. "E0123ABCDE". Empty for workspaces that are not part of an Enterprise Grid. - The number of accounts on the explicit write allowlist before the change. Only meaningful when `previous_write_mode` is `users`. + - `team_id: string` - - `read_agent_ids: optional array of string` + The Slack workspace (team) ID, e.g. "T0123ABCDE". - The Claude agents (`cagt_…` identifiers) whose channel holds view access to the artifact after the change. Reflects the standing grants, so it is populated on every sharing update for an artifact shared with agents, not only when an agent grant changed. Empty when none. + - `thread_ts: string` - - `read_group_ids: optional array of string` + The Slack thread timestamp within the channel, e.g. "1714000000.123456". Empty for a session bound to a whole channel rather than to one thread. - The admin-managed groups (`rbac_group_…` identifiers) whose members hold view access to the artifact after the change (including every `write_group_ids` entry). Reflects the standing grants, so it is populated on every sharing update for an artifact shared with groups, not only when a group grant changed. Empty when none. + - `token_expires_at: optional string or null` - - `write_agent_ids: optional array of string` + When the minted token expires. - The Claude agents (`cagt_…` identifiers) whose channel holds edit access to the artifact after the change. Reflects the standing grants, so it is populated on every sharing update for an artifact shared with agents, not only when an agent grant changed. Empty when none. + format: date-time - - `write_group_ids: optional array of string` + - `token_jti: optional string or null` - The admin-managed groups (`rbac_group_…` identifiers) whose members hold edit access to the artifact after the change. Reflects the standing grants, like `read_group_ids`. Empty when none. + The issued token's unique identifier (its `jti` claim), for matching this event to the token a gateway or cloud provider received; not the same value as mint_jti. Set only when issuance_path is `proxy_record` or `direct`, for live sessions, and only when the identifier could be read. - - `ClaudeArtifactViewed object` + - `CcrAgentProxyCredentialCreated object` - An artifact was viewed. + A Claude Code agent proxy credential was created. Credentials hold the secrets the agent proxy injects into requests Claude Code sessions send to approved external services; each credential belongs to an agent proxy profile. Audit events carry only credential names and settings, never the secret material itself. - - `type: optional "claude_artifact_viewed"` + - `type: optional "ccr_agent_proxy_credential_created"` - default: claude_artifact_viewed + default: ccr_agent_proxy_credential_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -150242,17 +154496,61 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` + - `credential_id: string` - The artifact's identifier. + The credential that was created, e.g. "apc_01HX...". + + - `credential_type: string` + + The kind of credential, e.g. "bearer", "basic", "github_app", "mtls". + + - `display_name: string` + + The credential's display name. + + - `host_constraint_truncated: boolean` + + Whether host_constraint was capped and omits some of the configured host name patterns. + + - `profile_id: string` + + The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_artifact_version_id: optional string or null` + - `authorization_basis: optional object or null` - The version of the artifact the user was served, when known. + How the actor was authorized to create this credential. Absent on system-initiated operations and on credentials created via a provisioning link. + + - `slack_channel_id: string` + + The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + + - `slack_enterprise_id: string` + + The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + + - `slack_team_id: string` + + The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + + - `via_entitlement_leg: boolean` + + True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + + - `via_full_manage: boolean` + + True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + + - `granting_role_ids: optional array of string` + + The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + + - `via_account_assignment: optional boolean or null` + + True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. - `created_at: optional string` @@ -150260,6 +154558,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `host_constraint: optional array of string` + + The host name patterns the credential may be sent to, e.g. "api.example.com" or "*.example.com". At most 100 entries are included; host_constraint_truncated indicates when the configured set is larger. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -150268,13 +154570,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AuditLogExportAccessed object` + - `CcrAgentProxyCredentialDeleted object` - Audit log export file was accessed/downloaded via signed URL. + A Claude Code agent proxy credential was deleted. Its secret material was removed and can no longer be sent to any host. - - `type: optional "audit_log_export_accessed"` + - `type: optional "ccr_agent_proxy_credential_deleted"` - default: audit_log_export_accessed + default: ccr_agent_proxy_credential_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -150482,10 +154784,50 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `credential_id: string` + + The credential that was deleted, e.g. "apc_01HX...". + + - `profile_id: string` + + The agent proxy profile the credential belonged to, e.g. "capp_01HX...". Carried so the deletion can be correlated with the profile's other audit events after the credential row no longer exists. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `authorization_basis: optional object or null` + + How the actor was authorized to delete this credential. + + - `slack_channel_id: string` + + The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + + - `slack_enterprise_id: string` + + The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + + - `slack_team_id: string` + + The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + + - `via_entitlement_leg: boolean` + + True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + + - `via_full_manage: boolean` + + True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + + - `granting_role_ids: optional array of string` + + The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + + - `via_account_assignment: optional boolean or null` + + True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. + - `created_at: optional string` When this activity occurred. @@ -150500,13 +154842,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `AuditLogExportStarted object` + - `CcrAgentProxyCredentialRotated object` - Audit log export was initiated. + A Claude Code agent proxy credential's secret material was replaced. The replacement keeps the same name, profile, and allowed hosts under a new credential identifier, and everything that referenced the old credential now uses the replacement. - - `type: optional "audit_log_export_started"` + - `type: optional "ccr_agent_proxy_credential_rotated"` - default: audit_log_export_started + default: ccr_agent_proxy_credential_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -150714,20 +155056,76 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `credential_id: string` + + The replacement credential, e.g. "apc_01HX...". + + - `credential_type: string` + + The kind of credential, e.g. "bearer", "basic", "github_app", "mtls". + + - `destinations_repointed: number` + + The number of agent proxy destinations that referenced the old credential and now reference the replacement. + + - `display_name: string` + + The credential's display name. + + - `previous_credential_id: string` + + The credential that was replaced, e.g. "apc_01HX...". + + - `profile_id: string` + + The agent proxy profile the credential belongs to, e.g. "capp_01HX...". + + - `rules_repointed: number` + + The number of agent proxy rules that referenced the old credential and now reference the replacement. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `authorization_basis: optional object or null` + + How the actor was authorized to rotate this credential. Absent on automatic rotations initiated by the system rather than by a user. + + - `slack_channel_id: string` + + The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + + - `slack_enterprise_id: string` + + The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + + - `slack_team_id: string` + + The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + + - `via_entitlement_leg: boolean` + + True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + + - `via_full_manage: boolean` + + True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + + - `granting_role_ids: optional array of string` + + The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + + - `via_account_assignment: optional boolean or null` + + True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. + - `created_at: optional string` When this activity occurred. format: date-time - - `from_date: optional string or null` - - Start date of the export range - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -150736,17 +155134,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `to_date: optional string or null` - - End date of the export range - - - `BillingEmailsUpdated object` + - `CcrAgentProxyCredentialUpdated object` - The organization's billing email recipients were updated. + A Claude Code agent proxy credential's settings were updated. Only the display name and the allowed host patterns can be updated; the secret material can only be replaced through a rotation. - - `type: optional "billing_emails_updated"` + - `type: optional "ccr_agent_proxy_credential_updated"` - default: billing_emails_updated + default: ccr_agent_proxy_credential_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -150954,13 +155348,57 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `credential_id: string` + + The credential that was updated, e.g. "apc_01HX...". + + - `display_name: string` + + The credential's display name after the update. + + - `host_constraint_truncated: boolean` + + Whether host_constraint was capped and omits some of the configured host name patterns. + + - `profile_id: string` + + The agent proxy profile the credential belongs to, e.g. "capp_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `cc_email_count: optional number or null` + - `authorization_basis: optional object or null` - Number of 'cc' email recipients. + How the actor was authorized to update this credential. + + - `slack_channel_id: string` + + The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + + - `slack_enterprise_id: string` + + The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + + - `slack_team_id: string` + + The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + + - `via_entitlement_leg: boolean` + + True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + + - `via_full_manage: boolean` + + True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + + - `granting_role_ids: optional array of string` + + The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + + - `via_account_assignment: optional boolean or null` + + True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. - `created_at: optional string` @@ -150968,6 +155406,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `host_constraint: optional array of string` + + The host name patterns the credential may be sent to after the update, e.g. "api.example.com" or "*.example.com". Populated only when the update changed them. At most 100 entries are included; host_constraint_truncated indicates when the configured set is larger. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -150976,21 +155418,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `primary_email_set: optional boolean or null` - - Whether a primary billing email is configured. - - - `to_email_count: optional number or null` + - `updated_fields: optional array of string` - Number of 'to' email recipients. + Names of the settings included in the update: "display_name", "host_constraint". - - `CcrAgentCreated object` + - `CcrAgentProxyDestinationDeleted object` - A Claude Code agent was created. + An agent proxy destination was deleted. - - `type: optional "ccr_agent_created"` + - `type: optional "ccr_agent_proxy_destination_deleted"` - default: ccr_agent_created + default: ccr_agent_proxy_destination_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -151198,44 +155636,32 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The agent that was created, e.g. "cagt_01HX...". - - - `default_source_urls_truncated: boolean` - - Whether default_source_urls was capped and omits some of the granted repositories. - - - `display_name: string` + - `deleted_with_profile: boolean` - The agent's display name at creation time. + True when this deletion happened as part of deleting the whole profile (profile_id names the deleted profile). At most one of deleted_with_profile / cascade_trigger_credential_id is set; both unset means a direct DeleteAgentProxyDestination call. - - `omitted_source_url_count: number` + - `destination_id: string` - Number of default repository entries that could not be safely rendered as a credential-free URL and were omitted from default_source_urls. A non-zero value with an empty list means repositories were granted but could not be displayed — not that all repositories were removed. + The destination that was deleted, e.g. "apd_01HX...". - - `slug: string` + - `profile_id: string` - The agent's URL-safe identifier, unique within the organization. + The agent proxy profile the destination belonged to, e.g. "capp_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `cascade_trigger_credential_id: optional string or null` + + Set when this deletion was triggered by a cascading DeleteAgentProxyCredential (the destination's client_tls_credential was the deleted credential). Unset for a direct DeleteAgentProxyDestination call and for the profile-delete cascade (see deleted_with_profile). + - `created_at: optional string` When this activity occurred. format: date-time - - `default_source_urls: optional array of string` - - The repository URLs the agent works on by default, reduced to scheme, host, and path — credentials and query parameters are never included. Empty with a zero omitted_source_url_count means the agent was created without any default repositories; empty with a non-zero count means repositories were granted but could not be safely rendered. At most 100 entries are included; default_source_urls_truncated indicates when more were granted. - - - `guest_policy: optional string or null` - - Whether the agent responds in Slack channels that include guest users, and in Slack Connect channels shared with other organizations: "allow", "restrict", or "channel" (the agent responds, using only that channel's own content and configuration). In Slack Connect channels "allow" gives at most "channel" access. Omitted when the agent inherits the default policy. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -151244,17 +155670,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `slack_alias: optional string or null` - - The Slack trigger word that routes mentions to this agent. An empty value means the agent responds to bare "@Claude" mentions. Omitted when the agent is not addressable from Slack. - - - `CcrAgentDeleted object` + - `CcrAgentProxyNetworkEventsListed object` - A Claude Code agent was deleted. + A Claude Code network activity export was accessed for the given hour. - - `type: optional "ccr_agent_deleted"` + - `type: optional "ccr_agent_proxy_network_events_listed"` - default: ccr_agent_deleted + default: ccr_agent_proxy_network_events_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -151462,29 +155884,23 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The agent that was deleted, e.g. "cagt_01HX...". - - - `cascaded_agent_ids_truncated: boolean` + - `failed: boolean` - True when more agents were deleted in this cascade than are individually recorded. On a cascade parent event (cascaded_from_agent_id unset), cascaded_agent_ids is capped at 100. On a cascade child event (cascaded_from_agent_id set, emitted when the parent deletion failed after committing child deletions), one event is emitted per deleted child up to 100, and this field indicates additional children were deleted in the same cascade. + True when the export request did not complete successfully. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `cascaded_agent_ids: optional array of string` - - Agents assigned to individual Slack channels that were also deleted because agent_id was the agent assigned to their entire Slack workspace. Empty when no such agents were deleted, and always empty on a cascade child event (cascaded_from_agent_id set) — the child's siblings are recorded as their own events, not listed here. Capped at 100 entries; cascaded_agent_ids_truncated is set when the actual count exceeded the cap. + - `created_at: optional string` - - `cascaded_from_agent_id: optional string or null` + When this activity occurred. - When set, the Slack workspace's dedicated agent whose deletion attempt caused this agent to be deleted. The parent's own deletion may have failed after the cascade committed — check for a separate event with agent_id = cascaded_from_agent_id to confirm. Unset on a direct deletion. + format: date-time - - `created_at: optional string` + - `hour: optional string or null` - When this activity occurred. + The UTC hour that was exported. format: date-time @@ -151496,13 +155912,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyAnthropicOidcTokenExchanged object` + - `CcrAgentProxyProfileBound object` - The Claude Code agent proxy exchanged a minted identity token for short-lived credentials in the organization's own cloud. Recorded for exchange targets only (such as "aws" and "gcp"; the "direct" target has no exchange step). One event is recorded per exchange call; a request served from the proxy's exchanged-credential cache does not exchange again and is not recorded here. Per-request detail for traffic the credentials were injected into is available in the agent proxy network events. + A Claude Code agent proxy profile was bound to a scope, applying its policy to Claude Code sessions in that scope. - - `type: optional "ccr_agent_proxy_anthropic_oidc_token_exchanged"` + - `type: optional "ccr_agent_proxy_profile_bound"` - default: ccr_agent_proxy_anthropic_oidc_token_exchanged + default: ccr_agent_proxy_profile_bound - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -151710,37 +156126,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The Claude Code agent that owns the session, e.g. "cagt_01HX...". Empty when the session is not owned by an agent. - - - `credential_id: string` - - The credential row the exchange ran for, e.g. "apc_01HX...". - - `profile_id: string` - The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - - - `role_arn: string` - - The IAM role the token was exchanged for ("aws" target), e.g. "arn:aws:iam::123456789012:role/example-role". Empty for other targets. - - - `role_session_name: string` - - The role session name the temporary credentials were issued under ("aws" target), matching the session name recorded in the organization's own AWS CloudTrail log. Empty for other targets. - - - `service_account: string` - - The Google Cloud service account the federated token was exchanged into ("gcp" target), e.g. "example@example-project.iam.gserviceaccount.com". Empty when the federated token was used directly, and for other targets. + The profile that was bound, e.g. "capp_01HX...". - - `session_id: string` + - `scope_id: string` - The Claude Code session whose request triggered the exchange, e.g. "cse_01HX..." or "session_01HX..." (the session's ID is carried in whichever tagged form the session's credential presented). + The identifier of the scope the profile was bound to. - - `target: string` + - `scope_kind: string` - The credential's configured target, e.g. "aws" or "gcp". + The kind of scope the profile was bound to: "organization", "environment", "account", or "agent". - `id: optional string` @@ -151752,12 +156148,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `credentials_expire_at: optional string or null` - - When the exchanged cloud credentials expire. Unset when the cloud provider did not return a lifetime; such credentials were used for the single triggering request and not cached. - - format: date-time - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -151766,33 +156156,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `slack_threads: optional array of object` - - The Slack threads in the session's provenance, when the session originated from Slack. At most 64 entries are included. - - - `channel_id: string` - - The Slack channel ID, e.g. "C0123ABCDE". - - - `enterprise_id: string` - - The Slack Enterprise Grid organization ID, e.g. "E0123ABCDE". Empty for workspaces that are not part of an Enterprise Grid. - - - `team_id: string` - - The Slack workspace (team) ID, e.g. "T0123ABCDE". - - - `thread_ts: string` - - The Slack thread timestamp within the channel, e.g. "1714000000.123456". Empty for a session bound to a whole channel rather than to one thread. - - - `CcrAgentProxyAnthropicOidcTokenMinted object` + - `CcrAgentProxyProfileCreated object` - The Claude Code agent proxy minted a short-lived identity token for an anthropic_oidc credential. One event is recorded per fresh token issuance; a request served from the proxy's short-lived token cache does not mint a new token and is not recorded here. Per-request detail for traffic the credential was injected into is available in the agent proxy network events. + A Claude Code agent proxy profile was created. Agent proxy profiles are named, reusable bundles of access policy that administrators bind to parts of the organization. - - `type: optional "ccr_agent_proxy_anthropic_oidc_token_minted"` + - `type: optional "ccr_agent_proxy_profile_created"` - default: ccr_agent_proxy_anthropic_oidc_token_minted + default: ccr_agent_proxy_profile_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -152000,53 +156370,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The Claude Code agent that owns the session, e.g. "cagt_01HX...". Empty when the session is not owned by an agent. - - - `audience: string` - - The minted token's audience: the fixed token-exchange audience for the "aws" target, the credential row's Google workload identity pool provider URL for the "gcp" target, or the row's configured audience for the "direct" target. - - - `credential_id: string` - - The credential row the token was minted for, e.g. "apc_01HX...". - - - `issuance_path: "broker_report" or "direct" or "proxy_record" or "unspecified"` - - Which record of the issuance this event is. Unspecified on events published before this field existed. - - - `"broker_report"` - - - `"direct"` - - - `"proxy_record"` - - - `"unspecified"` - - - `mint_jti: string` + - `display_name: string` - The identifier of the mint attempt, a bare UUID. One mint through the Claude Tag mint broker produces two minted events that carry the same value, the broker's own report and the agent proxy's record. A reader counts issuances from the broker's reports by distinct report_id. Each non-empty value belongs to at most one issued token. Empty on events for mints that did not travel through the broker. + The profile's display name at creation time. - `profile_id: string` - The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - - - `report_id: string` - - The identity of the mint broker's report itself, a bare UUID. The broker mints it once per report and delivery retries repeat it, so several events carrying one report_id are duplicates of one report and collapse to one issuance. Present on broker_report events only. - - - `session_id: string` - - The Claude Code session whose request triggered the mint, e.g. "cse_01HX..." or "session_01HX..." (the session's ID is carried in whichever tagged form the session's credential presented). - - - `target: string` - - The credential's configured target, e.g. "aws", "gcp", or "direct". + The profile that was created, e.g. "capp_01HX...". - - `test_mint: string` + - `slug: string` - Set when the token was minted by the gateway verification test that runs while an admin registers a custom-gateway audience: "wrong_subject" for the probe token the gateway must reject, "right_subject" for the control token it must accept. Empty for tokens minted for live sessions. + The profile's URL-safe identifier, unique within the organization. - `id: optional string` @@ -152058,51 +156392,53 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `organization_id: optional string or null` + - `github_access: optional array of object` - Organization ID this activity is associated with + The GitHub repository access the profile grants, one entry per GitHub App installation. Empty when the profile grants no GitHub access. - - `organization_uuid: optional string or null` + - `access_mode: string` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + How repository access is granted: "none" (no access), "list" (exactly the repositories in repos), or "all" — a legacy value for policies created before per-repository grants were required; it can no longer be assigned. - - `slack_threads: optional array of object` + - `github_installation_id: number` - The Slack threads in the session's provenance, when the session originated from Slack. At most 64 entries are included. + The GitHub App installation the access applies to. - - `channel_id: string` + - `repo_count: number` - The Slack channel ID, e.g. "C0123ABCDE". + The total number of repositories granted, including any omitted from repos. - - `enterprise_id: string` + - `repos_truncated: boolean` - The Slack Enterprise Grid organization ID, e.g. "E0123ABCDE". Empty for workspaces that are not part of an Enterprise Grid. + Whether repos was capped and omits some of the granted repositories. - - `team_id: string` + - `ghe_configuration_id: optional number or null` - The Slack workspace (team) ID, e.g. "T0123ABCDE". + The GitHub host configuration this installation belongs to. Distinguishes installations with the same numeric installation ID across github.com and GitHub Enterprise Server hosts. Absent for github.com installations. - - `thread_ts: string` + - `repo_ids: optional array of number` - The Slack thread timestamp within the channel, e.g. "1714000000.123456". Empty for a session bound to a whole channel rather than to one thread. + The numeric GitHub repository IDs the profile grants access to, in the same order as repos (and subject to the same 100-entry cap). These IDs are the authoritative identity of the granted repositories — access is enforced against them, not against the display names in repos. - - `token_expires_at: optional string or null` + - `repos: optional array of string` - When the minted token expires. + Repository names (owner/name) the profile grants access to, populated when access_mode is "list". Names are display-only labels resolved when the event was recorded and may lag a repository rename; the entries in repo_ids are the authoritative identity of the granted repositories. A repository whose name is unavailable is listed as its numeric GitHub repository ID instead. At most 100 entries are included; repos_truncated indicates when the granted set is larger. - format: date-time + - `organization_id: optional string or null` - - `token_jti: optional string or null` + Organization ID this activity is associated with - The issued token's unique identifier (its `jti` claim), for matching this event to the token a gateway or cloud provider received; not the same value as mint_jti. Set only when issuance_path is `proxy_record` or `direct`, for live sessions, and only when the identifier could be read. + - `organization_uuid: optional string or null` - - `CcrAgentProxyCredentialCreated object` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - A Claude Code agent proxy credential was created. Credentials hold the secrets the agent proxy injects into requests Claude Code sessions send to approved external services; each credential belongs to an agent proxy profile. Audit events carry only credential names and settings, never the secret material itself. + - `CcrAgentProxyProfileDeleted object` - - `type: optional "ccr_agent_proxy_credential_created"` + A Claude Code agent proxy profile was deleted, removing its policy from everything it was bound to. - default: ccr_agent_proxy_credential_created + - `type: optional "ccr_agent_proxy_profile_deleted"` + + default: ccr_agent_proxy_profile_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -152310,61 +156646,37 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` - - The credential that was created, e.g. "apc_01HX...". - - - `credential_type: string` - - The kind of credential, e.g. "bearer", "basic", "github_app", "mtls". - - - `display_name: string` - - The credential's display name. - - - `host_constraint_truncated: boolean` - - Whether host_constraint was capped and omits some of the configured host name patterns. - - - `profile_id: string` - - The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `authorization_basis: optional object or null` + - `deleted_credential_count: number` - How the actor was authorized to create this credential. Absent on system-initiated operations and on credentials created via a provisioning link. + Number of credentials deleted together with the profile — deleting a profile also deletes the credentials attached to it. Each deleted credential additionally emits its own ccr_agent_proxy_credential_deleted activity, at most 100 per profile deletion. Best-effort: when deleted_credentials_unknown is true the count could not be determined and 0 here does not mean the profile had no credentials. - - `slack_channel_id: string` + - `deleted_credentials_unknown: boolean` - The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + Whether the number of credentials deleted with the profile could not be determined. When true, deleted_credential_count is 0 and no per-credential deletion activities were emitted, even though the deletion may have destroyed credentials. - - `slack_enterprise_id: string` + - `deleted_destination_count: number` - The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + Number of destinations deleted together with the profile. Each deleted destination additionally emits its own ccr_agent_proxy_destination_deleted activity with deleted_with_profile set, at most 100 per profile deletion. Best-effort: when deleted_destinations_unknown is true the count could not be determined and 0 here does not mean the profile had no destinations. - - `slack_team_id: string` + - `deleted_destinations_unknown: boolean` - The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + Whether the number of destinations deleted with the profile could not be determined. Same semantics as deleted_credentials_unknown. - - `via_entitlement_leg: boolean` + - `deleted_rule_count: number` - True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + Number of rules deleted together with the profile. Each deleted rule additionally emits its own ccr_agent_proxy_rule_deleted activity with deleted_with_profile set, at most 100 per profile deletion. Best-effort: when deleted_rules_unknown is true the count could not be determined and 0 here does not mean the profile had no rules. - - `via_full_manage: boolean` + - `deleted_rules_unknown: boolean` - True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + Whether the number of rules deleted with the profile could not be determined. Same semantics as deleted_credentials_unknown. - - `granting_role_ids: optional array of string` + - `profile_id: string` - The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + The profile that was deleted, e.g. "capp_01HX...". - - `via_account_assignment: optional boolean or null` + - `id: optional string` - True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -152372,10 +156684,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `host_constraint: optional array of string` - - The host name patterns the credential may be sent to, e.g. "api.example.com" or "*.example.com". At most 100 entries are included; host_constraint_truncated indicates when the configured set is larger. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -152384,13 +156692,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyCredentialDeleted object` + - `CcrAgentProxyProfileUnbound object` - A Claude Code agent proxy credential was deleted. Its secret material was removed and can no longer be sent to any host. + A Claude Code agent proxy profile was unbound from a scope, removing its policy from Claude Code sessions in that scope. - - `type: optional "ccr_agent_proxy_credential_deleted"` + - `type: optional "ccr_agent_proxy_profile_unbound"` - default: ccr_agent_proxy_credential_deleted + default: ccr_agent_proxy_profile_unbound - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -152598,49 +156906,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` - - The credential that was deleted, e.g. "apc_01HX...". - - `profile_id: string` - The agent proxy profile the credential belonged to, e.g. "capp_01HX...". Carried so the deletion can be correlated with the profile's other audit events after the credential row no longer exists. - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `authorization_basis: optional object or null` - - How the actor was authorized to delete this credential. - - - `slack_channel_id: string` - - The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". - - - `slack_enterprise_id: string` - - The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. - - - `slack_team_id: string` - - The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". - - - `via_entitlement_leg: boolean` - - True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + The profile that was unbound, e.g. "capp_01HX...". - - `via_full_manage: boolean` + - `scope_id: string` - True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + The identifier of the scope the profile was unbound from. - - `granting_role_ids: optional array of string` + - `scope_kind: string` - The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + The kind of scope the profile was unbound from: "organization", "environment", "account", or "agent". - - `via_account_assignment: optional boolean or null` + - `id: optional string` - True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -152656,13 +156936,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyCredentialRotated object` + - `CcrAgentProxyProfileUpdated object` - A Claude Code agent proxy credential's secret material was replaced. The replacement keeps the same name, profile, and allowed hosts under a new credential identifier, and everything that referenced the old credential now uses the replacement. + A Claude Code agent proxy profile's configuration was updated. - - `type: optional "ccr_agent_proxy_credential_rotated"` + - `type: optional "ccr_agent_proxy_profile_updated"` - default: ccr_agent_proxy_credential_rotated + default: ccr_agent_proxy_profile_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -152870,75 +157150,63 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` - - The replacement credential, e.g. "apc_01HX...". - - - `credential_type: string` - - The kind of credential, e.g. "bearer", "basic", "github_app", "mtls". - - - `destinations_repointed: number` - - The number of agent proxy destinations that referenced the old credential and now reference the replacement. - - - `display_name: string` + - `profile_id: string` - The credential's display name. + The profile that was updated, e.g. "capp_01HX...". - - `previous_credential_id: string` + - `id: optional string` - The credential that was replaced, e.g. "apc_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - - `profile_id: string` + - `created_at: optional string` - The agent proxy profile the credential belongs to, e.g. "capp_01HX...". + When this activity occurred. - - `rules_repointed: number` + format: date-time - The number of agent proxy rules that referenced the old credential and now reference the replacement. + - `github_access_changes: optional array of object` - - `id: optional string` + How the profile's GitHub repository access changed, one entry per GitHub App installation whose access changed. Empty when the update did not change GitHub access. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_mode: string` - - `authorization_basis: optional object or null` + How repository access is granted after the change: "none" (no access), "list" (access is restricted to an explicit repository list — repos_added/repos_removed carry this change's delta and repo_count the post-change total), or "all" — a legacy value for policies created before per-repository grants were required; it can no longer be assigned. - How the actor was authorized to rotate this credential. Absent on automatic rotations initiated by the system rather than by a user. + - `github_installation_id: number` - - `slack_channel_id: string` + The GitHub App installation the change applies to. - The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + - `repo_count: number` - - `slack_enterprise_id: string` + The total number of repositories granted after the change. - The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + - `repos_truncated: boolean` - - `slack_team_id: string` + Whether repos_added or repos_removed was capped and omits some of the changed repositories. - The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + - `ghe_configuration_id: optional number or null` - - `via_entitlement_leg: boolean` + The GitHub host configuration this installation belongs to. Distinguishes installations with the same numeric installation ID across github.com and GitHub Enterprise Server hosts. Absent for github.com installations. - True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + - `previous_access_mode: optional string or null` - - `via_full_manage: boolean` + How repository access was granted before the change. Present only when the access mode changed. - True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + - `repo_ids_added: optional array of number` - - `granting_role_ids: optional array of string` + The numeric GitHub repository IDs added to the granted set, in the same order as repos_added (and subject to the same 100-entry cap). These IDs are the authoritative identity of the added repositories — access is enforced against them, not against the display names in repos_added. - The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + - `repo_ids_removed: optional array of number` - - `via_account_assignment: optional boolean or null` + The numeric GitHub repository IDs removed from the granted set, in the same order as repos_removed (and subject to the same 100-entry cap). These IDs are the authoritative identity of the removed repositories. - True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. + - `repos_added: optional array of string` - - `created_at: optional string` + Repository names (owner/name) added to the granted set. Names are display-only labels resolved when the event was recorded and may lag a repository rename; the entries in repo_ids_added are the authoritative identity of the added repositories. A repository whose name is unavailable is listed as its numeric GitHub repository ID instead. At most 100 entries are included; repos_truncated indicates when more were added. Empty when the change involves "all" access, which grants every repository regardless of any explicit list. - When this activity occurred. + - `repos_removed: optional array of string` - format: date-time + Repository names (owner/name) removed from the granted set. Same rendering, cap, and "all" handling as repos_added; repo_ids_removed carries the authoritative identity of the removed repositories. - `organization_id: optional string or null` @@ -152948,13 +157216,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyCredentialUpdated object` + - `updated_fields: optional array of string` - A Claude Code agent proxy credential's settings were updated. Only the display name and the allowed host patterns can be updated; the secret material can only be replaced through a rotation. + Names of the configuration fields included in the update, e.g. "display_name", "github_installation_permissions". - - `type: optional "ccr_agent_proxy_credential_updated"` + - `CcrAgentProxyProvisioningCredentialRejected object` - default: ccr_agent_proxy_credential_updated + An organization owner rejected a credential that a teammate submitted via an agent proxy provisioning link: the credential and its disabled rule were deleted and the link was revoked. The actor is the owner; the submitter is recorded for attribution. + + - `type: optional "ccr_agent_proxy_provisioning_credential_rejected"` + + default: ccr_agent_proxy_provisioning_credential_rejected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -153164,55 +157436,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `credential_id: string` - The credential that was updated, e.g. "apc_01HX...". - - - `display_name: string` - - The credential's display name after the update. + The credential the member submitted, e.g. "apc_01HX...". - - `host_constraint_truncated: boolean` + - `link_id: string` - Whether host_constraint was capped and omits some of the configured host name patterns. + The provisioning link's identifier. - `profile_id: string` - The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `authorization_basis: optional object or null` - - How the actor was authorized to update this credential. - - - `slack_channel_id: string` - - The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". - - - `slack_enterprise_id: string` - - The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. - - - `slack_team_id: string` - - The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". - - - `via_entitlement_leg: boolean` - - True when the actor's permission came from a custom role assigned in Roles & permissions. False when it came from a built-in Owner or Admin role. + The agent proxy profile the credential lived in, e.g. "capp_01HX...". - - `via_full_manage: boolean` + - `rule_id: string` - True when the actor held the organization-wide Claude Tag management permission. False when the actor was instead authorized for the Slack channel identified below, either via the per-channel `claude_tag_channel:manage` permission or, when `via_account_assignment` is true, via a direct channel-manager assignment. + The disabled rule that was deleted alongside the credential, e.g. "apr_01HX...". - - `granting_role_ids: optional array of string` + - `submitted_by_user_id: string` - The tagged IDs of the custom roles that granted the actor the per-channel `claude_tag_channel:manage` permission, e.g. "rbac_role_01HX...". Empty when `via_full_manage` is true (the actor was authorized by the organization-wide permission, so no per-channel role grant was evaluated) and when `via_account_assignment` is true (no role stands behind a direct assignment). + The tagged account ID of the user who originally submitted the credential, e.g. "user_01HX...". - - `via_account_assignment: optional boolean or null` + - `id: optional string` - True when the actor was authorized because an owner or admin assigned them directly as a manager of the Slack channel identified below (see ccr_channel_manager_added), rather than through a permission held via a role. When true, `via_full_manage` and `via_entitlement_leg` are false and `granting_role_ids` is empty. Absent on events recorded before direct channel-manager assignments existed; treat absence as false. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -153220,10 +157464,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `host_constraint: optional array of string` - - The host name patterns the credential may be sent to after the update, e.g. "api.example.com" or "*.example.com". Populated only when the update changed them. At most 100 entries are included; host_constraint_truncated indicates when the configured set is larger. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -153232,17 +157472,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updated_fields: optional array of string` - - Names of the settings included in the update: "display_name", "host_constraint". - - - `CcrAgentProxyDestinationDeleted object` + - `CcrAgentProxyProvisioningLinkEnabled object` - An agent proxy destination was deleted. + An organization owner enabled a credential that a teammate submitted via an agent proxy provisioning link: the disabled rule created at submission was switched to enforce, so the credential now takes traffic. The actor is the owner; the submitter is the actor on the prior ccr_agent_proxy_provisioning_link_submitted event. - - `type: optional "ccr_agent_proxy_destination_deleted"` + - `type: optional "ccr_agent_proxy_provisioning_link_enabled"` - default: ccr_agent_proxy_destination_deleted + default: ccr_agent_proxy_provisioning_link_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -153450,25 +157686,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_with_profile: boolean` + - `credential_id: string` - True when this deletion happened as part of deleting the whole profile (profile_id names the deleted profile). At most one of deleted_with_profile / cascade_trigger_credential_id is set; both unset means a direct DeleteAgentProxyDestination call. + The credential the member submitted, e.g. "apc_01HX...". - - `destination_id: string` + - `link_id: string` - The destination that was deleted, e.g. "apd_01HX...". + The provisioning link's identifier. - `profile_id: string` - The agent proxy profile the destination belonged to, e.g. "capp_01HX...". + The agent proxy profile the credential lives in, e.g. "capp_01HX...". - - `id: optional string` + - `rule_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The rule that was flipped to enforce, e.g. "apr_01HX...". - - `cascade_trigger_credential_id: optional string or null` + - `id: optional string` - Set when this deletion was triggered by a cascading DeleteAgentProxyCredential (the destination's client_tls_credential was the deleted credential). Unset for a direct DeleteAgentProxyDestination call and for the profile-delete cascade (see deleted_with_profile). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -153484,13 +157720,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyNetworkEventsListed object` + - `CcrAgentProxyProvisioningLinkGenerated object` - A Claude Code network activity export was accessed for the given hour. + An organization owner generated a one-time agent proxy credential provisioning link so a teammate can submit a credential into the target agent proxy profile without holding the owner role. - - `type: optional "ccr_agent_proxy_network_events_listed"` + - `type: optional "ccr_agent_proxy_provisioning_link_generated"` - default: ccr_agent_proxy_network_events_listed + default: ccr_agent_proxy_provisioning_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -153698,9 +157934,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `failed: boolean` + - `link_id: string` - True when the export request did not complete successfully. + The provisioning link's identifier. Correlation only; redemption requires an org-member session, so this is not a bearer credential. + + - `profile_id: string` + + The agent proxy profile the submitted credential will be created in, e.g. "capp_01HX...". - `id: optional string` @@ -153712,12 +157952,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `hour: optional string or null` - - The UTC hour that was exported. - - format: date-time - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -153726,13 +157960,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProfileBound object` + - `CcrAgentProxyProvisioningLinkRevoked object` - A Claude Code agent proxy profile was bound to a scope, applying its policy to Claude Code sessions in that scope. + An organization owner revoked an unfilled agent proxy provisioning link. - - `type: optional "ccr_agent_proxy_profile_bound"` + - `type: optional "ccr_agent_proxy_provisioning_link_revoked"` - default: ccr_agent_proxy_profile_bound + default: ccr_agent_proxy_provisioning_link_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -153940,17 +158174,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `profile_id: string` - - The profile that was bound, e.g. "capp_01HX...". - - - `scope_id: string` + - `link_id: string` - The identifier of the scope the profile was bound to. + The provisioning link's identifier. - - `scope_kind: string` + - `profile_id: string` - The kind of scope the profile was bound to: "organization", "environment", "account", or "agent". + The agent proxy profile the link targeted, e.g. "capp_01HX...". - `id: optional string` @@ -153970,13 +158200,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProfileCreated object` + - `CcrAgentProxyProvisioningLinkSubmitted object` - A Claude Code agent proxy profile was created. Agent proxy profiles are named, reusable bundles of access policy that administrators bind to parts of the organization. + A teammate submitted a credential via an agent proxy provisioning link. The credential and a disabled rule are created; the credential takes traffic only after an organization owner enables the submitted credential. This event records the link-mediated lifecycle; the credential itself additionally emits ccr_agent_proxy_credential_created. - - `type: optional "ccr_agent_proxy_profile_created"` + - `type: optional "ccr_agent_proxy_provisioning_link_submitted"` - default: ccr_agent_proxy_profile_created + default: ccr_agent_proxy_provisioning_link_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -154184,17 +158414,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `display_name: string` + - `credential_id: string` - The profile's display name at creation time. + The credential that was created, e.g. "apc_01HX...". - - `profile_id: string` + - `credential_type: string` - The profile that was created, e.g. "capp_01HX...". + The kind of credential, e.g. "bearer" or "basic". - - `slug: string` + - `link_id: string` - The profile's URL-safe identifier, unique within the organization. + The provisioning link's identifier. + + - `profile_id: string` + + The agent proxy profile the credential was created in, e.g. "capp_01HX...". - `id: optional string` @@ -154206,53 +158440,37 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `github_access: optional array of object` - - The GitHub repository access the profile grants, one entry per GitHub App installation. Empty when the profile grants no GitHub access. - - - `access_mode: string` - - How repository access is granted: "none" (no access), "list" (exactly the repositories in repos), or "all" — a legacy value for policies created before per-repository grants were required; it can no longer be assigned. - - - `github_installation_id: number` - - The GitHub App installation the access applies to. - - - `repo_count: number` - - The total number of repositories granted, including any omitted from repos. - - - `repos_truncated: boolean` + - `host_constraint: optional array of string` - Whether repos was capped and omits some of the granted repositories. + The host name patterns the credential may be sent to. - - `ghe_configuration_id: optional number or null` + - `organization_id: optional string or null` - The GitHub host configuration this installation belongs to. Distinguishes installations with the same numeric installation ID across github.com and GitHub Enterprise Server hosts. Absent for github.com installations. + Organization ID this activity is associated with - - `repo_ids: optional array of number` + - `organization_uuid: optional string or null` - The numeric GitHub repository IDs the profile grants access to, in the same order as repos (and subject to the same 100-entry cap). These IDs are the authoritative identity of the granted repositories — access is enforced against them, not against the display names in repos. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `repos: optional array of string` + - `CcrAgentProxyRuleCreated object` - Repository names (owner/name) the profile grants access to, populated when access_mode is "list". Names are display-only labels resolved when the event was recorded and may lag a repository rename; the entries in repo_ids are the authoritative identity of the granted repositories. A repository whose name is unavailable is listed as its numeric GitHub repository ID instead. At most 100 entries are included; repos_truncated indicates when the granted set is larger. + An agent proxy rule was created. A rule decides what happens to a session's outbound requests that match it. - - `organization_id: optional string or null` + - `type: optional "ccr_agent_proxy_rule_created"` - Organization ID this activity is associated with + default: ccr_agent_proxy_rule_created - - `organization_uuid: optional string or null` + - `action: "allow" or "deny" or "require_approval" or "unspecified"` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + What the rule does with a matching request. - - `CcrAgentProxyProfileDeleted object` + - `"allow"` - A Claude Code agent proxy profile was deleted, removing its policy from everything it was bound to. + - `"deny"` - - `type: optional "ccr_agent_proxy_profile_deleted"` + - `"require_approval"` - default: ccr_agent_proxy_profile_deleted + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -154460,33 +158678,65 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_credential_count: number` + - `has_condition: boolean` - Number of credentials deleted together with the profile — deleting a profile also deletes the credentials attached to it. Each deleted credential additionally emits its own ccr_agent_proxy_credential_deleted activity, at most 100 per profile deletion. Best-effort: when deleted_credentials_unknown is true the count could not be determined and 0 here does not mean the profile had no credentials. + Whether the rule carries a custom condition expression that further narrows the requests it matches beyond the host name patterns, ports, methods and paths. - - `deleted_credentials_unknown: boolean` + - `hosts_truncated: boolean` - Whether the number of credentials deleted with the profile could not be determined. When true, deleted_credential_count is 0 and no per-credential deletion activities were emitted, even though the deletion may have destroyed credentials. + Whether hosts was capped and omits some of the configured host name patterns. - - `deleted_destination_count: number` + - `injects_credential: boolean` - Number of destinations deleted together with the profile. Each deleted destination additionally emits its own ccr_agent_proxy_destination_deleted activity with deleted_with_profile set, at most 100 per profile deletion. Best-effort: when deleted_destinations_unknown is true the count could not be determined and 0 here does not mean the profile had no destinations. + Whether the rule adds a managed credential to the requests it allows. - - `deleted_destinations_unknown: boolean` + - `mode: "disabled" or "enforce" or "shadow" or "unspecified"` - Whether the number of destinations deleted with the profile could not be determined. Same semantics as deleted_credentials_unknown. + Whether the rule is enforced, only observed, or switched off. - - `deleted_rule_count: number` + - `"disabled"` - Number of rules deleted together with the profile. Each deleted rule additionally emits its own ccr_agent_proxy_rule_deleted activity with deleted_with_profile set, at most 100 per profile deletion. Best-effort: when deleted_rules_unknown is true the count could not be determined and 0 here does not mean the profile had no rules. + - `"enforce"` - - `deleted_rules_unknown: boolean` + - `"shadow"` - Whether the number of rules deleted with the profile could not be determined. Same semantics as deleted_credentials_unknown. + - `"unspecified"` + + - `path_pattern_count: number` + + How many request path patterns (prefixes or regular expressions) narrow the requests the rule matches; 0 when the rule matches every path. + + - `ports_truncated: boolean` + + Whether ports was capped and omits some of the configured ports. + + - `priority: number` + + Where the rule is evaluated among the profile's rules: a lower number is evaluated first, and the first matching rule decides the request. - `profile_id: string` - The profile that was deleted, e.g. "capp_01HX...". + The agent proxy profile the rule belongs to, e.g. "capp_01HX...". + + - `protocol: "http" or "mysql" or "postgres" or 3 more` + + The kind of connection the rule applies to. + + - `"http"` + + - `"mysql"` + + - `"postgres"` + + - `"ssh"` + + - `"tcp"` + + - `"unspecified"` + + - `rule_id: string` + + The rule that was created, e.g. "apr_01HX...". - `id: optional string` @@ -154498,6 +158748,32 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `hosts: optional array of string` + + The host name patterns the rule matches, in canonical form (lowercase, internationalized names in their ASCII encoding), e.g. "api.example.com" or "*.example.com". At most 100 entries are included; hosts_truncated indicates when the configured set is larger. + + - `injected_credential_id: optional string or null` + + The managed credential the rule adds to the requests it allows, e.g. "apc_01HX...". Unset when the rule adds none. + + - `methods: optional array of string` + + The HTTP methods the rule matches, e.g. `GET`. Empty when the rule matches every method. + + - `mutation_kinds: optional array of "inject_credential" or "route_to" or "set_header" or 2 more` + + The kinds of change the rule makes to the requests it allows, each listed once. + + - `"inject_credential"` + + - `"route_to"` + + - `"set_header"` + + - `"strip_header"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -154506,13 +158782,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProfileUnbound object` + - `ports: optional array of number` - A Claude Code agent proxy profile was unbound from a scope, removing its policy from Claude Code sessions in that scope. + The TCP ports the rule matches, e.g. 443. At most 100 entries are included; ports_truncated indicates when the configured set is larger. - - `type: optional "ccr_agent_proxy_profile_unbound"` + - `route_to_destination_id: optional string or null` - default: ccr_agent_proxy_profile_unbound + The configured destination the rule sends allowed requests to instead of the host they name, e.g. "apd_01HX...". Unset when the rule reroutes nothing. + + - `CcrAgentProxyRuleDeleted object` + + An agent proxy rule was deleted. + + - `type: optional "ccr_agent_proxy_rule_deleted"` + + default: ccr_agent_proxy_rule_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -154720,22 +159004,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `profile_id: string` + - `deleted_with_profile: boolean` - The profile that was unbound, e.g. "capp_01HX...". + True when this deletion happened as part of deleting the whole profile (profile_id names the deleted profile). At most one of deleted_with_profile / cascade_trigger_credential_id is set; both unset means a direct DeleteAgentProxyRule call or a provisioning-link reject (RejectAgentProxyProvisionedCredential) — the reject case also emits CcrAgentProxyProvisioningCredentialRejected with the same rule_id in the same batch. - - `scope_id: string` + - `profile_id: string` - The identifier of the scope the profile was unbound from. + The agent proxy profile the rule belonged to, e.g. "capp_01HX...". - - `scope_kind: string` + - `rule_id: string` - The kind of scope the profile was unbound from: "organization", "environment", "account", or "agent". + The rule that was deleted, e.g. "apr_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `cascade_trigger_credential_id: optional string or null` + + Set when this deletion was triggered by a cascading DeleteAgentProxyCredential (the rule inject_credential-referenced the deleted credential). Unset for a direct DeleteAgentProxyRule call, for the profile-delete cascade (see deleted_with_profile), and for a provisioning-link reject that removed the provisioned rule. + - `created_at: optional string` When this activity occurred. @@ -154750,13 +159038,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProfileUpdated object` + - `CcrAgentProxyRuleUpdated object` - A Claude Code agent proxy profile's configuration was updated. + An agent proxy rule was updated. An update replaces everything the rule matches and does, so the host name patterns here are the rule's complete set after the update. - - `type: optional "ccr_agent_proxy_profile_updated"` + - `type: optional "ccr_agent_proxy_rule_updated"` - default: ccr_agent_proxy_profile_updated + default: ccr_agent_proxy_rule_updated + + - `action: "allow" or "deny" or "require_approval" or "unspecified"` + + What the rule does with a matching request. + + - `"allow"` + + - `"deny"` + + - `"require_approval"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -154964,63 +159264,105 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `has_condition: boolean` + + Whether the rule carries a custom condition expression that further narrows the requests it matches beyond the host name patterns, ports, methods and paths. + + - `hosts_truncated: boolean` + + Whether hosts was capped and omits some of the configured host name patterns. + + - `injects_credential: boolean` + + Whether the rule adds a managed credential to the requests it allows. + + - `mode: "disabled" or "enforce" or "shadow" or "unspecified"` + + Whether the rule is enforced, only observed, or switched off. + + - `"disabled"` + + - `"enforce"` + + - `"shadow"` + + - `"unspecified"` + + - `path_pattern_count: number` + + How many request path patterns (prefixes or regular expressions) narrow the requests the rule matches after the update; 0 when the rule matches every path. + + - `ports_truncated: boolean` + + Whether ports was capped and omits some of the configured ports. + + - `priority: number` + + Where the rule is evaluated among the profile's rules: a lower number is evaluated first, and the first matching rule decides the request. + - `profile_id: string` - The profile that was updated, e.g. "capp_01HX...". + The agent proxy profile the rule belongs to, e.g. "capp_01HX...". - - `id: optional string` + - `protocol: "http" or "mysql" or "postgres" or 3 more` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of connection the rule applies to. - - `created_at: optional string` + - `"http"` - When this activity occurred. + - `"mysql"` - format: date-time + - `"postgres"` - - `github_access_changes: optional array of object` + - `"ssh"` - How the profile's GitHub repository access changed, one entry per GitHub App installation whose access changed. Empty when the update did not change GitHub access. + - `"tcp"` - - `access_mode: string` + - `"unspecified"` - How repository access is granted after the change: "none" (no access), "list" (access is restricted to an explicit repository list — repos_added/repos_removed carry this change's delta and repo_count the post-change total), or "all" — a legacy value for policies created before per-repository grants were required; it can no longer be assigned. + - `rule_id: string` - - `github_installation_id: number` + The rule that was updated, e.g. "apr_01HX...". - The GitHub App installation the change applies to. + - `version: number` - - `repo_count: number` + The rule's version after the update; it increases by one on every update. - The total number of repositories granted after the change. + - `id: optional string` - - `repos_truncated: boolean` + Unique identifier for the activity e.g. 'activity_abcd1234' - Whether repos_added or repos_removed was capped and omits some of the changed repositories. + - `created_at: optional string` - - `ghe_configuration_id: optional number or null` + When this activity occurred. - The GitHub host configuration this installation belongs to. Distinguishes installations with the same numeric installation ID across github.com and GitHub Enterprise Server hosts. Absent for github.com installations. + format: date-time - - `previous_access_mode: optional string or null` + - `hosts: optional array of string` - How repository access was granted before the change. Present only when the access mode changed. + The host name patterns the rule matches after the update, in canonical form (lowercase, internationalized names in their ASCII encoding). At most 100 entries are included; hosts_truncated indicates when the configured set is larger. - - `repo_ids_added: optional array of number` + - `injected_credential_id: optional string or null` - The numeric GitHub repository IDs added to the granted set, in the same order as repos_added (and subject to the same 100-entry cap). These IDs are the authoritative identity of the added repositories — access is enforced against them, not against the display names in repos_added. + The managed credential the rule adds to the requests it allows, e.g. "apc_01HX...". Unset when the rule adds none. - - `repo_ids_removed: optional array of number` + - `methods: optional array of string` - The numeric GitHub repository IDs removed from the granted set, in the same order as repos_removed (and subject to the same 100-entry cap). These IDs are the authoritative identity of the removed repositories. + The HTTP methods the rule matches after the update, e.g. `GET`. Empty when the rule matches every method. - - `repos_added: optional array of string` + - `mutation_kinds: optional array of "inject_credential" or "route_to" or "set_header" or 2 more` - Repository names (owner/name) added to the granted set. Names are display-only labels resolved when the event was recorded and may lag a repository rename; the entries in repo_ids_added are the authoritative identity of the added repositories. A repository whose name is unavailable is listed as its numeric GitHub repository ID instead. At most 100 entries are included; repos_truncated indicates when more were added. Empty when the change involves "all" access, which grants every repository regardless of any explicit list. + The kinds of change the rule makes to the requests it allows after the update, each listed once. - - `repos_removed: optional array of string` + - `"inject_credential"` - Repository names (owner/name) removed from the granted set. Same rendering, cap, and "all" handling as repos_added; repo_ids_removed carries the authoritative identity of the removed repositories. + - `"route_to"` + + - `"set_header"` + + - `"strip_header"` + + - `"unspecified"` - `organization_id: optional string or null` @@ -155030,17 +159372,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updated_fields: optional array of string` + - `ports: optional array of number` - Names of the configuration fields included in the update, e.g. "display_name", "github_installation_permissions". + The TCP ports the rule matches, e.g. 443. At most 100 entries are included; ports_truncated indicates when the configured set is larger. - - `CcrAgentProxyProvisioningCredentialRejected object` + - `route_to_destination_id: optional string or null` - An organization owner rejected a credential that a teammate submitted via an agent proxy provisioning link: the credential and its disabled rule were deleted and the link was revoked. The actor is the owner; the submitter is recorded for attribution. + The configured destination the rule sends allowed requests to instead of the host they name, e.g. "apd_01HX...". Unset when the rule reroutes nothing. - - `type: optional "ccr_agent_proxy_provisioning_credential_rejected"` + - `CcrAgentSlackAccessScopeCreated object` - default: ccr_agent_proxy_provisioning_credential_rejected + A Claude Code agent was granted access to read or write in an additional Slack channel beyond the one it is assigned to. + + - `type: optional "ccr_agent_slack_access_scope_created"` + + default: ccr_agent_slack_access_scope_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -155248,25 +159594,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` - - The credential the member submitted, e.g. "apc_01HX...". - - - `link_id: string` + - `agent_id: string` - The provisioning link's identifier. + The agent that was granted access, e.g. "cagt_01HX...". - - `profile_id: string` + - `can_write: boolean` - The agent proxy profile the credential lived in, e.g. "capp_01HX...". + Whether the grant includes permission to post messages in the channel, in addition to reading it. - - `rule_id: string` + - `slack_channel_id: string` - The disabled rule that was deleted alongside the credential, e.g. "apr_01HX...". + The Slack channel the agent was granted access to, e.g. "C01ABC...". Empty when the grant covers the entire workspace. - - `submitted_by_user_id: string` + - `slack_team_id: string` - The tagged account ID of the user who originally submitted the credential, e.g. "user_01HX...". + The Slack workspace containing the channel, e.g. "T01ABC...". - `id: optional string` @@ -155286,13 +159628,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProvisioningLinkEnabled object` + - `CcrAgentSlackAccessScopeDeleted object` - An organization owner enabled a credential that a teammate submitted via an agent proxy provisioning link: the disabled rule created at submission was switched to enforce, so the credential now takes traffic. The actor is the owner; the submitter is the actor on the prior ccr_agent_proxy_provisioning_link_submitted event. + A Claude Code agent's access to an additional Slack channel was revoked. - - `type: optional "ccr_agent_proxy_provisioning_link_enabled"` + - `type: optional "ccr_agent_slack_access_scope_deleted"` - default: ccr_agent_proxy_provisioning_link_enabled + default: ccr_agent_slack_access_scope_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -155500,21 +159842,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` - - The credential the member submitted, e.g. "apc_01HX...". - - - `link_id: string` + - `agent_id: string` - The provisioning link's identifier. + The agent whose access was revoked, e.g. "cagt_01HX...". - - `profile_id: string` + - `slack_channel_id: string` - The agent proxy profile the credential lives in, e.g. "capp_01HX...". + The Slack channel the agent's access was revoked from, e.g. "C01ABC...". Empty when the revoked grant covered the entire workspace. - - `rule_id: string` + - `slack_team_id: string` - The rule that was flipped to enforce, e.g. "apr_01HX...". + The Slack workspace containing the channel, e.g. "T01ABC...". - `id: optional string` @@ -155534,13 +159872,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProvisioningLinkGenerated object` + - `CcrAgentSlackBindingCreated object` - An organization owner generated a one-time agent proxy credential provisioning link so a teammate can submit a credential into the target agent proxy profile without holding the owner role. + A Claude Code agent was assigned to a Slack channel or workspace as its dedicated agent. - - `type: optional "ccr_agent_proxy_provisioning_link_generated"` + - `type: optional "ccr_agent_slack_binding_created"` - default: ccr_agent_proxy_provisioning_link_generated + default: ccr_agent_slack_binding_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -155748,13 +160086,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `link_id: string` + - `agent_id: string` - The provisioning link's identifier. Correlation only; redemption requires an org-member session, so this is not a bearer credential. + The agent the binding was created for, e.g. "cagt_01HX...". - - `profile_id: string` + - `slack_channel_id: string` - The agent proxy profile the submitted credential will be created in, e.g. "capp_01HX...". + The Slack channel the agent was assigned to, e.g. "C01ABC...". Empty when the agent was assigned to the entire workspace. + + - `slack_team_id: string` + + The Slack workspace the agent was assigned to, e.g. "T01ABC...". - `id: optional string` @@ -155774,13 +160116,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProvisioningLinkRevoked object` + - `CcrAgentSlackBindingDeleted object` - An organization owner revoked an unfilled agent proxy provisioning link. + A Claude Code agent's assignment to a Slack channel or workspace was removed. - - `type: optional "ccr_agent_proxy_provisioning_link_revoked"` + - `type: optional "ccr_agent_slack_binding_deleted"` - default: ccr_agent_proxy_provisioning_link_revoked + default: ccr_agent_slack_binding_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -155988,13 +160330,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `link_id: string` + - `agent_id: string` - The provisioning link's identifier. + The agent the binding was removed from, e.g. "cagt_01HX...". - - `profile_id: string` + - `slack_channel_id: string` - The agent proxy profile the link targeted, e.g. "capp_01HX...". + The Slack channel the agent was unassigned from, e.g. "C01ABC...". Empty when the assignment covered the entire workspace. + + - `slack_team_id: string` + + The Slack workspace the agent was unassigned from, e.g. "T01ABC...". - `id: optional string` @@ -156014,13 +160360,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyProvisioningLinkSubmitted object` + - `CcrAgentUpdated object` - A teammate submitted a credential via an agent proxy provisioning link. The credential and a disabled rule are created; the credential takes traffic only after an organization owner enables the submitted credential. This event records the link-mediated lifecycle; the credential itself additionally emits ccr_agent_proxy_credential_created. + A Claude Code agent's configuration was updated. Also emitted with updated_fields ["is_virtual"] alone when an auto-provisioned agent is promoted to a configured one, whether by an update request targeting it or by binding an agent proxy profile to it. - - `type: optional "ccr_agent_proxy_provisioning_link_submitted"` + - `type: optional "ccr_agent_updated"` - default: ccr_agent_proxy_provisioning_link_submitted + default: ccr_agent_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -156228,21 +160574,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` - - The credential that was created, e.g. "apc_01HX...". - - - `credential_type: string` + - `agent_id: string` - The kind of credential, e.g. "bearer" or "basic". + The agent that was updated, e.g. "cagt_01HX...". - - `link_id: string` + - `default_source_urls_truncated: boolean` - The provisioning link's identifier. + Whether default_source_urls was capped and omits some of the granted repositories. - - `profile_id: string` + - `omitted_source_url_count: number` - The agent proxy profile the credential was created in, e.g. "capp_01HX...". + Number of default repository entries that could not be safely rendered as a credential-free URL and were omitted from default_source_urls. A non-zero value with an empty list means repositories were granted but could not be displayed — not that all repositories were removed. - `id: optional string` @@ -156254,9 +160596,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `host_constraint: optional array of string` + - `default_source_urls: optional array of string` - The host name patterns the credential may be sent to. + The agent's default repository URLs after the update, reduced to scheme, host, and path — credentials and query parameters are never included. Populated only when the update changed them — "default_source_urls" appears in updated_fields. Empty while listed in updated_fields AND omitted_source_url_count is 0 means all default repositories were removed. At most 100 entries are included; default_source_urls_truncated indicates when more were granted. + + - `guest_policy: optional string or null` + + The agent's response policy for Slack channels that include guest users and Slack Connect channels shared with other organizations, after the update: "allow", "restrict", "channel" (the agent responds, using only that channel's own content and configuration), or "default" when the update removed the agent-specific policy so the agent inherits the surrounding default. In Slack Connect channels "allow" gives at most "channel" access. Present only when the update changed it. - `organization_id: optional string or null` @@ -156266,25 +160612,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyRuleCreated object` - - An agent proxy rule was created. A rule decides what happens to a session's outbound requests that match it. - - - `type: optional "ccr_agent_proxy_rule_created"` + - `slack_alias: optional string or null` - default: ccr_agent_proxy_rule_created + The agent's Slack trigger word after the update. Present only when the update changed it. An empty value means the agent responds to bare "@Claude" mentions. - - `action: "allow" or "deny" or "require_approval" or "unspecified"` + - `updated_fields: optional array of string` - What the rule does with a matching request. + Names of the configuration fields included in the update, e.g. "display_name", "system_prompt_addendum", "guest_policy". Includes "is_virtual" when this update was the first administrator action on an auto-provisioned agent — a durable state change even when no other field was supplied. - - `"allow"` + - `CcrChannelManagerAdded object` - - `"deny"` + An org owner/admin assigned an organization member to manage the Claude-in-Slack configuration of one Slack channel. - - `"require_approval"` + - `type: optional "ccr_channel_manager_added"` - - `"unspecified"` + default: ccr_channel_manager_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -156492,65 +160834,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `has_condition: boolean` - - Whether the rule carries a custom condition expression that further narrows the requests it matches beyond the host name patterns, ports, methods and paths. - - - `hosts_truncated: boolean` - - Whether hosts was capped and omits some of the configured host name patterns. - - - `injects_credential: boolean` - - Whether the rule adds a managed credential to the requests it allows. - - - `mode: "disabled" or "enforce" or "shadow" or "unspecified"` - - Whether the rule is enforced, only observed, or switched off. - - - `"disabled"` - - - `"enforce"` - - - `"shadow"` - - - `"unspecified"` - - - `path_pattern_count: number` - - How many request path patterns (prefixes or regular expressions) narrow the requests the rule matches; 0 when the rule matches every path. - - - `ports_truncated: boolean` - - Whether ports was capped and omits some of the configured ports. - - - `priority: number` - - Where the rule is evaluated among the profile's rules: a lower number is evaluated first, and the first matching rule decides the request. - - - `profile_id: string` - - The agent proxy profile the rule belongs to, e.g. "capp_01HX...". - - - `protocol: "http" or "mysql" or "postgres" or 3 more` - - The kind of connection the rule applies to. - - - `"http"` + - `agent_id: string` - - `"mysql"` + The channel's Claude agent (cagt_...) the assignment is recorded against. - - `"postgres"` + - `slack_channel_id: string` - - `"ssh"` + The Slack channel the member may now manage, e.g. "C01ABC...". - - `"tcp"` + - `slack_team_id: string` - - `"unspecified"` + The Slack workspace containing the channel, e.g. "T01ABC...". - - `rule_id: string` + - `user_id: string` - The rule that was created, e.g. "apr_01HX...". + Tagged ID of the member who was assigned. - `id: optional string` @@ -156562,32 +160860,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `hosts: optional array of string` - - The host name patterns the rule matches, in canonical form (lowercase, internationalized names in their ASCII encoding), e.g. "api.example.com" or "*.example.com". At most 100 entries are included; hosts_truncated indicates when the configured set is larger. - - - `injected_credential_id: optional string or null` - - The managed credential the rule adds to the requests it allows, e.g. "apc_01HX...". Unset when the rule adds none. - - - `methods: optional array of string` - - The HTTP methods the rule matches, e.g. `GET`. Empty when the rule matches every method. - - - `mutation_kinds: optional array of "inject_credential" or "route_to" or "set_header" or 2 more` - - The kinds of change the rule makes to the requests it allows, each listed once. - - - `"inject_credential"` - - - `"route_to"` - - - `"set_header"` - - - `"strip_header"` - - - `"unspecified"` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -156596,21 +160868,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ports: optional array of number` - - The TCP ports the rule matches, e.g. 443. At most 100 entries are included; ports_truncated indicates when the configured set is larger. - - - `route_to_destination_id: optional string or null` - - The configured destination the rule sends allowed requests to instead of the host they name, e.g. "apd_01HX...". Unset when the rule reroutes nothing. - - - `CcrAgentProxyRuleDeleted object` + - `CcrChannelManagerRemoved object` - An agent proxy rule was deleted. + An org owner/admin removed an organization member's assignment to manage the Claude-in-Slack configuration of one Slack channel. - - `type: optional "ccr_agent_proxy_rule_deleted"` + - `type: optional "ccr_channel_manager_removed"` - default: ccr_agent_proxy_rule_deleted + default: ccr_channel_manager_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -156818,25 +161082,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_with_profile: boolean` + - `agent_id: string` - True when this deletion happened as part of deleting the whole profile (profile_id names the deleted profile). At most one of deleted_with_profile / cascade_trigger_credential_id is set; both unset means a direct DeleteAgentProxyRule call or a provisioning-link reject (RejectAgentProxyProvisionedCredential) — the reject case also emits CcrAgentProxyProvisioningCredentialRejected with the same rule_id in the same batch. + The channel's Claude agent (cagt_...) the assignment was recorded against. - - `profile_id: string` + - `slack_channel_id: string` - The agent proxy profile the rule belonged to, e.g. "capp_01HX...". + The Slack channel the member managed, e.g. "C01ABC...". - - `rule_id: string` + - `slack_team_id: string` - The rule that was deleted, e.g. "apr_01HX...". + The Slack workspace containing the channel, e.g. "T01ABC...". - - `id: optional string` + - `user_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the member whose assignment was removed. - - `cascade_trigger_credential_id: optional string or null` + - `id: optional string` - Set when this deletion was triggered by a cascading DeleteAgentProxyCredential (the rule inject_credential-referenced the deleted credential). Unset for a direct DeleteAgentProxyRule call, for the profile-delete cascade (see deleted_with_profile), and for a provisioning-link reject that removed the provisioned rule. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -156852,25 +161116,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentProxyRuleUpdated object` - - An agent proxy rule was updated. An update replaces everything the rule matches and does, so the host name patterns here are the rule's complete set after the update. - - - `type: optional "ccr_agent_proxy_rule_updated"` - - default: ccr_agent_proxy_rule_updated - - - `action: "allow" or "deny" or "require_approval" or "unspecified"` - - What the rule does with a matching request. - - - `"allow"` + - `CcrRoleChannelAssignmentDeleted object` - - `"deny"` + CcrRoleChannelAssignmentDeleted is emitted when an org owner/admin removes an RBAC role's channel assignment row (the role reverts to granting zero channels). - - `"require_approval"` + - `type: optional "ccr_role_channel_assignment_deleted"` - - `"unspecified"` + default: ccr_role_channel_assignment_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -157078,69 +161330,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `has_condition: boolean` - - Whether the rule carries a custom condition expression that further narrows the requests it matches beyond the host name patterns, ports, methods and paths. - - - `hosts_truncated: boolean` - - Whether hosts was capped and omits some of the configured host name patterns. - - - `injects_credential: boolean` - - Whether the rule adds a managed credential to the requests it allows. - - - `mode: "disabled" or "enforce" or "shadow" or "unspecified"` - - Whether the rule is enforced, only observed, or switched off. - - - `"disabled"` - - - `"enforce"` - - - `"shadow"` - - - `"unspecified"` - - - `path_pattern_count: number` - - How many request path patterns (prefixes or regular expressions) narrow the requests the rule matches after the update; 0 when the rule matches every path. - - - `ports_truncated: boolean` - - Whether ports was capped and omits some of the configured ports. - - - `priority: number` - - Where the rule is evaluated among the profile's rules: a lower number is evaluated first, and the first matching rule decides the request. - - - `profile_id: string` - - The agent proxy profile the rule belongs to, e.g. "capp_01HX...". - - - `protocol: "http" or "mysql" or "postgres" or 3 more` - - The kind of connection the rule applies to. - - - `"http"` - - - `"mysql"` - - - `"postgres"` - - - `"ssh"` - - - `"tcp"` - - - `"unspecified"` - - - `rule_id: string` + - `previous_channel_count: number` - The rule that was updated, e.g. "apr_01HX...". + Number of (team, channel) pairs the role was assigned before deletion. - - `version: number` + - `role_id: string` - The rule's version after the update; it increases by one on every update. + Tagged ID of the role whose channel assignment was removed. - `id: optional string` @@ -157152,32 +161348,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `hosts: optional array of string` - - The host name patterns the rule matches after the update, in canonical form (lowercase, internationalized names in their ASCII encoding). At most 100 entries are included; hosts_truncated indicates when the configured set is larger. - - - `injected_credential_id: optional string or null` - - The managed credential the rule adds to the requests it allows, e.g. "apc_01HX...". Unset when the rule adds none. - - - `methods: optional array of string` - - The HTTP methods the rule matches after the update, e.g. `GET`. Empty when the rule matches every method. - - - `mutation_kinds: optional array of "inject_credential" or "route_to" or "set_header" or 2 more` - - The kinds of change the rule makes to the requests it allows after the update, each listed once. - - - `"inject_credential"` - - - `"route_to"` - - - `"set_header"` - - - `"strip_header"` - - - `"unspecified"` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -157186,21 +161356,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ports: optional array of number` - - The TCP ports the rule matches, e.g. 443. At most 100 entries are included; ports_truncated indicates when the configured set is larger. - - - `route_to_destination_id: optional string or null` - - The configured destination the rule sends allowed requests to instead of the host they name, e.g. "apd_01HX...". Unset when the rule reroutes nothing. - - - `CcrAgentSlackAccessScopeCreated object` + - `CcrRoleChannelAssignmentUpdated object` - A Claude Code agent was granted access to read or write in an additional Slack channel beyond the one it is assigned to. + CcrRoleChannelAssignmentUpdated is emitted when an org owner/admin sets or replaces the list of Slack channels an RBAC role's holders may configure via the delegated Claude-in-Slack channel-manage surface. - - `type: optional "ccr_agent_slack_access_scope_created"` + - `type: optional "ccr_role_channel_assignment_updated"` - default: ccr_agent_slack_access_scope_created + default: ccr_role_channel_assignment_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -157408,26 +161570,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The agent that was granted access, e.g. "cagt_01HX...". - - - `can_write: boolean` + - `channel_count: number` - Whether the grant includes permission to post messages in the channel, in addition to reading it. + Number of channels assigned after the write. - - `slack_channel_id: string` + - `previous_channel_count: number` - The Slack channel the agent was granted access to, e.g. "C01ABC...". Empty when the grant covers the entire workspace. + Number of channels assigned before the write. - - `slack_team_id: string` + - `role_id: string` - The Slack workspace containing the channel, e.g. "T01ABC...". + Tagged ID of the role whose channel assignment was written. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `agent_ids: optional array of string` + + The channel-silo agents (cagt_...) assigned after the write. Capped at 100 entries; channel_count carries the uncapped total. + - `created_at: optional string` When this activity occurred. @@ -157442,13 +161604,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentSlackAccessScopeDeleted object` + - `CcrSessionCreated object` - A Claude Code agent's access to an additional Slack channel was revoked. + A Claude Code session was created. A session is one coding interaction with Claude. - - `type: optional "ccr_agent_slack_access_scope_deleted"` + - `type: optional "ccr_session_created"` - default: ccr_agent_slack_access_scope_deleted + default: ccr_session_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -157656,22 +161818,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The agent whose access was revoked, e.g. "cagt_01HX...". - - - `slack_channel_id: string` - - The Slack channel the agent's access was revoked from, e.g. "C01ABC...". Empty when the revoked grant covered the entire workspace. - - - `slack_team_id: string` + - `session_id: string` - The Slack workspace containing the channel, e.g. "T01ABC...". + The session that was created, e.g. "cse_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `agent_id: optional string or null` + + The Claude Code agent attached to the session, e.g. "cagt_01HX...". Omitted when the session was created without an agent. + - `created_at: optional string` When this activity occurred. @@ -157686,13 +161844,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentSlackBindingCreated object` + - `CcrSessionDeleted object` - A Claude Code agent was assigned to a Slack channel or workspace as its dedicated agent. + A Claude Code session was deleted. - - `type: optional "ccr_agent_slack_binding_created"` + - `type: optional "ccr_session_deleted"` - default: ccr_agent_slack_binding_created + default: ccr_session_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -157900,17 +162058,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The agent the binding was created for, e.g. "cagt_01HX...". - - - `slack_channel_id: string` - - The Slack channel the agent was assigned to, e.g. "C01ABC...". Empty when the agent was assigned to the entire workspace. - - - `slack_team_id: string` + - `session_id: string` - The Slack workspace the agent was assigned to, e.g. "T01ABC...". + The session that was deleted, e.g. "cse_01HX...". - `id: optional string` @@ -157930,13 +162080,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentSlackBindingDeleted object` + - `CcrSessionUpdated object` - A Claude Code agent's assignment to a Slack channel or workspace was removed. + A Claude Code session's settings were updated. - - `type: optional "ccr_agent_slack_binding_deleted"` + - `type: optional "ccr_session_updated"` - default: ccr_agent_slack_binding_deleted + default: ccr_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -158144,17 +162294,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The agent the binding was removed from, e.g. "cagt_01HX...". - - - `slack_channel_id: string` - - The Slack channel the agent was unassigned from, e.g. "C01ABC...". Empty when the assignment covered the entire workspace. - - - `slack_team_id: string` + - `session_id: string` - The Slack workspace the agent was unassigned from, e.g. "T01ABC...". + The session that was updated, e.g. "cse_01HX...". - `id: optional string` @@ -158174,13 +162316,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrAgentUpdated object` + - `updated_fields: optional array of string` - A Claude Code agent's configuration was updated. Also emitted with updated_fields ["is_virtual"] alone when an auto-provisioned agent is promoted to a configured one, whether by an update request targeting it or by binding an agent proxy profile to it. + Names of the fields included in the update, e.g. "add_tags", "remove_tags". - - `type: optional "ccr_agent_updated"` + - `CcrSlackChannelJoined object` - default: ccr_agent_updated + Claude's Slack app joined a public Slack channel at an organization administrator's request. + + - `type: optional "ccr_slack_channel_joined"` + + default: ccr_slack_channel_joined - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -158388,17 +162534,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The agent that was updated, e.g. "cagt_01HX...". - - - `default_source_urls_truncated: boolean` + - `slack_channel_id: string` - Whether default_source_urls was capped and omits some of the granted repositories. + The Slack channel the app joined, e.g. "C01ABC...". - - `omitted_source_url_count: number` + - `slack_team_id: string` - Number of default repository entries that could not be safely rendered as a credential-free URL and were omitted from default_source_urls. A non-zero value with an empty list means repositories were granted but could not be displayed — not that all repositories were removed. + The Slack workspace containing the channel, e.g. "T01ABC...". - `id: optional string` @@ -158410,14 +162552,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `default_source_urls: optional array of string` - - The agent's default repository URLs after the update, reduced to scheme, host, and path — credentials and query parameters are never included. Populated only when the update changed them — "default_source_urls" appears in updated_fields. Empty while listed in updated_fields AND omitted_source_url_count is 0 means all default repositories were removed. At most 100 entries are included; default_source_urls_truncated indicates when more were granted. - - - `guest_policy: optional string or null` - - The agent's response policy for Slack channels that include guest users and Slack Connect channels shared with other organizations, after the update: "allow", "restrict", "channel" (the agent responds, using only that channel's own content and configuration), or "default" when the update removed the agent-specific policy so the agent inherits the surrounding default. In Slack Connect channels "allow" gives at most "channel" access. Present only when the update changed it. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -158426,21 +162560,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `slack_alias: optional string or null` - - The agent's Slack trigger word after the update. Present only when the update changed it. An empty value means the agent responds to bare "@Claude" mentions. - - - `updated_fields: optional array of string` - - Names of the configuration fields included in the update, e.g. "display_name", "system_prompt_addendum", "guest_policy". Includes "is_virtual" when this update was the first administrator action on an auto-provisioned agent — a durable state change even when no other field was supplied. - - - `CcrChannelManagerAdded object` + - `ClaudeChatSettingsUpdated object` - An org owner/admin assigned an organization member to manage the Claude-in-Slack configuration of one Slack channel. + User updated the settings for a conversation. - - `type: optional "ccr_channel_manager_added"` + - `type: optional "claude_chat_settings_updated"` - default: ccr_channel_manager_added + default: claude_chat_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -158648,26 +162774,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The channel's Claude agent (cagt_...) the assignment is recorded against. - - - `slack_channel_id: string` - - The Slack channel the member may now manage, e.g. "C01ABC...". - - - `slack_team_id: string` - - The Slack workspace containing the channel, e.g. "T01ABC...". - - - `user_id: string` + - `claude_chat_id: string` - Tagged ID of the member who was assigned. + Tagged ID of the conversation whose settings were updated, e.g. "claude_chat_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + Project ID this chat belongs to, if any + - `created_at: optional string` When this activity occurred. @@ -158682,13 +162800,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrChannelManagerRemoved object` + - `ClaudeChatSnapshotCreated object` - An org owner/admin removed an organization member's assignment to manage the Claude-in-Slack configuration of one Slack channel. + User created/shared a chat snapshot. - - `type: optional "ccr_channel_manager_removed"` + - `type: optional "claude_chat_snapshot_created"` - default: ccr_channel_manager_removed + default: claude_chat_snapshot_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -158896,21 +163014,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` - - The channel's Claude agent (cagt_...) the assignment was recorded against. - - - `slack_channel_id: string` - - The Slack channel the member managed, e.g. "C01ABC...". - - - `slack_team_id: string` - - The Slack workspace containing the channel, e.g. "T01ABC...". - - - `user_id: string` + - `claude_chat_id: string` - Tagged ID of the member whose assignment was removed. + - `claude_chat_snapshot_id: string` - `id: optional string` @@ -158930,13 +163036,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrRoleChannelAssignmentDeleted object` + - `ClaudeChatSnapshotDeleted object` - CcrRoleChannelAssignmentDeleted is emitted when an org owner/admin removes an RBAC role's channel assignment row (the role reverts to granting zero channels). + User deleted/unshared a chat snapshot. - - `type: optional "ccr_role_channel_assignment_deleted"` + - `type: optional "claude_chat_snapshot_deleted"` - default: ccr_role_channel_assignment_deleted + default: claude_chat_snapshot_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -159144,18 +163250,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `previous_channel_count: number` - - Number of (team, channel) pairs the role was assigned before deletion. - - - `role_id: string` - - Tagged ID of the role whose channel assignment was removed. + - `claude_chat_snapshot_id: string` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_chat_id: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -159170,13 +163272,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrRoleChannelAssignmentUpdated object` + - `ClaudeChatSnapshotViewed object` - CcrRoleChannelAssignmentUpdated is emitted when an org owner/admin sets or replaces the list of Slack channels an RBAC role's holders may configure via the delegated Claude-in-Slack channel-manage surface. + User viewed a chat snapshot (authenticated or public/unauthenticated). - - `type: optional "ccr_role_channel_assignment_updated"` + - `type: optional "claude_chat_snapshot_viewed"` - default: ccr_role_channel_assignment_updated + default: claude_chat_snapshot_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -159384,25 +163486,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `channel_count: number` - - Number of channels assigned after the write. - - - `previous_channel_count: number` - - Number of channels assigned before the write. - - - `role_id: string` - - Tagged ID of the role whose channel assignment was written. + - `claude_chat_snapshot_id: string` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `agent_ids: optional array of string` - - The channel-silo agents (cagt_...) assigned after the write. Capped at 100 entries; channel_count carries the uncapped total. + - `claude_chat_id: optional string or null` - `created_at: optional string` @@ -159418,13 +163508,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrSessionCreated object` + - `ClaudeArtifactDuplicated object` - A Claude Code session was created. A session is one coding interaction with Claude. + A user duplicated an artifact they could view into a new artifact that they own. The actor is the user who created the copy; the source artifact is not modified. - - `type: optional "ccr_session_created"` + - `type: optional "claude_artifact_duplicated"` - default: ccr_session_created + default: claude_artifact_duplicated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -159632,17 +163722,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `session_id: string` + - `claude_artifact_id: string` - The session that was created, e.g. "cse_01HX...". + Tagged ID of the new artifact created by the duplication. It is owned by the actor and is independent of the source artifact. - - `id: optional string` + - `source_claude_artifact_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the artifact that was copied. - - `agent_id: optional string or null` + - `id: optional string` - The Claude Code agent attached to the session, e.g. "cagt_01HX...". Omitted when the session was created without an agent. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -159658,13 +163748,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrSessionDeleted object` + - `source_claude_artifact_version_id: optional string or null` - A Claude Code session was deleted. + The version of the source artifact that was copied into the new artifact. - - `type: optional "ccr_session_deleted"` + - `ClaudeArtifactExternalSharingPermissionUpdated object` - default: ccr_session_deleted + An organization admin allowed one artifact to be shared outside the organization by link while the organization-wide external sharing setting was off, or revoked that permission. + + - `type: optional "claude_artifact_external_sharing_permission_updated"` + + default: claude_artifact_external_sharing_permission_updated + + - `action: "allowed" or "revoked" or "unspecified"` + + Whether the permission was allowed or revoked. + + - `"allowed"` + + - `"revoked"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -159872,9 +163976,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `session_id: string` + - `claude_artifact_id: string` - The session that was deleted, e.g. "cse_01HX...". + Tagged ID of the artifact. - `id: optional string` @@ -159894,13 +163998,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `CcrSessionUpdated object` + - `ClaudeArtifactInviteAccepted object` - A Claude Code session's settings were updated. + Someone outside the organization signed in with a verified account for the invited address and accepted an invitation to an artifact, and can now open it; recorded in the artifact owner's organization. The person who accepted is identified by `invitee_email` and `invitee_user_id`. - - `type: optional "ccr_session_updated"` + - `type: optional "claude_artifact_invite_accepted"` - default: ccr_session_updated + default: claude_artifact_invite_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -160108,9 +164212,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `session_id: string` + - `claude_artifact_id: string` - The session that was updated, e.g. "cse_01HX...". + Tagged ID of the artifact the invitation is for. + + - `claude_artifact_invite_id: string` + + Tagged ID of the invitation that was accepted. + + - `invitee_email: string` + + Email address the invitation was sent to. + + - `invitee_user_id: string` + + Tagged user ID of the account outside the organization that accepted the invitation. + + - `role: string` + + The access level the invitation grants, for example `reader`. - `id: optional string` @@ -160130,17 +164250,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updated_fields: optional array of string` - - Names of the fields included in the update, e.g. "add_tags", "remove_tags". - - - `CcrSlackChannelJoined object` + - `ClaudeArtifactInviteCreated object` - Claude's Slack app joined a public Slack channel at an organization administrator's request. + A member invited (or re-invited) an email address outside the organization to an artifact; recorded in the artifact owner's organization with the inviting member as the actor. - - `type: optional "ccr_slack_channel_joined"` + - `type: optional "claude_artifact_invite_created"` - default: ccr_slack_channel_joined + default: claude_artifact_invite_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -160348,13 +164464,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `slack_channel_id: string` + - `claude_artifact_id: string` - The Slack channel the app joined, e.g. "C01ABC...". + Tagged ID of the artifact the invitation is for. - - `slack_team_id: string` + - `claude_artifact_invite_id: string` - The Slack workspace containing the channel, e.g. "T01ABC...". + Tagged ID of the invitation; the same ID appears on the accepted, role-updated and revoked activities for this invitation, including a later re-invitation of the same address. + + - `invitee_email: string` + + Email address the invitation was sent to. + + - `role: string` + + The access level the invitation grants, for example `reader`. - `id: optional string` @@ -160374,13 +164498,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatSettingsUpdated object` + - `ClaudeArtifactInviteRevoked object` - User updated the settings for a conversation. + A member withdrew an invitation to an artifact for someone outside the organization, removing any access that invitation had granted; recorded in the artifact owner's organization with that member as the actor. - - `type: optional "claude_chat_settings_updated"` + - `type: optional "claude_artifact_invite_revoked"` - default: claude_chat_settings_updated + default: claude_artifact_invite_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -160588,17 +164712,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `claude_artifact_id: string` - Tagged ID of the conversation whose settings were updated, e.g. "claude_chat_01HX...". + Tagged ID of the artifact the invitation was for. - - `id: optional string` + - `claude_artifact_invite_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the invitation that was withdrawn. - - `claude_project_id: optional string or null` + - `invitee_email: string` - Project ID this chat belongs to, if any + Email address the invitation was sent to. + + - `role: string` + + The access level the invitation granted, for example `reader`. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -160606,6 +164738,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `invitee_user_id: optional string or null` + + Tagged user ID of the account outside the organization that had accepted the invitation; absent when it was withdrawn before anyone accepted. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -160614,13 +164750,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatSnapshotCreated object` + - `ClaudeArtifactInviteRoleUpdated object` - User created/shared a chat snapshot. + A member changed the access level of an email invitation to an artifact for someone outside the organization, whether the invitation was still pending or had been accepted; recorded in the artifact owner's organization with that member as the actor. - - `type: optional "claude_chat_snapshot_created"` + - `type: optional "claude_artifact_invite_role_updated"` - default: claude_chat_snapshot_created + default: claude_artifact_invite_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -160828,9 +164964,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `claude_artifact_id: string` - - `claude_chat_snapshot_id: string` + Tagged ID of the artifact the invitation is for. + + - `claude_artifact_invite_id: string` + + Tagged ID of the invitation whose access level was changed. + + - `invitee_email: string` + + Email address the invitation was sent to. + + - `role: string` + + The access level the invitation grants after the change, for example `reader`. - `id: optional string` @@ -160842,6 +164990,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `invitee_user_id: optional string or null` + + Tagged user ID of the account outside the organization that had accepted the invitation; absent while the invitation is pending. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -160850,13 +165002,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatSnapshotDeleted object` + - `previous_role: optional string or null` - User deleted/unshared a chat snapshot. + The access level the invitation granted before the change, for example `commenter`. - - `type: optional "claude_chat_snapshot_deleted"` + - `ClaudeArtifactSentToPartner object` - default: claude_chat_snapshot_deleted + A member sent an export of an artifact to a partner application ("Send to …" on the artifact; a partner is a third-party application listed in Claude's connector directory): a file exported from the artifact was made available over a temporary link for the chosen partner to fetch. One activity is recorded per send, in the artifact owner's organization with the sending member as actor, whether or not the partner then retrieved the file; the partner's own import of the file is not part of this record. The file's name and contents are not recorded. + + - `type: optional "claude_artifact_sent_to_partner"` + + default: claude_artifact_sent_to_partner - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -161064,14 +165220,30 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_snapshot_id: string` + - `claude_artifact_id: string` + + Tagged ID of the artifact the file was exported from. + + - `claude_artifact_send_id: string` + + Tagged ID of this send; a new one for every link created, so two sends of the same artifact to the same partner are distinct. + + - `claude_artifact_version_id: string` + + The version of the artifact served to the member when they sent it. + + - `mime_type: string` + + MIME type of the exported file, for example `text/html`. + + - `size_bytes: number` + + Size of the exported file in bytes. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_id: optional string or null` - - `created_at: optional string` When this activity occurred. @@ -161086,13 +165258,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatSnapshotViewed object` + - `partner_mcp_directory_server_id: optional string or null` - User viewed a chat snapshot (authenticated or public/unauthenticated). + Tagged ID of the partner's MCP directory listing (the listing's public ID), as reported by the member's Claude app when it sent the file. It is not independently verified, and is absent when the app did not report a valid listing ID. - - `type: optional "claude_chat_snapshot_viewed"` + - `ClaudeArtifactTypeDefaultUpdated object` - default: claude_chat_snapshot_viewed + An organization's default artifact for an artifact type (for example, its default design system) was set or cleared. Neither artifact named is itself modified. + + - `type: optional "claude_artifact_type_default_updated"` + + default: claude_artifact_type_default_updated + + - `action: "cleared" or "set" or "unspecified"` + + Whether the default was set or cleared. + + - `"cleared"` + + - `"set"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -161300,14 +165486,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_snapshot_id: string` + - `claude_artifact_id: string` + + Tagged ID of the artifact that was made the default, or of the artifact that was the default until it was cleared. + + - `scope: "org" or "unspecified"` + + Whose default changed. + + - `"org"` + + - `"unspecified"` + + - `type_claude_artifact_id: string` + + Tagged ID of the published artifact that defines the template (for example, the design-system template) whose default changed. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_id: optional string or null` - - `created_at: optional string` When this activity occurred. @@ -161322,13 +165520,23 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactDuplicated object` + - `ClaudeArtifactTypePinUpdated object` - A user duplicated an artifact they could view into a new artifact that they own. The actor is the user who created the copy; the source artifact is not modified. + An artifact was pinned or unpinned for an artifact type (for example, a design system was pinned so every member sees it in their picker). Neither artifact named is itself modified, and pinning does not change who can open it. - - `type: optional "claude_artifact_duplicated"` + - `type: optional "claude_artifact_type_pin_updated"` - default: claude_artifact_duplicated + default: claude_artifact_type_pin_updated + + - `action: "pinned" or "unpinned" or "unspecified"` + + Whether the artifact was pinned or unpinned. + + - `"pinned"` + + - `"unpinned"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -161538,11 +165746,11 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `claude_artifact_id: string` - Tagged ID of the new artifact created by the duplication. It is owned by the actor and is independent of the source artifact. + Tagged ID of the artifact that was pinned or unpinned. - - `source_claude_artifact_id: string` + - `type_claude_artifact_id: string` - Tagged ID of the artifact that was copied. + Tagged ID of the published artifact that defines the template (for example, the design-system template) the pin belongs to. - `id: optional string` @@ -161562,27 +165770,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `source_claude_artifact_version_id: optional string or null` - - The version of the source artifact that was copied into the new artifact. - - - `ClaudeArtifactExternalSharingPermissionUpdated object` - - An organization admin allowed one artifact to be shared outside the organization by link while the organization-wide external sharing setting was off, or revoked that permission. - - - `type: optional "claude_artifact_external_sharing_permission_updated"` - - default: claude_artifact_external_sharing_permission_updated - - - `action: "allowed" or "revoked" or "unspecified"` - - Whether the permission was allowed or revoked. + - `ClaudeChatAccessFailed object` - - `"allowed"` + A user was denied access to a Claude.ai chat conversation. - - `"revoked"` + - `type: optional "claude_chat_access_failed"` - - `"unspecified"` + default: claude_chat_access_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -161790,9 +165984,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` + - `claude_chat_id: string` - Tagged ID of the artifact. + The chat conversation the user was denied access to, e.g. "claude_chat_01Ab...". - `id: optional string` @@ -161812,13 +166006,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactInviteAccepted object` + - `ClaudeChatCreated object` - Someone outside the organization signed in with a verified account for the invited address and accepted an invitation to an artifact, and can now open it; recorded in the artifact owner's organization. The person who accepted is identified by `invitee_email` and `invitee_user_id`. + User created a chat. - - `type: optional "claude_artifact_invite_accepted"` + - `type: optional "claude_chat_created"` - default: claude_artifact_invite_accepted + default: claude_chat_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -162026,30 +166220,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - Tagged ID of the artifact the invitation is for. - - - `claude_artifact_invite_id: string` - - Tagged ID of the invitation that was accepted. - - - `invitee_email: string` - - Email address the invitation was sent to. - - - `invitee_user_id: string` - - Tagged user ID of the account outside the organization that accepted the invitation. - - - `role: string` + - `claude_chat_id: string` - The access level the invitation grants, for example `reader`. + Tagged ID of the created conversation, e.g. "claude_chat_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + Tagged ID of the project the chat was created in, if any, e.g. "claude_proj_01HX...". + - `created_at: optional string` When this activity occurred. @@ -162064,13 +166246,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactInviteCreated object` + - `ClaudeChatDeleted object` - A member invited (or re-invited) an email address outside the organization to an artifact; recorded in the artifact owner's organization with the inviting member as the actor. + A user deleted a Claude.ai chat conversation. - - `type: optional "claude_artifact_invite_created"` + - `type: optional "claude_chat_deleted"` - default: claude_artifact_invite_created + default: claude_chat_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -162278,26 +166460,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - Tagged ID of the artifact the invitation is for. - - - `claude_artifact_invite_id: string` - - Tagged ID of the invitation; the same ID appears on the accepted, role-updated and revoked activities for this invitation, including a later re-invitation of the same address. - - - `invitee_email: string` - - Email address the invitation was sent to. - - - `role: string` + - `claude_chat_id: string` - The access level the invitation grants, for example `reader`. + The chat conversation that was deleted, e.g. "claude_chat_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + The project the chat belonged to, if any, e.g. "claude_proj_01HX...". + - `created_at: optional string` When this activity occurred. @@ -162312,13 +166486,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactInviteRevoked object` + - `ClaudeChatDeletionFailed object` - A member withdrew an invitation to an artifact for someone outside the organization, removing any access that invitation had granted; recorded in the artifact owner's organization with that member as the actor. + A request to delete a Claude.ai chat conversation failed. - - `type: optional "claude_artifact_invite_revoked"` + - `type: optional "claude_chat_deletion_failed"` - default: claude_artifact_invite_revoked + default: claude_chat_deletion_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -162526,21 +166700,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - Tagged ID of the artifact the invitation was for. - - - `claude_artifact_invite_id: string` - - Tagged ID of the invitation that was withdrawn. - - - `invitee_email: string` - - Email address the invitation was sent to. - - - `role: string` + - `claude_chat_id: string` - The access level the invitation granted, for example `reader`. + The chat conversation the user attempted to delete, e.g. "claude_chat_01HX...". - `id: optional string` @@ -162552,10 +166714,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `invitee_user_id: optional string or null` - - Tagged user ID of the account outside the organization that had accepted the invitation; absent when it was withdrawn before anyone accepted. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -162564,13 +166722,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactInviteRoleUpdated object` + - `ClaudeChatSyncSourceCreated object` - A member changed the access level of an email invitation to an artifact for someone outside the organization, whether the invitation was still pending or had been accepted; recorded in the artifact owner's organization with that member as the actor. + A sync source was connected for syncing external content into Claude chats. - - `type: optional "claude_artifact_invite_role_updated"` + - `type: optional "claude_chat_sync_source_created"` - default: claude_artifact_invite_role_updated + default: claude_chat_sync_source_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -162778,21 +166936,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - Tagged ID of the artifact the invitation is for. - - - `claude_artifact_invite_id: string` - - Tagged ID of the invitation whose access level was changed. - - - `invitee_email: string` + - `claude_chat_sync_source_id: string` - Email address the invitation was sent to. + Tagged ID of the chat-scoped sync source that was created. - - `role: string` + - `provider: string` - The access level the invitation grants after the change, for example `reader`. + The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. - `id: optional string` @@ -162804,10 +166954,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `invitee_user_id: optional string or null` - - Tagged user ID of the account outside the organization that had accepted the invitation; absent while the invitation is pending. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -162816,17 +166962,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` + - `resource_descriptor: optional string or null` - The access level the invitation granted before the change, for example `commenter`. + A short provider-specific identifier for the external resource that was connected, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - `ClaudeArtifactSentToPartner object` + - `ClaudeChatSyncSourceDeleted object` - A member sent an export of an artifact to a partner application ("Send to …" on the artifact; a partner is a third-party application listed in Claude's connector directory): a file exported from the artifact was made available over a temporary link for the chosen partner to fetch. One activity is recorded per send, in the artifact owner's organization with the sending member as actor, whether or not the partner then retrieved the file; the partner's own import of the file is not part of this record. The file's name and contents are not recorded. + A sync source was disconnected from Claude chats. - - `type: optional "claude_artifact_sent_to_partner"` + - `type: optional "claude_chat_sync_source_deleted"` - default: claude_artifact_sent_to_partner + default: claude_chat_sync_source_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -163034,25 +167180,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - Tagged ID of the artifact the file was exported from. - - - `claude_artifact_send_id: string` - - Tagged ID of this send; a new one for every link created, so two sends of the same artifact to the same partner are distinct. - - - `claude_artifact_version_id: string` - - The version of the artifact served to the member when they sent it. - - - `mime_type: string` + - `claude_chat_sync_source_id: string` - MIME type of the exported file, for example `text/html`. + Tagged ID of the chat-scoped sync source that was deleted. - - `size_bytes: number` + - `provider: string` - Size of the exported file in bytes. + The external provider backing the sync source. Always `unspecified` for deletion events. - `id: optional string` @@ -163072,27 +167206,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `partner_mcp_directory_server_id: optional string or null` - - Tagged ID of the partner's MCP directory listing (the listing's public ID), as reported by the member's Claude app when it sent the file. It is not independently verified, and is absent when the app did not report a valid listing ID. - - - `ClaudeArtifactTypeDefaultUpdated object` - - An organization's default artifact for an artifact type (for example, its default design system) was set or cleared. Neither artifact named is itself modified. - - - `type: optional "claude_artifact_type_default_updated"` - - default: claude_artifact_type_default_updated - - - `action: "cleared" or "set" or "unspecified"` - - Whether the default was set or cleared. + - `ClaudeChatSyncSourceUpdated object` - - `"cleared"` + A Claude chat sync source's configuration was updated. - - `"set"` + - `type: optional "claude_chat_sync_source_updated"` - - `"unspecified"` + default: claude_chat_sync_source_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -163300,26 +167420,22 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - Tagged ID of the artifact that was made the default, or of the artifact that was the default until it was cleared. - - - `scope: "org" or "unspecified"` - - Whose default changed. - - - `"org"` + - `claude_chat_sync_source_id: string` - - `"unspecified"` + Tagged ID of the chat-scoped sync source that was updated. - - `type_claude_artifact_id: string` + - `provider: string` - Tagged ID of the published artifact that defines the template (for example, the design-system template) whose default changed. + The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `config_changed: optional boolean or null` + + Whether the update changed the stored sync-source configuration, including sync settings such as path filters. False for a re-sync or a metadata-only refresh of the same resource. + - `created_at: optional string` When this activity occurred. @@ -163334,23 +167450,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeArtifactTypePinUpdated object` - - An artifact was pinned or unpinned for an artifact type (for example, a design system was pinned so every member sees it in their picker). Neither artifact named is itself modified, and pinning does not change who can open it. - - - `type: optional "claude_artifact_type_pin_updated"` - - default: claude_artifact_type_pin_updated + - `resource_descriptor: optional string or null` - - `action: "pinned" or "unpinned" or "unspecified"` + A short provider-specific identifier for the external resource after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - Whether the artifact was pinned or unpinned. + - `ClaudeChatUpdated object` - - `"pinned"` + User updated the chat metadata (e.g name, model). - - `"unpinned"` + - `type: optional "claude_chat_updated"` - - `"unspecified"` + default: claude_chat_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -163558,18 +167668,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` - - Tagged ID of the artifact that was pinned or unpinned. - - - `type_claude_artifact_id: string` + - `claude_chat_id: string` - Tagged ID of the published artifact that defines the template (for example, the design-system template) the pin belongs to. + Tagged ID of the updated conversation, e.g. "claude_chat_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + Tagged ID of the project the chat belongs to, if any, e.g. "claude_proj_01HX...". + - `created_at: optional string` When this activity occurred. @@ -163584,13 +167694,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatAccessFailed object` + - `ClaudeChatViewed object` - A user was denied access to a Claude.ai chat conversation. + A user viewed a Claude.ai chat conversation. - - `type: optional "claude_chat_access_failed"` + - `type: optional "claude_chat_viewed"` - default: claude_chat_access_failed + default: claude_chat_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -163800,12 +167910,16 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `claude_chat_id: string` - The chat conversation the user was denied access to, e.g. "claude_chat_01Ab...". + The chat conversation that was viewed, e.g. "claude_chat_01Ab...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + The project the chat belongs to, if any, e.g. "claude_proj_01Ab...". + - `created_at: optional string` When this activity occurred. @@ -163820,13 +167934,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatCreated object` + - `ClaudeCodeCredentialRevoked object` - User created a chat. + A Claude Code credential (runner pool key, runner token, or session token) was revoked. The credential itself is never recorded. - - `type: optional "claude_chat_created"` + - `type: optional "claude_code_credential_revoked"` - default: claude_chat_created + default: claude_code_credential_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164034,17 +168148,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `credential_type: "runner_pool_key" or "runner_token" or "session_token" or "unspecified"` - Tagged ID of the created conversation, e.g. "claude_chat_01HX...". + The kind of credential the revoked target identifies, when known. Subject-targeted revocations cascade to every credential delegated from the target regardless of kind; this field describes the target itself, not the full set of credentials the cascade reached. For a revocation submitted as a pasted credential the kind is best-effort and may be inaccurate; the recorded jti and the revocation itself are unaffected. + + - `"runner_pool_key"` + + - `"runner_token"` + + - `"session_token"` + + - `"unspecified"` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_id: optional string or null` + - `agent_id: optional string or null` - Tagged ID of the project the chat was created in, if any, e.g. "claude_proj_01HX...". + The agent identity whose Claude Code credentials were revoked, when revocation targeted every session created by an agent identity, e.g. "cagt_01HX...". - `created_at: optional string` @@ -164052,6 +168174,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `delegating_jti: optional string or null` + + The credential identifier whose delegated credentials were revoked (a chain revoke): every credential delegated from this one was revoked, but the credential itself was not. Distinct from `jti`, which records a revocation of the credential itself and its delegates. + + - `jti: optional string or null` + + The unique identifier of the revoked credential, recorded in its canonical form. Revoking a runner pool key also revokes every runner and session token delegated from it. A revocation submitted as a pasted credential is recorded by that credential's identifier. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -164060,13 +168190,29 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatDeleted object` + - `runner_id: optional string or null` - A user deleted a Claude.ai chat conversation. + The runner whose credentials were revoked, when revocation targeted every credential delegated from the runner, e.g. "ccrunner_01HX...". - - `type: optional "claude_chat_deleted"` + - `runner_pool_id: optional string or null` - default: claude_chat_deleted + The runner pool whose credentials were revoked, when revocation targeted every credential delegated from the pool, e.g. "ccpool_01HX...". + + - `session_id: optional string or null` + + The session whose credentials were revoked, when revocation targeted every credential delegated from the session, e.g. "cse_01HX...". + + - `user_id: optional string or null` + + The user whose Claude Code credentials were revoked, when revocation targeted every credential minted for a user. Carries the user's tagged account ID, e.g. "user_01HX..." — the only form the revocation API accepts, so the field joins against other activities' account identifiers and never carries an email. + + - `ClaudeCodeReviewConfigUpdated object` + + Claude Code Review configuration was enabled/disabled for an org. + + - `type: optional "claude_code_review_config_updated"` + + default: claude_code_review_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164274,24 +168420,28 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `enabled: boolean` - The chat conversation that was deleted, e.g. "claude_chat_01HX...". + Whether code review is now enabled - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_id: optional string or null` - - The project the chat belonged to, if any, e.g. "claude_proj_01HX...". - - `created_at: optional string` When this activity occurred. format: date-time + - `environment_id: optional string or null` + + Environment used for code review + + - `model: optional string or null` + + Model configured for code review + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -164300,13 +168450,57 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatDeletionFailed object` + - `per_review_limit_usd: optional string or null` - A request to delete a Claude.ai chat conversation failed. + Per-review spend limit in USD - - `type: optional "claude_chat_deletion_failed"` + - `previous_enabled: optional boolean or null` - default: claude_chat_deletion_failed + Whether code review was enabled before the change. Absent when no configuration existed before this update. + + - `previous_environment_id: optional string or null` + + Environment used for code review before the change. Absent when no configuration existed before this update or no environment was set. + + - `previous_model: optional string or null` + + Model configured for code review before the change. Absent when no configuration existed before this update or no model was set. + + - `previous_per_review_limit_usd: optional string or null` + + Per-review spend limit in USD before the change. Absent when no configuration existed before this update or no limit was set. + + - `previous_review_level: optional string or null` + + Review level set for the organization's code reviews before the change: "low" (Quick), "medium" (Standard) or "high" (Deep). Absent when no configuration existed before this update or no level was set. + + - `previous_show_tips: optional boolean or null` + + Whether tip-style pull-request comments were enabled before the change. Absent when no configuration existed before this update. + + - `previous_verification_enabled: optional boolean or null` + + Whether the verification stage of code review was enabled for the organization before the change. Absent when no configuration existed before this update or no preference was set. + + - `review_level: optional string or null` + + Review level now set for the organization's code reviews: "low" (Quick), "medium" (Standard) or "high" (Deep). Repositories without their own level use this one. Absent when no level is set; the default level, Standard, then applies. + + - `show_tips: optional boolean or null` + + Whether tip-style pull-request comments are now enabled + + - `verification_enabled: optional boolean or null` + + Whether the verification stage of code review is now enabled for the organization. Absent when the organization has not set a preference and the default applies. + + - `ClaudeCodeReviewPromoEnrolled object` + + An organization admin enrolled the organization in a Claude Code Review promotion, for example by claiming promotional credits. + + - `type: optional "claude_code_review_promo_enrolled"` + + default: claude_code_review_promo_enrolled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164514,9 +168708,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `promo_id: string` - The chat conversation the user attempted to delete, e.g. "claude_chat_01HX...". + Identifier of the promotion the organization enrolled in. - `id: optional string` @@ -164528,6 +168722,12 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `expires_at: optional string or null` + + When the organization's promotional access or credits expire. + + format: date-time + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -164536,13 +168736,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatSyncSourceCreated object` + - `ClaudeCodeReviewRepositoryAdded object` - A sync source was connected for syncing external content into Claude chats. + A repository was added to org-level Claude Code Review configuration. - - `type: optional "claude_chat_sync_source_created"` + - `type: optional "claude_code_review_repository_added"` - default: claude_chat_sync_source_created + default: claude_code_review_repository_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164750,13 +168950,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_sync_source_id: string` + - `config_id: string` - Tagged ID of the chat-scoped sync source that was created. + ID of the repository configuration - - `provider: string` + - `repo_name: string` - The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. + Repository name + + - `repo_owner: string` + + Repository owner (GitHub org/user) + + - `trigger_mode: string` + + When code review is triggered - `id: optional string` @@ -164776,17 +168984,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `resource_descriptor: optional string or null` - - A short provider-specific identifier for the external resource that was connected, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - - `ClaudeChatSyncSourceDeleted object` + - `ClaudeCodeReviewRepositoryRemoved object` - A sync source was disconnected from Claude chats. + A repository was removed from org-level Claude Code Review configuration. - - `type: optional "claude_chat_sync_source_deleted"` + - `type: optional "claude_code_review_repository_removed"` - default: claude_chat_sync_source_deleted + default: claude_code_review_repository_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164994,13 +169198,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_sync_source_id: string` + - `config_id: string` - Tagged ID of the chat-scoped sync source that was deleted. + ID of the deleted repository configuration - - `provider: string` + - `repo_name: string` - The external provider backing the sync source. Always `unspecified` for deletion events. + Repository name at deletion time + + - `repo_owner: string` + + Repository owner at deletion time - `id: optional string` @@ -165020,13 +169228,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatSyncSourceUpdated object` + - `ClaudeCodeReviewRepositoryUpdated object` - A Claude chat sync source's configuration was updated. + A Claude Code Review repository configuration was updated. - - `type: optional "claude_chat_sync_source_updated"` + - `type: optional "claude_code_review_repository_updated"` - default: claude_chat_sync_source_updated + default: claude_code_review_repository_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165234,21 +169442,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_sync_source_id: string` + - `config_id: string` - Tagged ID of the chat-scoped sync source that was updated. + ID of the repository configuration - - `provider: string` + - `repo_name: string` - The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. + Repository name - - `id: optional string` + - `repo_owner: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Repository owner - - `config_changed: optional boolean or null` + - `id: optional string` - Whether the update changed the stored sync-source configuration, including sync settings such as path filters. False for a re-sync or a metadata-only refresh of the same resource. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -165264,17 +169472,29 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `resource_descriptor: optional string or null` + - `previous_review_level: optional string or null` - A short provider-specific identifier for the external resource after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. + Review level set for this repository's code reviews before the change: "low" (Quick), "medium" (Standard) or "high" (Deep). Absent when no level was set. - - `ClaudeChatUpdated object` + - `review_level: optional string or null` - User updated the chat metadata (e.g name, model). + Review level now set for this repository's code reviews: "low" (Quick), "medium" (Standard) or "high" (Deep). Absent when no level is set; the repository then uses the organization-wide level (review_level on claude_code_review_config_updated), or Standard if none is set. - - `type: optional "claude_chat_updated"` + - `status: optional string or null` - default: claude_chat_updated + Status of the repository configuration after the change: "active" or "disabled". Absent when the change did not set a status. + + - `trigger_mode: optional string or null` + + Updated trigger mode + + - `ClaudeCodeRunnerDeleted object` + + A self-hosted runner was forcibly removed from its pool. Sessions assigned to the runner were returned to the pool queue, unless a session had already been requeued repeatedly, in which case it was marked stuck instead of being requeued again. + + - `type: optional "claude_code_runner_deleted"` + + default: claude_code_runner_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165482,18 +169702,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `runner_id: string` - Tagged ID of the updated conversation, e.g. "claude_chat_01HX...". + The runner that was removed, e.g. "ccrunner_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_id: optional string or null` - - Tagged ID of the project the chat belongs to, if any, e.g. "claude_proj_01HX...". - - `created_at: optional string` When this activity occurred. @@ -165508,13 +169724,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeChatViewed object` + - `runner_pool_id: optional string or null` - A user viewed a Claude.ai chat conversation. + The pool the runner was removed from, e.g. "ccpool_01HX...". - - `type: optional "claude_chat_viewed"` + - `ClaudeCodeRunnerPoolCreated object` - default: claude_chat_viewed + A self-hosted runner pool for Claude Code was created. + + - `type: optional "claude_code_runner_pool_created"` + + default: claude_code_runner_pool_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165722,17 +169942,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `display_name: string` - The chat conversation that was viewed, e.g. "claude_chat_01Ab...". + The display name the pool was created with. - - `id: optional string` + - `runner_pool_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The runner pool that was created, e.g. "ccpool_01HX...". - - `claude_project_id: optional string or null` + - `id: optional string` - The project the chat belongs to, if any, e.g. "claude_proj_01Ab...". + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -165748,13 +169968,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeCredentialRevoked object` + - `ClaudeCodeRunnerPoolDeleted object` - A Claude Code credential (runner pool key, runner token, or session token) was revoked. The credential itself is never recorded. + A self-hosted runner pool was deleted. - - `type: optional "claude_code_credential_revoked"` + - `type: optional "claude_code_runner_pool_deleted"` - default: claude_code_credential_revoked + default: claude_code_runner_pool_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165962,39 +170182,23 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_type: "runner_pool_key" or "runner_token" or "session_token" or "unspecified"` - - The kind of credential the revoked target identifies, when known. Subject-targeted revocations cascade to every credential delegated from the target regardless of kind; this field describes the target itself, not the full set of credentials the cascade reached. For a revocation submitted as a pasted credential the kind is best-effort and may be inaccurate; the recorded jti and the revocation itself are unaffected. - - - `"runner_pool_key"` - - - `"runner_token"` - - - `"session_token"` + - `runner_pool_id: string` - - `"unspecified"` + The runner pool that was deleted, e.g. "ccpool_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `agent_id: optional string or null` - - The agent identity whose Claude Code credentials were revoked, when revocation targeted every session created by an agent identity, e.g. "cagt_01HX...". - - `created_at: optional string` When this activity occurred. format: date-time - - `delegating_jti: optional string or null` - - The credential identifier whose delegated credentials were revoked (a chain revoke): every credential delegated from this one was revoked, but the credential itself was not. Distinct from `jti`, which records a revocation of the credential itself and its delegates. - - - `jti: optional string or null` + - `display_name: optional string or null` - The unique identifier of the revoked credential, recorded in its canonical form. Revoking a runner pool key also revokes every runner and session token delegated from it. A revocation submitted as a pasted credential is recorded by that credential's identifier. + The pool's display name at deletion time. - `organization_id: optional string or null` @@ -166004,29 +170208,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `runner_id: optional string or null` - - The runner whose credentials were revoked, when revocation targeted every credential delegated from the runner, e.g. "ccrunner_01HX...". - - - `runner_pool_id: optional string or null` - - The runner pool whose credentials were revoked, when revocation targeted every credential delegated from the pool, e.g. "ccpool_01HX...". - - - `session_id: optional string or null` - - The session whose credentials were revoked, when revocation targeted every credential delegated from the session, e.g. "cse_01HX...". - - - `user_id: optional string or null` - - The user whose Claude Code credentials were revoked, when revocation targeted every credential minted for a user. Carries the user's tagged account ID, e.g. "user_01HX..." — the only form the revocation API accepts, so the field joins against other activities' account identifiers and never carries an email. - - - `ClaudeCodeReviewConfigUpdated object` + - `ClaudeCodeRunnerPoolSecretMinted object` - Claude Code Review configuration was enabled/disabled for an org. + A registration key for a self-hosted runner pool was minted. Runners present this key to join the pool. The key itself is never recorded. - - `type: optional "claude_code_review_config_updated"` + - `type: optional "claude_code_runner_pool_secret_minted"` - default: claude_code_review_config_updated + default: claude_code_runner_pool_secret_minted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -166234,9 +170422,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `enabled: boolean` + - `jti: string` - Whether code review is now enabled + The minted key's unique identifier (its JWT `jti` claim), usable to revoke that key later. + + - `runner_pool_id: string` + + The runner pool the key was minted for, e.g. "ccpool_01HX...". - `id: optional string` @@ -166248,13 +170440,15 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `environment_id: optional string or null` + - `expires_at: optional string or null` - Environment used for code review + When the minted key expires. - - `model: optional string or null` + format: date-time - Model configured for code review + - `label: optional string or null` + + The label the key was minted with. The key minted automatically when a pool is created carries the label "Initial key". - `organization_id: optional string or null` @@ -166264,57 +170458,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `per_review_limit_usd: optional string or null` - - Per-review spend limit in USD - - - `previous_enabled: optional boolean or null` - - Whether code review was enabled before the change. Absent when no configuration existed before this update. - - - `previous_environment_id: optional string or null` - - Environment used for code review before the change. Absent when no configuration existed before this update or no environment was set. - - - `previous_model: optional string or null` - - Model configured for code review before the change. Absent when no configuration existed before this update or no model was set. - - - `previous_per_review_limit_usd: optional string or null` - - Per-review spend limit in USD before the change. Absent when no configuration existed before this update or no limit was set. - - - `previous_review_level: optional string or null` - - Review level set for the organization's code reviews before the change: "low" (Quick), "medium" (Standard) or "high" (Deep). Absent when no configuration existed before this update or no level was set. - - - `previous_show_tips: optional boolean or null` - - Whether tip-style pull-request comments were enabled before the change. Absent when no configuration existed before this update. - - - `previous_verification_enabled: optional boolean or null` - - Whether the verification stage of code review was enabled for the organization before the change. Absent when no configuration existed before this update or no preference was set. - - - `review_level: optional string or null` + - `ClaudeCodeRunnerPoolSessionQueueUpdated object` - Review level now set for the organization's code reviews: "low" (Quick), "medium" (Standard) or "high" (Deep). Repositories without their own level use this one. Absent when no level is set; the default level, Standard, then applies. + An admin changed a session's position in its self-hosted runner pool's queue: requeued it onto a different runner, dismissed it from the queue, or re-admitted it for another runner provisioning attempt. - - `show_tips: optional boolean or null` + - `type: optional "claude_code_runner_pool_session_queue_updated"` - Whether tip-style pull-request comments are now enabled + default: claude_code_runner_pool_session_queue_updated - - `verification_enabled: optional boolean or null` + - `action: "dismissed" or "provisioning_retried" or "requeued" or "unspecified"` - Whether the verification stage of code review is now enabled for the organization. Absent when the organization has not set a preference and the default applies. + What changed about the session's queue state. - - `ClaudeCodeReviewPromoEnrolled object` + - `"dismissed"` - An organization admin enrolled the organization in a Claude Code Review promotion, for example by claiming promotional credits. + - `"provisioning_retried"` - - `type: optional "claude_code_review_promo_enrolled"` + - `"requeued"` - default: claude_code_review_promo_enrolled + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -166522,9 +170684,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `promo_id: string` + - `session_id: string` - Identifier of the promotion the organization enrolled in. + The session whose queue state changed, e.g. "cse_01HX...". - `id: optional string` @@ -166536,11 +170698,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `expires_at: optional string or null` - - When the organization's promotional access or credits expire. + - `excluded_runner_id: optional string or null` - format: date-time + The runner the session was moved off, when action is "requeued", e.g. "ccrunner_01HX...". - `organization_id: optional string or null` @@ -166550,13 +170710,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeReviewRepositoryAdded object` + - `runner_pool_id: optional string or null` - A repository was added to org-level Claude Code Review configuration. + The runner pool whose queue the session is in, when known, e.g. "ccpool_01HX...". - - `type: optional "claude_code_review_repository_added"` + - `ClaudeCodeRunnerPoolUpdated object` - default: claude_code_review_repository_added + A self-hosted runner pool's settings were updated. + + - `type: optional "claude_code_runner_pool_updated"` + + default: claude_code_runner_pool_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -166764,21 +170928,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `config_id: string` - - ID of the repository configuration - - - `repo_name: string` - - Repository name - - - `repo_owner: string` + - `display_name: string` - Repository owner (GitHub org/user) + The pool's display name after the update. - - `trigger_mode: string` + - `runner_pool_id: string` - When code review is triggered + The runner pool that was updated, e.g. "ccpool_01HX...". - `id: optional string` @@ -166798,13 +170954,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeReviewRepositoryRemoved object` + - `previous_display_name: optional string or null` - A repository was removed from org-level Claude Code Review configuration. + The pool's display name before the update. Absent when the name was unchanged or the previous value was unavailable. - - `type: optional "claude_code_review_repository_removed"` + - `ClaudeCodeSecurityCenterConfigUpdated object` - default: claude_code_review_repository_removed + Claude Code Security Center scanning was enabled/disabled for an org. + + - `type: optional "claude_code_security_center_config_updated"` + + default: claude_code_security_center_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167012,17 +171172,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `config_id: string` - - ID of the deleted repository configuration - - - `repo_name: string` - - Repository name at deletion time - - - `repo_owner: string` + - `enabled: boolean` - Repository owner at deletion time + Whether Security Center is now enabled - `id: optional string` @@ -167034,6 +171186,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `environment_id: optional string or null` + + Environment used for security scanning + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -167042,13 +171198,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeReviewRepositoryUpdated object` + - `ClaudeCodeSecurityScanCancelled object` - A Claude Code Review repository configuration was updated. + In-flight Claude Code Security scans were cancelled for a project. - - `type: optional "claude_code_review_repository_updated"` + - `type: optional "claude_code_security_scan_cancelled"` - default: claude_code_review_repository_updated + default: claude_code_security_scan_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167256,17 +171412,11 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `config_id: string` - - ID of the repository configuration - - - `repo_name: string` - - Repository name + - `scan_project_id: string` - - `repo_owner: string` + Tagged ID of the scan project - Repository owner + - `scans_cancelled: number` - `id: optional string` @@ -167286,29 +171436,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_review_level: optional string or null` - - Review level set for this repository's code reviews before the change: "low" (Quick), "medium" (Standard) or "high" (Deep). Absent when no level was set. - - - `review_level: optional string or null` - - Review level now set for this repository's code reviews: "low" (Quick), "medium" (Standard) or "high" (Deep). Absent when no level is set; the repository then uses the organization-wide level (review_level on claude_code_review_config_updated), or Standard if none is set. - - - `status: optional string or null` - - Updated status (ACTIVE/INACTIVE) - - - `trigger_mode: optional string or null` - - Updated trigger mode - - - `ClaudeCodeRunnerDeleted object` + - `ClaudeCodeSecurityScanCreated object` - A self-hosted runner was forcibly removed from its pool. Sessions assigned to the runner were returned to the pool queue, unless a session had already been requeued repeatedly, in which case it was marked stuck instead of being requeued again. + A Claude Code Security scan was started. - - `type: optional "claude_code_runner_deleted"` + - `type: optional "claude_code_security_scan_created"` - default: claude_code_runner_deleted + default: claude_code_security_scan_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167516,9 +171650,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `runner_id: string` + - `scan_id: string` - The runner that was removed, e.g. "ccrunner_01HX...". + Tagged ID of the created scan + + - `scan_project_id: string` + + Tagged ID of the scan project the scan belongs to - `id: optional string` @@ -167538,17 +171676,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `runner_pool_id: optional string or null` + - `ClaudeCodeSecurityScanProjectMemberUpdated object` - The pool the runner was removed from, e.g. "ccpool_01HX...". + A person's access to a Claude Code Security scan project was granted, changed, or revoked. - - `ClaudeCodeRunnerPoolCreated object` + - `type: optional "claude_code_security_scan_project_member_updated"` - A self-hosted runner pool for Claude Code was created. + default: claude_code_security_scan_project_member_updated - - `type: optional "claude_code_runner_pool_created"` + - `action: "member_added" or "member_removed" or "member_role_changed" or "unspecified"` - default: claude_code_runner_pool_created + Whether the member was granted access, had their role changed, or was revoked + + - `"member_added"` + + - `"member_removed"` + + - `"member_role_changed"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167756,18 +171902,32 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `display_name: string` + - `member_id: string` - The display name the pool was created with. + Tagged ID of the member whose access changed - - `runner_pool_id: string` + - `scan_project_id: string` - The runner pool that was created, e.g. "ccpool_01HX...". + Tagged ID of the scan project - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved (for example, an automated change); events recorded before this field was introduced omit it. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -167782,13 +171942,39 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeRunnerPoolDeleted object` + - `role: optional string or null` - A self-hosted runner pool was deleted. + Role granted to the member (full, view_triage, or view); omitted for revocations - - `type: optional "claude_code_runner_pool_deleted"` + - `ClaudeCodeSecurityScanProjectUpdated object` - default: claude_code_runner_pool_deleted + A Claude Code Security scan project was archived, unarchived, created, or migrated to a new product experience, or a user paused the project's scheduled scanning, unpaused it, or lifted a billing pause on it. + + - `type: optional "claude_code_security_scan_project_updated"` + + default: claude_code_security_scan_project_updated + + - `action: "archived" or "billing_pause_lifted" or "created" or 6 more` + + The state change applied to the scan project. + + - `"archived"` + + - `"billing_pause_lifted"` + + - `"created"` + + - `"migrated"` + + - `"paused"` + + - `"resumed"` + + - `"unarchived"` + + - `"unpaused"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167996,24 +172182,34 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `runner_pool_id: string` + - `scan_project_id: string` - The runner pool that was deleted, e.g. "ccpool_01HX...". + Tagged ID of the scan project - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved (the project's creation, or an automated change); events recorded before this field was introduced omit it. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. format: date-time - - `display_name: optional string or null` - - The pool's display name at deletion time. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -168022,13 +172218,23 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeRunnerPoolSecretMinted object` + - `ClaudeCodeSecurityScanProjectVisibilityUpdated object` - A registration key for a self-hosted runner pool was minted. Runners present this key to join the pool. The key itself is never recorded. + A Claude Code Security scan project was shared with the organization or made private. - - `type: optional "claude_code_runner_pool_secret_minted"` + - `type: optional "claude_code_security_scan_project_visibility_updated"` - default: claude_code_runner_pool_secret_minted + default: claude_code_security_scan_project_visibility_updated + + - `action: "shared" or "unshared" or "unspecified"` + + Whether the project was shared with the organization or made private + + - `"shared"` + + - `"unshared"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -168236,33 +172442,37 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `jti: string` - - The minted key's unique identifier (its JWT `jti` claim), usable to revoke that key later. - - - `runner_pool_id: string` + - `scan_project_id: string` - The runner pool the key was minted for, e.g. "ccpool_01HX...". + Tagged ID of the scan project - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` + - `access_level: optional string or null` - When this activity occurred. + Access level granted to organization members (read_only or full); only set when shared - format: date-time + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `expires_at: optional string or null` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved (for example, an automated change); events recorded before this field was introduced omit it. - When the minted key expires. + - `"member"` - format: date-time + - `"organization_admin"` - - `label: optional string or null` + - `"organization_share"` - The label the key was minted with. The key minted automatically when a pool is created carries the label "Initial key". + - `"owner"` + + - `"unspecified"` + + - `created_at: optional string` + + When this activity occurred. + + format: date-time - `organization_id: optional string or null` @@ -168272,23 +172482,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeRunnerPoolSessionQueueUpdated object` + - `ClaudeCodeSecurityScanRunUpdated object` - An admin changed a session's position in its self-hosted runner pool's queue: requeued it onto a different runner, dismissed it from the queue, or re-admitted it for another runner provisioning attempt. + A single Claude Code Security scan run was archived, unarchived, or resumed after a billing pause. - - `type: optional "claude_code_runner_pool_session_queue_updated"` + - `type: optional "claude_code_security_scan_run_updated"` - default: claude_code_runner_pool_session_queue_updated + default: claude_code_security_scan_run_updated - - `action: "dismissed" or "provisioning_retried" or "requeued" or "unspecified"` + - `action: "archived" or "created" or "migrated" or 3 more` - What changed about the session's queue state. + The state change applied to the scan run - - `"dismissed"` + - `"archived"` - - `"provisioning_retried"` + - `"created"` - - `"requeued"` + - `"migrated"` + + - `"resumed"` + + - `"unarchived"` - `"unspecified"` @@ -168498,9 +172712,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `session_id: string` + - `scan_id: string` - The session whose queue state changed, e.g. "cse_01HX...". + Tagged ID of the scan the request named — for archive/unarchive any scan in the run, not necessarily its canonical (run_index=0) scan; for resume, the paused scan - `id: optional string` @@ -168512,10 +172726,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `excluded_runner_id: optional string or null` - - The runner the session was moved off, when action is "requeued", e.g. "ccrunner_01HX...". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -168524,17 +172734,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `runner_pool_id: optional string or null` - - The runner pool whose queue the session is in, when known, e.g. "ccpool_01HX...". - - - `ClaudeCodeRunnerPoolUpdated object` + - `ClaudeCodeSecurityScanScheduleDeleted object` - A self-hosted runner pool's settings were updated. + A recurring scan schedule was deleted for a Claude Code Security project. - - `type: optional "claude_code_runner_pool_updated"` + - `type: optional "claude_code_security_scan_schedule_deleted"` - default: claude_code_runner_pool_updated + default: claude_code_security_scan_schedule_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -168742,13 +172948,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `display_name: string` - - The pool's display name after the update. - - - `runner_pool_id: string` + - `scan_project_id: string` - The runner pool that was updated, e.g. "ccpool_01HX...". + Tagged ID of the scan project - `id: optional string` @@ -168768,17 +172970,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_display_name: optional string or null` - - The pool's display name before the update. Absent when the name was unchanged or the previous value was unavailable. - - - `ClaudeCodeSecurityCenterConfigUpdated object` + - `ClaudeCodeSecurityScanScheduleUpdated object` - Claude Code Security Center scanning was enabled/disabled for an org. + A recurring scan schedule was set or replaced for a Claude Code Security project. - - `type: optional "claude_code_security_center_config_updated"` + - `type: optional "claude_code_security_scan_schedule_updated"` - default: claude_code_security_center_config_updated + default: claude_code_security_scan_schedule_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -168986,9 +173184,11 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `enabled: boolean` + - `cadence: string` - Whether Security Center is now enabled + - `scan_project_id: string` + + Tagged ID of the scan project - `id: optional string` @@ -169000,10 +173200,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `environment_id: optional string or null` - - Environment used for security scanning - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -169012,13 +173208,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityScanCancelled object` + - `ClaudeCodeSecurityVulnerabilityDeleted object` - In-flight Claude Code Security scans were cancelled for a project. + A Claude Code Security vulnerability finding was permanently deleted. - - `type: optional "claude_code_security_scan_cancelled"` + - `type: optional "claude_code_security_vulnerability_deleted"` - default: claude_code_security_scan_cancelled + default: claude_code_security_vulnerability_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169226,11 +173422,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_project_id: string` + - `scan_id: string` - Tagged ID of the scan project + Tagged ID of the scan the finding belonged to - - `scans_cancelled: number` + - `vulnerability_id: number` + + Numeric ID of the deleted finding, as shown in the product - `id: optional string` @@ -169250,13 +173448,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityScanCreated object` + - `ClaudeCodeSecurityVulnerabilityFixSessionCreated object` - A Claude Code Security scan was started. + A Claude Code remediation session was created for a Claude Code Security vulnerability finding. - - `type: optional "claude_code_security_scan_created"` + - `type: optional "claude_code_security_vulnerability_fix_session_created"` - default: claude_code_security_scan_created + default: claude_code_security_vulnerability_fix_session_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169466,16 +173664,30 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `scan_id: string` - Tagged ID of the created scan + Tagged ID of the scan the finding belongs to - - `scan_project_id: string` + - `session_id: string` - Tagged ID of the scan project the scan belongs to + ID of the created remediation session - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -169490,23 +173702,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityScanProjectMemberUpdated object` + - `ClaudeCodeSecurityVulnerabilityUpdated object` - A person's access to a Claude Code Security scan project was granted, changed, or revoked. + A Claude Code Security vulnerability finding was dismissed, restored, marked fixed, or reopened. - - `type: optional "claude_code_security_scan_project_member_updated"` + - `type: optional "claude_code_security_vulnerability_updated"` - default: claude_code_security_scan_project_member_updated + default: claude_code_security_vulnerability_updated - - `action: "member_added" or "member_removed" or "member_role_changed" or "unspecified"` + - `action: "dismissed" or "fixed" or "restored" or 2 more` - Whether the member was granted access, had their role changed, or was revoked + The state change applied to the finding - - `"member_added"` + - `"dismissed"` - - `"member_removed"` + - `"fixed"` - - `"member_role_changed"` + - `"restored"` + + - `"unfixed"` - `"unspecified"` @@ -169716,38 +173930,24 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `member_id: string` - - Tagged ID of the member whose access changed - - - `scan_project_id: string` + - `scan_id: string` - Tagged ID of the scan project + Tagged ID of the scan the finding belongs to - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved (for example, an automated change); events recorded before this field was introduced omit it. - - - `"member"` - - - `"organization_admin"` - - - `"organization_share"` - - - `"owner"` - - - `"unspecified"` - - `created_at: optional string` When this activity occurred. format: date-time + - `dismissal_reason: optional string or null` + + The categorized dismissal reason (only set when the finding was dismissed) + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -169756,39 +173956,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `role: optional string or null` - - Role granted to the member (full, view_triage, or view); omitted for revocations - - - `ClaudeCodeSecurityScanProjectUpdated object` - - A Claude Code Security scan project was archived, unarchived, created, or migrated to a new product experience, or a user paused the project's scheduled scanning, unpaused it, or lifted a billing pause on it. - - - `type: optional "claude_code_security_scan_project_updated"` - - default: claude_code_security_scan_project_updated - - - `action: "archived" or "billing_pause_lifted" or "created" or 6 more` - - The state change applied to the scan project. - - - `"archived"` - - - `"billing_pause_lifted"` - - - `"created"` - - - `"migrated"` - - - `"paused"` - - - `"resumed"` + - `ClaudeCodeSecurityWebhookCreated object` - - `"unarchived"` + A Claude Code Security outbound webhook was created. - - `"unpaused"` + - `type: optional "claude_code_security_webhook_created"` - - `"unspecified"` + default: claude_code_security_webhook_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169996,28 +174170,16 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_project_id: string` + - `url: string` - Tagged ID of the scan project + - `webhook_id: string` + + Tagged ID of the webhook - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved (the project's creation, or an automated change); events recorded before this field was introduced omit it. - - - `"member"` - - - `"organization_admin"` - - - `"organization_share"` - - - `"owner"` - - - `"unspecified"` - - `created_at: optional string` When this activity occurred. @@ -170032,23 +174194,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityScanProjectVisibilityUpdated object` - - A Claude Code Security scan project was shared with the organization or made private. - - - `type: optional "claude_code_security_scan_project_visibility_updated"` - - default: claude_code_security_scan_project_visibility_updated + - `scan_project_id: optional string or null` - - `action: "shared" or "unshared" or "unspecified"` + Tagged ID of the scan project (null for organization-wide webhooks) - Whether the project was shared with the organization or made private + - `ClaudeCodeSecurityWebhookDeleted object` - - `"shared"` + A Claude Code Security outbound webhook was deleted. - - `"unshared"` + - `type: optional "claude_code_security_webhook_deleted"` - - `"unspecified"` + default: claude_code_security_webhook_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -170256,32 +174412,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_project_id: string` + - `webhook_id: string` - Tagged ID of the scan project + Tagged ID of the webhook - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_level: optional string or null` - - Access level granted to organization members (read_only or full); only set when shared - - - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved (for example, an automated change); events recorded before this field was introduced omit it. - - - `"member"` - - - `"organization_admin"` - - - `"organization_share"` - - - `"owner"` - - - `"unspecified"` - - `created_at: optional string` When this activity occurred. @@ -170296,29 +174434,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityScanRunUpdated object` - - A single Claude Code Security scan run was archived, unarchived, or resumed after a billing pause. - - - `type: optional "claude_code_security_scan_run_updated"` - - default: claude_code_security_scan_run_updated - - - `action: "archived" or "created" or "migrated" or 3 more` - - The state change applied to the scan run - - - `"archived"` + - `scan_project_id: optional string or null` - - `"created"` + Tagged ID of the scan project (null for organization-wide webhooks) - - `"migrated"` + - `ClaudeCodeSecurityWebhookSecretUpdated object` - - `"resumed"` + The HMAC signing secret for a Claude Code Security webhook was rotated. - - `"unarchived"` + - `type: optional "claude_code_security_webhook_secret_updated"` - - `"unspecified"` + default: claude_code_security_webhook_secret_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -170526,9 +174652,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_id: string` + - `webhook_id: string` - Tagged ID of the scan the request named — for archive/unarchive any scan in the run, not necessarily its canonical (run_index=0) scan; for resume, the paused scan + Tagged ID of the webhook - `id: optional string` @@ -170548,13 +174674,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityScanScheduleDeleted object` + - `scan_project_id: optional string or null` - A recurring scan schedule was deleted for a Claude Code Security project. + Tagged ID of the scan project (null for organization-wide webhooks) - - `type: optional "claude_code_security_scan_schedule_deleted"` + - `ClaudeCodeSecurityWebhookUpdated object` - default: claude_code_security_scan_schedule_deleted + A Claude Code Security outbound webhook was updated. + + - `type: optional "claude_code_security_webhook_updated"` + + default: claude_code_security_webhook_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -170762,9 +174892,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_project_id: string` + - `webhook_id: string` - Tagged ID of the scan project + Tagged ID of the webhook - `id: optional string` @@ -170784,13 +174914,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityScanScheduleUpdated object` + - `scan_project_id: optional string or null` - A recurring scan schedule was set or replaced for a Claude Code Security project. + Tagged ID of the scan project (null for organization-wide webhooks) - - `type: optional "claude_code_security_scan_schedule_updated"` + - `ClaudeCodeTeamMemoryACLUpdated object` - default: claude_code_security_scan_schedule_updated + An RBAC group was added to or removed from the Claude Code team-memory ACL. + + - `type: optional "claude_code_team_memory_acl_updated"` + + default: claude_code_team_memory_acl_updated + + - `action: "removed" or "set" or "unspecified"` + + Whether the group was set (added/updated) or removed + + - `"removed"` + + - `"set"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -170998,16 +175142,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `cadence: string` - - - `scan_project_id: string` + - `group_id: string` - Tagged ID of the scan project + Tagged ID of the RBAC group - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_level: optional string or null` + + Access level granted (when action=set) + - `created_at: optional string` When this activity occurred. @@ -171022,13 +175168,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityVulnerabilityDeleted object` + - `previous_access_level: optional string or null` - A Claude Code Security vulnerability finding was permanently deleted. + Access level the group had before this change; absent when the group was not previously in the access list. For removals this is the access level that was removed. - - `type: optional "claude_code_security_vulnerability_deleted"` + - `ClaudeCodeTeamMemoryUpdated object` - default: claude_code_security_vulnerability_deleted + Claude Code team memory shared with the organization was updated. + + - `type: optional "claude_code_team_memory_updated"` + + default: claude_code_team_memory_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -171236,13 +175386,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_id: string` - - Tagged ID of the scan the finding belonged to - - - `vulnerability_id: number` + - `deleted_all: boolean` - Numeric ID of the deleted finding, as shown in the product + True when the entire team memory store for this scope was deleted in one request. - `id: optional string` @@ -171254,6 +175400,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `keys_deleted: optional array of string` + + Withdrawn — never populated. See `keys_deleted_count`. + + - `keys_deleted_count: optional number or null` + + Number of team memory entries removed. + + - `keys_written: optional array of string` + + Withdrawn — never populated. See `keys_written_count`. + + - `keys_written_count: optional number or null` + + Number of team memory entries created or updated. + + - `new_checksum: optional string or null` + + Checksum of the team memory after this change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -171262,13 +175428,37 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityVulnerabilityFixSessionCreated object` + - `previous_checksum: optional string or null` - A Claude Code remediation session was created for a Claude Code Security vulnerability finding. + Checksum of the team memory before this change; null when it did not exist. - - `type: optional "claude_code_security_vulnerability_fix_session_created"` + - `repo: optional string or null` - default: claude_code_security_vulnerability_fix_session_created + Withdrawn — never populated. + + - `version: optional number or null` + + Version number of the team memory store after this change. + + - `ClaudeCodeTeamOnboardingGuideUpdated object` + + A Claude Code team onboarding guide was created, updated, or deleted. + + - `type: optional "claude_code_team_onboarding_guide_updated"` + + default: claude_code_team_onboarding_guide_updated + + - `action: "created" or "deleted" or "unspecified" or "updated"` + + The state change applied to the onboarding guide. + + - `"created"` + + - `"deleted"` + + - `"unspecified"` + + - `"updated"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -171476,37 +175666,31 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_id: string` - - Tagged ID of the scan the finding belongs to - - - `session_id: string` + - `guide_short_code: string` - ID of the created remediation session + Short code identifying the onboarding guide — the public URL handle shown in the share link. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. + - `created_at: optional string` - - `"member"` + When this activity occurred. - - `"organization_admin"` + format: date-time - - `"organization_share"` + - `guide_id: optional string or null` - - `"owner"` + Tagged ID of the onboarding guide. - - `"unspecified"` + - `guide_name: optional string or null` - - `created_at: optional string` + Withdrawn — never populated. - When this activity occurred. + - `new_checksum: optional string or null` - format: date-time + Checksum of the guide content after this change; null when the guide was deleted. - `organization_id: optional string or null` @@ -171516,27 +175700,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityVulnerabilityUpdated object` - - A Claude Code Security vulnerability finding was dismissed, restored, marked fixed, or reopened. - - - `type: optional "claude_code_security_vulnerability_updated"` - - default: claude_code_security_vulnerability_updated - - - `action: "dismissed" or "fixed" or "restored" or 2 more` - - The state change applied to the finding + - `previous_checksum: optional string or null` - - `"dismissed"` + Checksum of the guide content before this change; null when the guide did not exist. - - `"fixed"` + - `ClaudeCodeUserMarketplacesUpdated object` - - `"restored"` + A user's Claude Code plugin marketplace selections were updated on Anthropic servers. - - `"unfixed"` + - `type: optional "claude_code_user_marketplaces_updated"` - - `"unspecified"` + default: claude_code_user_marketplaces_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -171744,9 +175918,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `scan_id: string` + - `deleted_all: boolean` - Tagged ID of the scan the finding belongs to + True when all of the user's marketplace selections were removed in one request. - `id: optional string` @@ -171758,9 +175932,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `dismissal_reason: optional string or null` + - `keys_deleted: optional array of string` - The categorized dismissal reason (only set when the finding was dismissed) + Withdrawn — never populated. See `keys_deleted_count`. + + - `keys_deleted_count: optional number or null` + + Number of marketplace selections removed. + + - `keys_written: optional array of string` + + Withdrawn — never populated. See `keys_written_count`. + + - `keys_written_count: optional number or null` + + Number of marketplace selections added or whose source changed. + + - `new_value: optional string or null` + + Withdrawn — never populated. - `organization_id: optional string or null` @@ -171770,13 +175960,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCodeSecurityWebhookCreated object` + - `previous_value: optional string or null` - A Claude Code Security outbound webhook was created. + Withdrawn — never populated. - - `type: optional "claude_code_security_webhook_created"` + - `ClaudeCodeUserMemoryUpdated object` - default: claude_code_security_webhook_created + A user's synced private Claude Code memory was updated or deleted on Anthropic servers. + + - `type: optional "claude_code_user_memory_updated"` + + default: claude_code_user_memory_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -171984,11 +176178,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `url: string` - - - `webhook_id: string` + - `deleted_all: boolean` - Tagged ID of the webhook + True when the user's entire synced memory for this scope was deleted in one request. - `id: optional string` @@ -172000,6 +176192,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `keys_deleted: optional array of string` + + Withdrawn — never populated. See `keys_deleted_count`. + + - `keys_deleted_count: optional number or null` + + Number of memory file paths removed. + + - `keys_written: optional array of string` + + Withdrawn — never populated. See `keys_written_count`. + + - `keys_written_count: optional number or null` + + Number of memory file paths created or updated. + + - `new_checksum: optional string or null` + + Checksum of the user's synced memory after this change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -172008,17 +176220,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scan_project_id: optional string or null` + - `previous_checksum: optional string or null` - Tagged ID of the scan project (null for organization-wide webhooks) + Checksum of the user's synced memory before this change; null when the store did not exist. - - `ClaudeCodeSecurityWebhookDeleted object` + - `repo: optional string or null` - A Claude Code Security outbound webhook was deleted. + Withdrawn — never populated. - - `type: optional "claude_code_security_webhook_deleted"` + - `ClaudeCodeUserPluginsUpdated object` - default: claude_code_security_webhook_deleted + A user's Claude Code plugin selections — which plugins are installed and enabled — were updated on Anthropic servers. + + - `type: optional "claude_code_user_plugins_updated"` + + default: claude_code_user_plugins_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172226,9 +176442,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `webhook_id: string` + - `deleted_all: boolean` - Tagged ID of the webhook + True when all of the user's plugin selections were removed in one request. - `id: optional string` @@ -172240,6 +176456,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `keys_deleted: optional array of string` + + Withdrawn — never populated. See `keys_deleted_count`. + + - `keys_deleted_count: optional number or null` + + Number of plugin selections removed. + + - `keys_written: optional array of string` + + Withdrawn — never populated. See `keys_written_count`. + + - `keys_written_count: optional number or null` + + Number of plugin selections added or whose enabled state changed. + + - `new_value: optional string or null` + + The targeted plugin's new enabled state, when a single plugin's state changed. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -172248,17 +176484,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scan_project_id: optional string or null` + - `previous_value: optional string or null` - Tagged ID of the scan project (null for organization-wide webhooks) + The targeted plugin's previous enabled state, when a single plugin's state changed; null when the plugin did not previously exist or multiple plugins changed. - - `ClaudeCodeSecurityWebhookSecretUpdated object` + - `ClaudeCodeUserSettingsUpdated object` - The HMAC signing secret for a Claude Code Security webhook was rotated. + A user's synced Claude Code settings were updated or deleted on Anthropic servers. - - `type: optional "claude_code_security_webhook_secret_updated"` + - `type: optional "claude_code_user_settings_updated"` - default: claude_code_security_webhook_secret_updated + default: claude_code_user_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172466,9 +176702,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `webhook_id: string` + - `deleted_all: boolean` - Tagged ID of the webhook + True when the user's entire synced settings store was deleted in one request. - `id: optional string` @@ -172480,6 +176716,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `keys_deleted: optional array of string` + + Withdrawn — never populated. See `keys_deleted_count`. + + - `keys_deleted_count: optional number or null` + + Number of settings entries removed. + + - `keys_written: optional array of string` + + Withdrawn — never populated. See `keys_written_count`. + + - `keys_written_count: optional number or null` + + Number of settings entries created or updated. + + - `new_checksum: optional string or null` + + Checksum of the user's synced settings after this change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -172488,17 +176744,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scan_project_id: optional string or null` + - `previous_checksum: optional string or null` - Tagged ID of the scan project (null for organization-wide webhooks) + Checksum of the user's synced settings before this change; null when the store did not exist. - - `ClaudeCodeSecurityWebhookUpdated object` + - `ClaudeEnterpriseUpgradeCreditUpdated object` - A Claude Code Security outbound webhook was updated. + An organization admin cancelled, or turned back on, the monthly usage credit the organization receives for upgrading from the Team plan to the Enterprise plan, together with the recurring monthly charge that accompanies it. - - `type: optional "claude_code_security_webhook_updated"` + - `type: optional "claude_enterprise_upgrade_credit_updated"` - default: claude_code_security_webhook_updated + default: claude_enterprise_upgrade_credit_updated + + - `action: "cancelled" or "resumed" or "unspecified"` + + Whether the credit was cancelled or turned back on + + - `"cancelled"` + + - `"resumed"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172706,10 +176972,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `webhook_id: string` - - Tagged ID of the webhook - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -172728,27 +176990,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scan_project_id: optional string or null` - - Tagged ID of the scan project (null for organization-wide webhooks) - - - `ClaudeCodeTeamMemoryACLUpdated object` - - An RBAC group was added to or removed from the Claude Code team-memory ACL. - - - `type: optional "claude_code_team_memory_acl_updated"` - - default: claude_code_team_memory_acl_updated - - - `action: "removed" or "set" or "unspecified"` - - Whether the group was set (added/updated) or removed + - `ClaudeFileAccessFailed object` - - `"removed"` + A user was denied access to a file in Claude.ai. - - `"set"` + - `type: optional "claude_file_access_failed"` - - `"unspecified"` + default: claude_file_access_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172956,17 +177204,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `group_id: string` + - `claude_file_id: string` - Tagged ID of the RBAC group + The file the user was denied access to, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_level: optional string or null` + - `claude_artifact_id: optional string or null` - Access level granted (when action=set) + The artifact the file was accessed through, if any, e.g. "claude_artifact_01HX...". + + - `claude_project_id: optional string or null` + + The project the file was accessed through, if any, e.g. "claude_proj_01HX...". - `created_at: optional string` @@ -172982,17 +177234,19 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_access_level: optional string or null` + - `filename: optional string or null` - Access level the group had before this change; absent when the group was not previously in the access list. For removals this is the access level that was removed. + **Deprecated** - - `ClaudeCodeTeamMemoryUpdated object` + Deprecated — DO NOT USE. Always empty; the file's display name is intentionally omitted. - Claude Code team memory shared with the organization was updated. + - `ClaudeFileExported object` - - `type: optional "claude_code_team_memory_updated"` + A file was exported from Claude to an external storage destination. - default: claude_code_team_memory_updated + - `type: optional "claude_file_exported"` + + default: claude_file_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173200,39 +177454,31 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` - - True when the entire team memory store for this scope was deleted in one request. - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` + - `export_destination: "google_drive" or "unspecified"` - When this activity occurred. + The external destination the file was exported to. - format: date-time + - `"google_drive"` - - `keys_deleted: optional array of string` + - `"unspecified"` - Withdrawn — never populated. See `keys_deleted_count`. + - `id: optional string` - - `keys_deleted_count: optional number or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - Number of team memory entries removed. + - `claude_chat_id: optional string or null` - - `keys_written: optional array of string` + The chat conversation the file was exported from, if the export originated in a chat, e.g. "claude_chat_01HX...". - Withdrawn — never populated. See `keys_written_count`. + - `claude_file_id: optional string or null` - - `keys_written_count: optional number or null` + The exported file, e.g. "claude_file_01HX...", if the file has a stored file record; files that exist only inside a session have no file ID. - Number of team memory entries created or updated. + - `created_at: optional string` - - `new_checksum: optional string or null` + When this activity occurred. - Checksum of the team memory after this change. + format: date-time - `organization_id: optional string or null` @@ -173242,37 +177488,19 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_checksum: optional string or null` - - Checksum of the team memory before this change; null when it did not exist. - - - `repo: optional string or null` - - Withdrawn — never populated. - - - `version: optional number or null` - - Version number of the team memory store after this change. - - - `ClaudeCodeTeamOnboardingGuideUpdated object` - - A Claude Code team onboarding guide was created, updated, or deleted. - - - `type: optional "claude_code_team_onboarding_guide_updated"` - - default: claude_code_team_onboarding_guide_updated + - `filename: string` - - `action: "created" or "deleted" or "unspecified" or "updated"` + **Deprecated** - The state change applied to the onboarding guide. + No longer populated. Where `claude_file_id` is present, resolve the name via the Compliance API files endpoint; sandbox and desktop exports carry no file id. - - `"created"` + - `ClaudeFileViewed object` - - `"deleted"` + A user viewed a file in Claude.ai. - - `"unspecified"` + - `type: optional "claude_file_viewed"` - - `"updated"` + default: claude_file_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173480,31 +177708,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `guide_short_code: string` + - `claude_file_id: string` - Short code identifying the onboarding guide — the public URL handle shown in the share link. + The file that was viewed, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` - - When this activity occurred. - - format: date-time + - `claude_artifact_id: optional string or null` - - `guide_id: optional string or null` + The artifact the file was accessed through, if any, e.g. "claude_artifact_01HX...". - Tagged ID of the onboarding guide. + - `claude_project_id: optional string or null` - - `guide_name: optional string or null` + The project the file was accessed through, if any, e.g. "claude_proj_01HX...". - Withdrawn — never populated. + - `created_at: optional string` - - `new_checksum: optional string or null` + When this activity occurred. - Checksum of the guide content after this change; null when the guide was deleted. + format: date-time - `organization_id: optional string or null` @@ -173514,17 +177738,19 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_checksum: optional string or null` + - `filename: optional string or null` - Checksum of the guide content before this change; null when the guide did not exist. + **Deprecated** - - `ClaudeCodeUserMarketplacesUpdated object` + Deprecated — DO NOT USE. Always empty; the file's display name is intentionally omitted. - A user's Claude Code plugin marketplace selections were updated on Anthropic servers. + - `ClaudeInsightsAttributionSettingUpdated object` - - `type: optional "claude_code_user_marketplaces_updated"` + An organization admin set the organization's setting that allows Smart Reports to be opened in the rendering that attributes findings to individual, identified members (off: no member can open that rendering). Every write is recorded, so the two values are equal when the setting was written with the value it already had. - default: claude_code_user_marketplaces_updated + - `type: optional "claude_insights_attribution_setting_updated"` + + default: claude_insights_attribution_setting_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173732,10 +177958,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` - - True when all of the user's marketplace selections were removed in one request. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -173746,25 +177968,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `keys_deleted: optional array of string` - - Withdrawn — never populated. See `keys_deleted_count`. - - - `keys_deleted_count: optional number or null` - - Number of marketplace selections removed. - - - `keys_written: optional array of string` - - Withdrawn — never populated. See `keys_written_count`. - - - `keys_written_count: optional number or null` - - Number of marketplace selections added or whose source changed. - - - `new_value: optional string or null` + - `current_value: optional boolean or null` - Withdrawn — never populated. + Setting value immediately after this write - `organization_id: optional string or null` @@ -173774,17 +177980,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional string or null` + - `previous_value: optional boolean or null` - Withdrawn — never populated. + Setting value immediately before this write - - `ClaudeCodeUserMemoryUpdated object` + - `ClaudeInsightsReportArchived object` - A user's synced private Claude Code memory was updated or deleted on Anthropic servers. + A Smart Report was archived, hiding it from the organization's default report list, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope). - - `type: optional "claude_code_user_memory_updated"` + - `type: optional "claude_insights_report_archived"` - default: claude_code_user_memory_updated + default: claude_insights_report_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173992,9 +178198,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` + - `report_id: string` - True when the user's entire synced memory for this scope was deleted in one request. + The report that was archived, e.g. "insr_01HX...". - `id: optional string` @@ -174006,26 +178212,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `keys_deleted: optional array of string` - - Withdrawn — never populated. See `keys_deleted_count`. - - - `keys_deleted_count: optional number or null` - - Number of memory file paths removed. - - - `keys_written: optional array of string` - - Withdrawn — never populated. See `keys_written_count`. - - - `keys_written_count: optional number or null` - - Number of memory file paths created or updated. - - - `new_checksum: optional string or null` - - Checksum of the user's synced memory after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -174034,21 +178220,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_checksum: optional string or null` - - Checksum of the user's synced memory before this change; null when the store did not exist. - - - `repo: optional string or null` - - Withdrawn — never populated. - - - `ClaudeCodeUserPluginsUpdated object` + - `ClaudeInsightsReportAttributionViewed object` - A user's Claude Code plugin selections — which plugins are installed and enabled — were updated on Anthropic servers. + A Smart Report was viewed or downloaded with its usage findings attributed to individual, identified members of the organization (rather than in the default rendering, which identifies no member), one session it lists was inspected from that attributed rendering, or an organization admin was shown which members one of its recommendations suggests. - - `type: optional "claude_code_user_plugins_updated"` + - `type: optional "claude_insights_report_attribution_viewed"` - default: claude_code_user_plugins_updated + default: claude_insights_report_attribution_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -174256,39 +178434,31 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` + - `report_id: string` - True when all of the user's plugin selections were removed in one request. + The report that was viewed with attribution, e.g. "insr_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `keys_deleted: optional array of string` - - Withdrawn — never populated. See `keys_deleted_count`. + - `admission_arm: optional "admin" or "delegate" or "share_recipient" or "unspecified" or null` - - `keys_deleted_count: optional number or null` + How the member who viewed the attributed rendering was admitted: an organization admin, a delegate (a member allowed to run reports on a limited scope), or a member the report was shared with. Not set on events recorded before this field existed. - Number of plugin selections removed. + - `"admin"` - - `keys_written: optional array of string` + - `"delegate"` - Withdrawn — never populated. See `keys_written_count`. + - `"share_recipient"` - - `keys_written_count: optional number or null` + - `"unspecified"` - Number of plugin selections added or whose enabled state changed. + - `created_at: optional string` - - `new_value: optional string or null` + When this activity occurred. - The targeted plugin's new enabled state, when a single plugin's state changed. + format: date-time - `organization_id: optional string or null` @@ -174298,17 +178468,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional string or null` - - The targeted plugin's previous enabled state, when a single plugin's state changed; null when the plugin did not previously exist or multiple plugins changed. - - - `ClaudeCodeUserSettingsUpdated object` + - `ClaudeInsightsReportDeleted object` - A user's synced Claude Code settings were updated or deleted on Anthropic servers. + An archived Smart Report was permanently deleted, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope): its document was removed; purge_confirmed says whether it was also removed from the organization's report list. - - `type: optional "claude_code_user_settings_updated"` + - `type: optional "claude_insights_report_deleted"` - default: claude_code_user_settings_updated + default: claude_insights_report_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -174516,9 +178682,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` + - `report_id: string` - True when the user's entire synced settings store was deleted in one request. + The report that was deleted, e.g. "insr_01HX...". - `id: optional string` @@ -174530,26 +178696,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `keys_deleted: optional array of string` - - Withdrawn — never populated. See `keys_deleted_count`. - - - `keys_deleted_count: optional number or null` - - Number of settings entries removed. - - - `keys_written: optional array of string` - - Withdrawn — never populated. See `keys_written_count`. - - - `keys_written_count: optional number or null` - - Number of settings entries created or updated. - - - `new_checksum: optional string or null` - - Checksum of the user's synced settings after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -174558,27 +178704,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_checksum: optional string or null` - - Checksum of the user's synced settings before this change; null when the store did not exist. - - - `ClaudeEnterpriseUpgradeCreditUpdated object` - - An organization admin cancelled, or turned back on, the monthly usage credit the organization receives for upgrading from the Team plan to the Enterprise plan, together with the recurring monthly charge that accompanies it. - - - `type: optional "claude_enterprise_upgrade_credit_updated"` - - default: claude_enterprise_upgrade_credit_updated + - `purge_confirmed: optional boolean or null` - - `action: "cancelled" or "resumed" or "unspecified"` + Whether the report was also removed from the organization's report list. False means the report document was removed but the report was not removed from the list (for example it was unarchived at the same time), so it may still appear there until a later delete succeeds. Not set on events recorded before this field existed. - Whether the credit was cancelled or turned back on + - `ClaudeInsightsReportFeedbackSubmitted object` - - `"cancelled"` + Feedback was submitted on a Smart Report by an organization admin, by the delegate who ran it (a member the organization allowed to run reports on a limited scope), or by a member it was shared with. The event records which report was rated, not the ratings themselves or the member's written comment. - - `"resumed"` + - `type: optional "claude_insights_report_feedback_submitted"` - - `"unspecified"` + default: claude_insights_report_feedback_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -174786,6 +178922,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `report_id: string` + + The report the feedback was submitted on, e.g. "insr_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -174804,13 +178944,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeFileAccessFailed object` + - `ClaudeInsightsReportRenamed object` - A user was denied access to a file in Claude.ai. + A Smart Report was renamed, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope). - - `type: optional "claude_file_access_failed"` + - `type: optional "claude_insights_report_renamed"` - default: claude_file_access_failed + default: claude_insights_report_renamed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175018,22 +179158,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_file_id: string` + - `report_id: string` - The file the user was denied access to, e.g. "claude_file_01HX...". + The report that was renamed, e.g. "insr_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_artifact_id: optional string or null` - - The artifact the file was accessed through, if any, e.g. "claude_artifact_01HX...". - - - `claude_project_id: optional string or null` - - The project the file was accessed through, if any, e.g. "claude_proj_01HX...". - - `created_at: optional string` When this activity occurred. @@ -175048,19 +179180,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - Deprecated — DO NOT USE. Always empty; the file's display name is intentionally omitted. - - - `ClaudeFileExported object` + - `ClaudeInsightsReportSharingUpdated object` - A file was exported from Claude to an external storage destination. + An organization admin, or the delegate who ran the report (a member the organization allowed to run reports on a limited scope), changed who a Smart Report is shared with: the organization members who may open the report by link, and whether they may open the rendering that attributes findings to individual members. - - `type: optional "claude_file_exported"` + - `type: optional "claude_insights_report_sharing_updated"` - default: claude_file_exported + default: claude_insights_report_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175268,25 +179394,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `export_destination: "google_drive" or "unspecified"` + - `attributed_view_allowed: boolean` - The external destination the file was exported to. + Whether, after the change, the members the report is shared with may open the rendering that attributes findings to individual members. - - `"google_drive"` + - `report_id: string` - - `"unspecified"` + The report whose sharing was changed, e.g. "insr_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_id: optional string or null` - - The chat conversation the file was exported from, if the export originated in a chat, e.g. "claude_chat_01HX...". - - - `claude_file_id: optional string or null` + - `added_account_ids: optional array of string` - The exported file, e.g. "claude_file_01HX...", if the file has a stored file record; files that exist only inside a session have no file ID. + The members granted access by this change, e.g. "user_01HX...". - `created_at: optional string` @@ -175302,19 +179424,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: string` - - **Deprecated** + - `removed_account_ids: optional array of string` - No longer populated. Where `claude_file_id` is present, resolve the name via the Compliance API files endpoint; sandbox and desktop exports carry no file id. + The members whose access was removed by this change, e.g. "user_01HX...". - - `ClaudeFileViewed object` + - `ClaudeInsightsReportTriggered object` - A user viewed a file in Claude.ai. + A Smart Report was triggered by an organization admin, or by a delegate: a member the organization allowed to run reports on a limited scope. A Smart Report is an aggregate analysis of the organization's usage over a date range, optionally scoped to one or more directory groups, to a directory attribute's values, or to product surfaces. - - `type: optional "claude_file_viewed"` + - `type: optional "claude_insights_report_triggered"` - default: claude_file_viewed + default: claude_insights_report_triggered - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175522,21 +179642,23 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_file_id: string` + - `report_id: string` - The file that was viewed, e.g. "claude_file_01HX...". + The report that was triggered, e.g. "insr_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_artifact_id: optional string or null` + - `admission_arm: optional "admin" or "delegate" or "unspecified" or null` - The artifact the file was accessed through, if any, e.g. "claude_artifact_01HX...". + How the member who triggered the report was admitted: an organization admin or a delegate. Not set on events recorded before this field existed. - - `claude_project_id: optional string or null` + - `"admin"` - The project the file was accessed through, if any, e.g. "claude_proj_01HX...". + - `"delegate"` + + - `"unspecified"` - `created_at: optional string` @@ -175544,6 +179666,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `end_date: optional string or null` + + Last day (ISO 8601 date) of the date range the report covers, when specified. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -175552,19 +179678,53 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` + - `products: optional array of string` - **Deprecated** + Product surfaces the report was scoped to, for example "chat", "cc" (Claude Code) or "cowork". Empty when the report covers all products. - Deprecated — DO NOT USE. Always empty; the file's display name is intentionally omitted. + - `requester_account_id: optional string or null` - - `ClaudeInsightsAttributionSettingUpdated object` + The member who triggered the report, e.g. "user_01HX...". Not set on events recorded before this field existed. - An organization admin set the organization's setting that allows Smart Reports to be opened in the rendering that attributes findings to individual, identified members (off: no member can open that rendering). Every write is recorded, so the two values are equal when the setting was written with the value it already had. + - `resolved_population: optional number or null` - - `type: optional "claude_insights_attribution_setting_updated"` + How many accounts the directory listed under the selected groups or attribute values when the report was triggered. Not set for a report covering the whole organization, nor on events recorded before this field existed. - default: claude_insights_attribution_setting_updated + - `scim_group_ids: optional array of string` + + Directory groups the report was scoped to. Empty when the report covers the whole organization. + + - `scope_attribute: optional string or null` + + Directory attribute ("department" / "cost_center") the report was scoped to. Unset when the report is not attribute-scoped. + + - `scope_attribute_values: optional array of string` + + The selected values of that attribute as the directory carries them (customer directory text). Empty when the report is not attribute-scoped. + + - `scope_kind: optional "attribute" or "groups" or "unspecified" or "whole_organization" or null` + + What the report's population was scoped to. Not set on events recorded before this field existed. + + - `"attribute"` + + - `"groups"` + + - `"unspecified"` + + - `"whole_organization"` + + - `start_date: optional string or null` + + First day (ISO 8601 date) of the date range the report covers, when specified. + + - `ClaudeInsightsReportUnarchived object` + + An archived Smart Report was restored to the organization's default report list, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope). + + - `type: optional "claude_insights_report_unarchived"` + + default: claude_insights_report_unarchived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175772,6 +179932,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `report_id: string` + + The report that was restored, e.g. "insr_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -175782,10 +179946,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this write - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -175794,17 +179954,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this write - - - `ClaudeInsightsReportArchived object` + - `ClaudeInsightsReportViewed object` - A Smart Report was archived, hiding it from the organization's default report list, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope). + A Smart Report was viewed or downloaded in its default rendering, which identifies no member of the organization (viewing or downloading the rendering that attributes findings to individual members is recorded as a separate activity). - - `type: optional "claude_insights_report_archived"` + - `type: optional "claude_insights_report_viewed"` - default: claude_insights_report_archived + default: claude_insights_report_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -176014,12 +180170,24 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `report_id: string` - The report that was archived, e.g. "insr_01HX...". + The report that was viewed, e.g. "insr_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `admission_arm: optional "admin" or "delegate" or "share_recipient" or "unspecified" or null` + + How the member who viewed the report was admitted: an organization admin, a delegate (a member allowed to run reports on a limited scope), or a member the report was shared with. + + - `"admin"` + + - `"delegate"` + + - `"share_recipient"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -176034,13 +180202,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeInsightsReportAttributionViewed object` + - `ClaudeInsightsResourceAccessUpdated object` - A Smart Report was viewed or downloaded with its usage findings attributed to individual, identified members of the organization (rather than in the default rendering, which identifies no member), one session it lists was inspected from that attributed rendering, or an organization admin was shown which members one of its recommendations suggests. + Which directory groups, or which values of one directory attribute, a member may run Smart Reports on (the member's delegated scope) changed: an organization admin set or revoked it, or Smart Reports itself (a system actor) revoked it when the member left the organization. - - `type: optional "claude_insights_report_attribution_viewed"` + - `type: optional "claude_insights_resource_access_updated"` - default: claude_insights_report_attribution_viewed + default: claude_insights_resource_access_updated + + - `account_id: string` + + The member whose delegated scope changed, e.g. "user_01HX...". - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -176248,25 +180420,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `report_id: string` - - The report that was viewed with attribution, e.g. "insr_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `admission_arm: optional "admin" or "delegate" or "share_recipient" or "unspecified" or null` + - `added_scim_group_ids: optional array of string` - How the member who viewed the attributed rendering was admitted: an organization admin, a delegate (a member allowed to run reports on a limited scope), or a member the report was shared with. Not set on events recorded before this field existed. + Directory groups this change added to the member's scope. - - `"admin"` + - `added_scope_attribute: optional string or null` - - `"delegate"` + Directory attribute ("department" / "cost_center") of the added values below. Unset when no attribute value was added. - - `"share_recipient"` + - `added_scope_attribute_values: optional array of string` - - `"unspecified"` + The values of that attribute this change added, as the directory carries them (customer directory text). - `created_at: optional string` @@ -176282,13 +180450,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeInsightsReportDeleted object` + - `removed_scim_group_ids: optional array of string` - An archived Smart Report was permanently deleted, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope): its document was removed; purge_confirmed says whether it was also removed from the organization's report list. + Directory groups this change removed from the member's scope. - - `type: optional "claude_insights_report_deleted"` + - `removed_scope_attribute: optional string or null` - default: claude_insights_report_deleted + Directory attribute of the removed values below. Unset when no attribute value was removed. + + - `removed_scope_attribute_values: optional array of string` + + The values of that attribute this change removed. + + - `ClaudePluginArchiveAccessed object` + + A version archive of a member-owned plugin, containing that member's own files, was downloaded. + + - `type: optional "claude_plugin_archive_accessed"` + + default: claude_plugin_archive_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -176496,9 +180676,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `report_id: string` + - `marketplace_id: string` - The report that was deleted, e.g. "insr_01HX...". + The member's personal marketplace the plugin belongs to. + + - `owner_user_id: string` + + The member who owns the plugin. + + - `plugin_id: string` + + The plugin whose archive was downloaded. + + - `plugin_version_id: string` + + The version whose archive was downloaded. - `id: optional string` @@ -176518,17 +180710,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `purge_confirmed: optional boolean or null` - - Whether the report was also removed from the organization's report list. False means the report document was removed but the report was not removed from the list (for example it was unarchived at the same time), so it may still appear there until a later delete succeeds. Not set on events recorded before this field existed. - - - `ClaudeInsightsReportFeedbackSubmitted object` + - `ClaudePluginDownloaded object` - Feedback was submitted on a Smart Report by an organization admin, by the delegate who ran it (a member the organization allowed to run reports on a limited scope), or by a member it was shared with. The event records which report was rated, not the ratings themselves or the member's written comment. + The archive of the plugin version a member was served was downloaded to install or update the plugin in one of the member's Claude apps (Claude in the browser, the Claude desktop app, Claude Code, or a cloud session). Recorded when the member explicitly installs, updates or downloads the plugin (user_action), and when a fetch creates the member's install record for the plugin — its first delivery to them, whether a background sync of a plugin distributed to them or their own first install, which then carries both records (first_delivery). A plugin the member enabled in Claude is on the feed as claude_plugin_enabled and its later delivery by a client's background sync is not recorded again; nor are re-syncs, or fetches that only display the plugin's files in the browser. - - `type: optional "claude_insights_report_feedback_submitted"` + - `type: optional "claude_plugin_downloaded"` - default: claude_insights_report_feedback_submitted + default: claude_plugin_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -176736,9 +180924,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `report_id: string` + - `marketplace_id: string` - The report the feedback was submitted on, e.g. "insr_01HX...". + The marketplace the plugin belongs to. + + - `plugin_id: string` + + The plugin that was downloaded. - `id: optional string` @@ -176758,13 +180950,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeInsightsReportRenamed object` + - `plugin_version_id: optional string or null` - A Smart Report was renamed, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope). + The version whose archive was downloaded; unset for a plugin that predates version records. - - `type: optional "claude_insights_report_renamed"` + - `reason: optional "first_delivery" or "unspecified" or "user_action" or null` - default: claude_insights_report_renamed + Why this download was recorded: the member's explicit action, or the archive's first delivery to them. + + - `"first_delivery"` + + - `"unspecified"` + + - `"user_action"` + + - `ClaudePluginServedVersionUpdated object` + + A plugin's served version was updated: an administrator or the owner chose a version, a saved version became the served version, or an accepted library submission was published into the plugin. + + - `type: optional "claude_plugin_served_version_updated"` + + default: claude_plugin_served_version_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -176972,9 +181178,29 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `report_id: string` + - `marketplace_id: string` - The report that was renamed, e.g. "insr_01HX...". + The marketplace the plugin belongs to. + + - `plugin_id: string` + + The plugin whose served version was updated. + + - `to_plugin_version_id: string` + + The served version after the update. + + - `trigger: "library_publish" or "manual" or "save" or "unspecified"` + + What caused the update. + + - `"library_publish"` + + - `"manual"` + + - `"save"` + + - `"unspecified"` - `id: optional string` @@ -176986,6 +181212,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `from_plugin_version_id: optional string or null` + + The served version before the update; the same as to_plugin_version_id when the update kept the served version. Unset when the plugin had no served version. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -176994,13 +181224,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeInsightsReportSharingUpdated object` + - `ClaudePluginVersionCreated object` - An organization admin, or the delegate who ran the report (a member the organization allowed to run reports on a limited scope), changed who a Smart Report is shared with: the organization members who may open the report by link, and whether they may open the rendering that attributes findings to individual members. + A new version of a plugin was created. - - `type: optional "claude_insights_report_sharing_updated"` + - `type: optional "claude_plugin_version_created"` - default: claude_insights_report_sharing_updated + default: claude_plugin_version_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177208,21 +181438,41 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `attributed_view_allowed: boolean` + - `is_initial_version: boolean` - Whether, after the change, the members the report is shared with may open the rendering that attributes findings to individual members. + Whether this version also created the plugin (its first version). - - `report_id: string` + - `marketplace_id: string` - The report whose sharing was changed, e.g. "insr_01HX...". + The marketplace the plugin belongs to. + + - `origin: "library_publish" or "marketplace_sync" or "unspecified" or "upload"` + + How the version came to exist. + + - `"library_publish"` + + - `"marketplace_sync"` + + - `"unspecified"` + + - `"upload"` + + - `plugin_id: string` + + The plugin that gained a version. + + - `plugin_version_id: string` + + The new version. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `added_account_ids: optional array of string` + - `became_served_version: optional boolean or null` - The members granted access by this change, e.g. "user_01HX...". + Whether this became the plugin's served version as soon as it was created; if so, there may be no claude_plugin_served_version_updated record for the change. When false, the served version stayed as it was, and making this the served version later is recorded as claude_plugin_served_version_updated. - `created_at: optional string` @@ -177238,17 +181488,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `removed_account_ids: optional array of string` - - The members whose access was removed by this change, e.g. "user_01HX...". - - - `ClaudeInsightsReportTriggered object` + - `ClaudeProjectSyncSourceCreated object` - A Smart Report was triggered by an organization admin, or by a delegate: a member the organization allowed to run reports on a limited scope. A Smart Report is an aggregate analysis of the organization's usage over a date range, optionally scoped to one or more directory groups, to a directory attribute's values, or to product surfaces. + A sync source was connected to a Claude project's knowledge base. - - `type: optional "claude_insights_report_triggered"` + - `type: optional "claude_project_sync_source_created"` - default: claude_insights_report_triggered + default: claude_project_sync_source_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177456,23 +181702,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `report_id: string` - - The report that was triggered, e.g. "insr_01HX...". + - `claude_project_id: string` - - `id: optional string` + Tagged ID of the project the sync source was connected to. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_sync_source_id: string` - - `admission_arm: optional "admin" or "delegate" or "unspecified" or null` + Tagged ID of the per-project sync source that was created. - How the member who triggered the report was admitted: an organization admin or a delegate. Not set on events recorded before this field existed. + - `provider: string` - - `"admin"` + The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. - - `"delegate"` + - `id: optional string` - - `"unspecified"` + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -177480,10 +181724,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `end_date: optional string or null` - - Last day (ISO 8601 date) of the date range the report covers, when specified. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -177492,53 +181732,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `products: optional array of string` - - Product surfaces the report was scoped to, for example "chat", "cc" (Claude Code) or "cowork". Empty when the report covers all products. - - - `requester_account_id: optional string or null` - - The member who triggered the report, e.g. "user_01HX...". Not set on events recorded before this field existed. - - - `resolved_population: optional number or null` - - How many accounts the directory listed under the selected groups or attribute values when the report was triggered. Not set for a report covering the whole organization, nor on events recorded before this field existed. - - - `scim_group_ids: optional array of string` - - Directory groups the report was scoped to. Empty when the report covers the whole organization. - - - `scope_attribute: optional string or null` - - Directory attribute ("department" / "cost_center") the report was scoped to. Unset when the report is not attribute-scoped. - - - `scope_attribute_values: optional array of string` - - The selected values of that attribute as the directory carries them (customer directory text). Empty when the report is not attribute-scoped. - - - `scope_kind: optional "attribute" or "groups" or "unspecified" or "whole_organization" or null` - - What the report's population was scoped to. Not set on events recorded before this field existed. - - - `"attribute"` - - - `"groups"` - - - `"unspecified"` - - - `"whole_organization"` - - - `start_date: optional string or null` + - `resource_descriptor: optional string or null` - First day (ISO 8601 date) of the date range the report covers, when specified. + A short provider-specific identifier for the external resource that was connected, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - `ClaudeInsightsReportUnarchived object` + - `ClaudeProjectSyncSourceDeleted object` - An archived Smart Report was restored to the organization's default report list, by an organization admin or by the delegate who ran it (a member the organization allowed to run reports on a limited scope). + A sync source was disconnected from a Claude project's knowledge base. - - `type: optional "claude_insights_report_unarchived"` + - `type: optional "claude_project_sync_source_deleted"` - default: claude_insights_report_unarchived + default: claude_project_sync_source_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177746,9 +181950,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `report_id: string` + - `claude_project_id: string` - The report that was restored, e.g. "insr_01HX...". + Tagged ID of the project the sync source was disconnected from. + + - `claude_project_sync_source_id: string` + + Tagged ID of the per-project sync source that was deleted. + + - `provider: string` + + The external provider backing the sync source. Always `unspecified` for deletion events. - `id: optional string` @@ -177768,13 +181980,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeInsightsReportViewed object` + - `ClaudeProjectSyncSourceUpdated object` - A Smart Report was viewed or downloaded in its default rendering, which identifies no member of the organization (viewing or downloading the rendering that attributes findings to individual members is recorded as a separate activity). + A Claude project sync source's configuration was updated. - - `type: optional "claude_insights_report_viewed"` + - `type: optional "claude_project_sync_source_updated"` - default: claude_insights_report_viewed + default: claude_project_sync_source_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177982,25 +182194,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `report_id: string` + - `claude_project_id: string` - The report that was viewed, e.g. "insr_01HX...". + Tagged ID of the project the sync source belongs to. - - `id: optional string` + - `claude_project_sync_source_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the per-project sync source that was updated. - - `admission_arm: optional "admin" or "delegate" or "share_recipient" or "unspecified" or null` + - `provider: string` - How the member who viewed the report was admitted: an organization admin, a delegate (a member allowed to run reports on a limited scope), or a member the report was shared with. + The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. - - `"admin"` + - `id: optional string` - - `"delegate"` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"share_recipient"` + - `config_changed: optional boolean or null` - - `"unspecified"` + Whether the update changed the stored sync-source configuration, including sync settings such as path filters. False for a re-sync or a metadata-only refresh of the same resource. - `created_at: optional string` @@ -178016,17 +182228,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeInsightsResourceAccessUpdated object` + - `resource_descriptor: optional string or null` - Which directory groups, or which values of one directory attribute, a member may run Smart Reports on (the member's delegated scope) changed: an organization admin set or revoked it, or Smart Reports itself (a system actor) revoked it when the member left the organization. + A short provider-specific identifier for the external resource after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - `type: optional "claude_insights_resource_access_updated"` + - `ClaudeSecurityFindingDeleted object` - default: claude_insights_resource_access_updated + A Claude Security finding was permanently deleted by a user. - - `account_id: string` + - `type: optional "claude_security_finding_deleted"` - The member whose delegated scope changed, e.g. "user_01HX...". + default: claude_security_finding_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -178234,21 +182446,31 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `finding_id: string` + + The finding that was deleted, e.g. "find_...". + + - `scan_project_id: string` + + The scan project the finding belonged to, e.g. "spj_...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `added_scim_group_ids: optional array of string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - Directory groups this change added to the member's scope. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - - `added_scope_attribute: optional string or null` + - `"member"` - Directory attribute ("department" / "cost_center") of the added values below. Unset when no attribute value was added. + - `"organization_admin"` - - `added_scope_attribute_values: optional array of string` + - `"organization_share"` - The values of that attribute this change added, as the directory carries them (customer directory text). + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -178264,25 +182486,23 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `removed_scim_group_ids: optional array of string` + - `ClaudeSecurityFindingUpdated object` - Directory groups this change removed from the member's scope. + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). - - `removed_scope_attribute: optional string or null` + - `type: optional "claude_security_finding_updated"` - Directory attribute of the removed values below. Unset when no attribute value was removed. + default: claude_security_finding_updated - - `removed_scope_attribute_values: optional array of string` + - `action: "reopened" or "resolved" or "unspecified"` - The values of that attribute this change removed. + The state change applied to the finding. - - `ClaudePluginArchiveAccessed object` + - `"reopened"` - A version archive of a member-owned plugin, containing that member's own files, was downloaded. + - `"resolved"` - - `type: optional "claude_plugin_archive_accessed"` - - default: claude_plugin_archive_accessed + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -178490,25 +182710,31 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `finding_id: string` - The member's personal marketplace the plugin belongs to. + The finding that was acted on, e.g. "find_...". - - `owner_user_id: string` + - `scan_project_id: string` - The member who owns the plugin. + The scan project the finding belongs to, e.g. "spj_...". - - `plugin_id: string` + - `id: optional string` - The plugin whose archive was downloaded. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `plugin_version_id: string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - The version whose archive was downloaded. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when the change was made by an automated process, or when no project relationship was involved; events recorded before this field was introduced omit it. - - `id: optional string` + - `"member"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -178524,13 +182750,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudePluginDownloaded object` + - `resolution_reason: optional string or null` - The archive of the plugin version a member was served was downloaded to install or update the plugin in one of the member's Claude apps (Claude in the browser, the Claude desktop app, Claude Code, or a cloud session). Recorded when the member explicitly installs, updates or downloads the plugin (user_action), and when a fetch creates the member's install record for the plugin — its first delivery to them, whether a background sync of a plugin distributed to them or their own first install, which then carries both records (first_delivery). A plugin the member enabled in Claude is on the feed as claude_plugin_enabled and its later delivery by a client's background sync is not recorded again; nor are re-syncs, or fetches that only display the plugin's files in the browser. + The categorized reason the finding was resolved: "false_positive", "accepted_risk", "fixed", "duplicate", or "other". Set only when the action is "resolved". - - `type: optional "claude_plugin_downloaded"` + - `ClaudeSecurityKnowledgeDocumentCreated object` - default: claude_plugin_downloaded + A knowledge document was created in a Claude Security scan project. + + - `type: optional "claude_security_knowledge_document_created"` + + default: claude_security_knowledge_document_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -178738,53 +182968,61 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `memory_id: string` - The marketplace the plugin belongs to. + The memory ID of the knowledge document that was created, e.g. "mem_...". - - `plugin_id: string` + - `scan_project_id: string` - The plugin that was downloaded. + The scan project the document belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - When this activity occurred. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - format: date-time + - `"member"` - - `organization_id: optional string or null` + - `"organization_admin"` - Organization ID this activity is associated with + - `"organization_share"` - - `organization_uuid: optional string or null` + - `"owner"` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"unspecified"` - - `plugin_version_id: optional string or null` + - `created_at: optional string` - The version whose archive was downloaded; unset for a plugin that predates version records. + When this activity occurred. - - `reason: optional "first_delivery" or "unspecified" or "user_action" or null` + format: date-time - Why this download was recorded: the member's explicit action, or the archive's first delivery to them. + - `memory_version_id: optional string or null` - - `"first_delivery"` + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. - - `"unspecified"` + - `organization_id: optional string or null` - - `"user_action"` + Organization ID this activity is associated with - - `ClaudePluginServedVersionUpdated object` + - `organization_uuid: optional string or null` - A plugin's served version was updated: an administrator or the owner chose a version, a saved version became the served version, or an accepted library submission was published into the plugin. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `type: optional "claude_plugin_served_version_updated"` + - `ClaudeSecurityKnowledgeDocumentUpdated object` - default: claude_plugin_served_version_updated + A Claude Security scan project's knowledge document, such as its threat model, was changed. + + - `type: optional "claude_security_knowledge_document_updated"` + + default: claude_security_knowledge_document_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -178992,33 +183230,35 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `memory_id: string` - The marketplace the plugin belongs to. + The memory ID of the knowledge document that was changed, e.g. "mem_...". - - `plugin_id: string` + - `scan_project_id: string` - The plugin whose served version was updated. + The scan project the document belongs to, e.g. "spj_...". - - `to_plugin_version_id: string` + - `workspace_id: string` - The served version after the update. + The workspace the scan project belongs to, e.g. "wrkspc_...". - - `trigger: "library_publish" or "manual" or "save" or "unspecified"` + - `id: optional string` - What caused the update. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"library_publish"` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `"manual"` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - - `"save"` + - `"member"` - - `"unspecified"` + - `"organization_admin"` - - `id: optional string` + - `"organization_share"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -179026,9 +183266,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `from_plugin_version_id: optional string or null` + - `memory_version_id: optional string or null` - The served version before the update; the same as to_plugin_version_id when the update kept the served version. Unset when the plugin had no served version. + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. - `organization_id: optional string or null` @@ -179038,13 +183278,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudePluginVersionCreated object` + - `ClaudeSecurityKnowledgeDocumentVersionRestored object` - A new version of a plugin was created. + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. - - `type: optional "claude_plugin_version_created"` + - `type: optional "claude_security_knowledge_document_version_restored"` - default: claude_plugin_version_created + default: claude_security_knowledge_document_version_restored - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -179252,41 +183492,39 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `is_initial_version: boolean` - - Whether this version also created the plugin (its first version). + - `memory_id: string` - - `marketplace_id: string` + The memory ID of the knowledge document that was restored, e.g. "mem_...". - The marketplace the plugin belongs to. + - `restored_from_memory_version_id: string` - - `origin: "library_publish" or "marketplace_sync" or "unspecified" or "upload"` + The earlier version whose text was written back, e.g. "memver_...". - How the version came to exist. + - `scan_project_id: string` - - `"library_publish"` + The scan project the document belongs to, e.g. "spj_...". - - `"marketplace_sync"` + - `workspace_id: string` - - `"unspecified"` + The workspace the scan project belongs to, e.g. "wrkspc_...". - - `"upload"` + - `id: optional string` - - `plugin_id: string` + Unique identifier for the activity e.g. 'activity_abcd1234' - The plugin that gained a version. + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `plugin_version_id: string` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - The new version. + - `"member"` - - `id: optional string` + - `"organization_admin"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"organization_share"` - - `became_served_version: optional boolean or null` + - `"owner"` - Whether this became the plugin's served version as soon as it was created; if so, there may be no claude_plugin_served_version_updated record for the change. When false, the served version stayed as it was, and making this the served version later is recorded as claude_plugin_served_version_updated. + - `"unspecified"` - `created_at: optional string` @@ -179294,6 +183532,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `memory_version_id: optional string or null` + + The new version this restore produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -179302,13 +183544,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectSyncSourceCreated object` + - `ClaudeSecurityScanProjectAssetAdded object` - A sync source was connected to a Claude project's knowledge base. + A repository was added to a Claude Security scan project. - - `type: optional "claude_project_sync_source_created"` + - `type: optional "claude_security_scan_project_asset_added"` - default: claude_project_sync_source_created + default: claude_security_scan_project_asset_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -179516,22 +183758,36 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_project_id: string` + - `asset_id: string` - Tagged ID of the project the sync source was connected to. + The asset ID of the repository, e.g. "asst_...". - - `claude_project_sync_source_id: string` + - `scan_project_id: string` - Tagged ID of the per-project sync source that was created. + The scan project the repository was added to, e.g. "spj_...". - - `provider: string` + - `workspace_id: string` - The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -179546,17 +183802,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `resource_descriptor: optional string or null` + - `ClaudeSecurityScanProjectAssetRemoved object` - A short provider-specific identifier for the external resource that was connected, e.g. `owner/repo` for GitHub or a file ID for Google Drive. + A repository was removed from a Claude Security scan project. - - `ClaudeProjectSyncSourceDeleted object` + - `type: optional "claude_security_scan_project_asset_removed"` - A sync source was disconnected from a Claude project's knowledge base. - - - `type: optional "claude_project_sync_source_deleted"` - - default: claude_project_sync_source_deleted + default: claude_security_scan_project_asset_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -179764,22 +184016,36 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_project_id: string` + - `asset_id: string` - Tagged ID of the project the sync source was disconnected from. + The asset ID of the repository, e.g. "asst_...". - - `claude_project_sync_source_id: string` + - `scan_project_id: string` - Tagged ID of the per-project sync source that was deleted. + The scan project the repository was removed from, e.g. "spj_...". - - `provider: string` + - `workspace_id: string` - The external provider backing the sync source. Always `unspecified` for deletion events. + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -179794,13 +184060,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeProjectSyncSourceUpdated object` + - `ClaudeSecurityScanProjectAssetUpdated object` - A Claude project sync source's configuration was updated. + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. - - `type: optional "claude_project_sync_source_updated"` + - `type: optional "claude_security_scan_project_asset_updated"` - default: claude_project_sync_source_updated + default: claude_security_scan_project_asset_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -180008,25 +184274,35 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_project_id: string` + - `asset_id: string` - Tagged ID of the project the sync source belongs to. + The asset ID of the repository, e.g. "asst_...". - - `claude_project_sync_source_id: string` + - `scan_project_id: string` - Tagged ID of the per-project sync source that was updated. + The scan project the repository belongs to, e.g. "spj_...". - - `provider: string` + - `workspace_id: string` - The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `config_changed: optional boolean or null` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - Whether the update changed the stored sync-source configuration, including sync settings such as path filters. False for a re-sync or a metadata-only refresh of the same resource. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -180042,9 +184318,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `resource_descriptor: optional string or null` + - `updated_fields: optional array of string` - A short provider-specific identifier for the external resource after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. + The settings whose value changed, e.g. "branch", "base_paths" (directories that are scanned) or "exclude_paths" (directories left out). The list can be empty. - `ClaudeSkillAutoDisabled object` @@ -233210,7 +237486,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `updates: array of Name or Capabilities or RedactContent or 105 more` + - `updates: array of Name or Capabilities or RedactContent or 107 more` - `Name object` @@ -235145,6 +239421,38 @@ curl https://api.anthropic.com/v1/compliance/activities \ Setting value immediately before this change. Null means the organization had never opted in or out. + - `ArtifactOrganizationWideSharingEnabled object` + + The artifact organization-wide sharing setting was changed for the organization. + + - `type: optional "artifact_organization_wide_sharing_enabled"` + + default: artifact_organization_wide_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactOutsideOrganizationInvitesEnabled object` + + The setting that allows email invitations to an artifact for people outside the organization was changed for the organization. + + - `type: optional "artifact_outside_organization_invites_enabled"` + + default: artifact_outside_organization_invites_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' diff --git a/content/en/api/compliance/activities/list.md b/content/en/api/compliance/activities/list.md index d2c071da53..30e10aff7a 100644 --- a/content/en/api/compliance/activities/list.md +++ b/content/en/api/compliance/activities/list.md @@ -15,7 +15,7 @@ compliance activities that can be filtered by various criteria. ## Query parameters -- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 558 more` +- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 566 more` Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`. @@ -735,6 +735,38 @@ compliance activities that can be filtered by various criteria. SAML IdP configuration updated for a public sector organization. + - `"claude_security_finding_deleted"` + + A Claude Security finding was permanently deleted by a user. + + - `"claude_security_finding_updated"` + + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). + + - `"claude_security_knowledge_document_created"` + + A knowledge document was created in a Claude Security scan project. + + - `"claude_security_knowledge_document_updated"` + + A Claude Security scan project's knowledge document, such as its threat model, was changed. + + - `"claude_security_knowledge_document_version_restored"` + + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. + + - `"claude_security_scan_project_asset_added"` + + A repository was added to a Claude Security scan project. + + - `"claude_security_scan_project_asset_removed"` + + A repository was removed from a Claude Security scan project. + + - `"claude_security_scan_project_asset_updated"` + + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. + - `"claude_skill_auto_disabled"` A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. @@ -2318,7 +2350,7 @@ compliance activities that can be filtered by various criteria. format: date-time -- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 558 more` +- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "account_migration_completed" or 566 more` Exclude activities of these types. Cannot be combined with `activity_types[]`. @@ -3038,6 +3070,38 @@ compliance activities that can be filtered by various criteria. SAML IdP configuration updated for a public sector organization. + - `"claude_security_finding_deleted"` + + A Claude Security finding was permanently deleted by a user. + + - `"claude_security_finding_updated"` + + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). + + - `"claude_security_knowledge_document_created"` + + A knowledge document was created in a Claude Security scan project. + + - `"claude_security_knowledge_document_updated"` + + A Claude Security scan project's knowledge document, such as its threat model, was changed. + + - `"claude_security_knowledge_document_version_restored"` + + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. + + - `"claude_security_scan_project_asset_added"` + + A repository was added to a Claude Security scan project. + + - `"claude_security_scan_project_asset_removed"` + + A repository was removed from a Claude Security scan project. + + - `"claude_security_scan_project_asset_updated"` + + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. + - `"claude_skill_auto_disabled"` A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. @@ -4619,7 +4683,7 @@ compliance activities that can be filtered by various criteria. ## Returns -- `data: optional array of AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 558 more` +- `data: optional array of AbuseDecisionReceived or AccountDeleted or AccountMigrationCompleted or 566 more` List of activity records. Each element's `type` field identifies which activity it is and which additional fields are present. @@ -27365,7 +27429,7 @@ compliance activities that can be filtered by various criteria. - `status: optional string or null` - Updated status (ACTIVE/INACTIVE) + Status of the repository configuration after the change: "active" or "disabled". Absent when the change did not set a status. - `trigger_mode: optional string or null` @@ -40115,13 +40179,13 @@ compliance activities that can be filtered by various criteria. A short provider-specific identifier for the external resource after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - `ClaudeSkillAutoDisabled object` + - `ClaudeSecurityFindingDeleted object` - A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. + A Claude Security finding was permanently deleted by a user. - - `type: optional "claude_skill_auto_disabled"` + - `type: optional "claude_security_finding_deleted"` - default: claude_skill_auto_disabled + default: claude_security_finding_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40329,23 +40393,31 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "auto_enable_reverted" or "content_changed" or "unspecified"` + - `finding_id: string` - Why the skill was turned off automatically: "content_changed" (a change to the skill was saved or attempted, or the skill was scanned again, and it could not be confirmed as still eligible to be on automatically) or "auto_enable_reverted" (Anthropic turned off skills that had been turned on automatically; not in response to a change to this skill). + The finding that was deleted, e.g. "find_...". - - `"auto_enable_reverted"` + - `scan_project_id: string` - - `"content_changed"` + The scan project the finding belonged to, e.g. "spj_...". - - `"unspecified"` + - `id: optional string` - - `user_id: string` + Unique identifier for the activity e.g. 'activity_abcd1234' - The member the skill was turned off for. + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `id: optional string` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -40361,29 +40433,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `shared_by_user_id: optional string or null` + - `ClaudeSecurityFindingUpdated object` - For a skill that had been turned on because it was shared: the member who shared it. + A Claude Security finding was resolved or reopened by a user, or by an automated Claude Security process (a system actor whose service field names the process). - - `skill_id: optional string or null` - - The skill that was turned off. - - - `skill_name: optional string or null` - - The name of the skill that was turned off. + - `type: optional "claude_security_finding_updated"` - - `skill_version: optional string or null` + default: claude_security_finding_updated - The version of the skill the member had just before it was turned off. Absent when not known. + - `action: "reopened" or "resolved" or "unspecified"` - - `ClaudeSkillAutoEnabled object` + The state change applied to the finding. - A skill was turned on for a member automatically, not by the member; trigger gives the cause, such as another member sharing an eligible skill with them. A member turning a skill on themselves is recorded as claude_skill_enabled. + - `"reopened"` - - `type: optional "claude_skill_auto_enabled"` + - `"resolved"` - default: claude_skill_auto_enabled + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40591,75 +40657,57 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `trigger: "share" or "unspecified"` - - What caused the skill to be turned on automatically: "share" (another member shared it with the member, directly or through a group). - - - `"share"` + - `finding_id: string` - - `"unspecified"` + The finding that was acted on, e.g. "find_...". - - `user_id: string` + - `scan_project_id: string` - The member the skill was turned on for. + The scan project the finding belongs to, e.g. "spj_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - When this activity occurred. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when the change was made by an automated process, or when no project relationship was involved; events recorded before this field was introduced omit it. - format: date-time + - `"member"` - - `organization_id: optional string or null` + - `"organization_admin"` - Organization ID this activity is associated with + - `"organization_share"` - - `organization_uuid: optional string or null` + - `"owner"` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"unspecified"` - - `shared_at: optional string or null` + - `created_at: optional string` - For a skill turned on because it was shared: when it was shared with the member or with their group. + When this activity occurred. format: date-time - - `shared_by_user_id: optional string or null` - - For a skill turned on because it was shared: the member who shared it. - - - `shared_via: optional "direct" or "group" or "unspecified" or null` - - For a skill turned on because it was shared: "direct" if shared with the member themselves, "group" if shared with a group they belong to. - - - `"direct"` - - - `"group"` - - - `"unspecified"` - - - `skill_id: optional string or null` + - `organization_id: optional string or null` - The skill that was turned on. + Organization ID this activity is associated with - - `skill_name: optional string or null` + - `organization_uuid: optional string or null` - The name of the skill that was turned on. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `skill_version: optional string or null` + - `resolution_reason: optional string or null` - The version of the skill that was turned on. + The categorized reason the finding was resolved: "false_positive", "accepted_risk", "fixed", "duplicate", or "other". Set only when the action is "resolved". - - `ClaudeSkillDownloaded object` + - `ClaudeSecurityKnowledgeDocumentCreated object` - A member explicitly downloaded a skill's files to their device: the Download action in Claude, a single file saved from the skill viewer, or an install they asked one of their Claude apps for. Background syncs to the Claude apps, viewing a skill in the app and services reading a skill on the member's behalf are not recorded. + A knowledge document was created in a Claude Security scan project. - - `type: optional "claude_skill_downloaded"` + - `type: optional "claude_security_knowledge_document_created"` - default: claude_skill_downloaded + default: claude_security_knowledge_document_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40867,77 +40915,61 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - - Whether the whole bundle, one file, or only the instructions were downloaded. - - - `"bundle"` + - `memory_id: string` - - `"file"` + The memory ID of the knowledge document that was created, e.g. "mem_...". - - `"instructions"` + - `scan_project_id: string` - - `"unspecified"` + The scan project the document belongs to, e.g. "spj_...". - - `skill_id: string` + - `workspace_id: string` - The skill that was downloaded. + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `marketplace_id: optional string or null` - - The marketplace of the plugin that carries the skill; unset for a standalone skill. - - - `organization_id: optional string or null` - - Organization ID this activity is associated with + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - - `organization_uuid: optional string or null` + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + - `"member"` - - `owner_user_id: optional string or null` + - `"organization_admin"` - The member who owns the skill; unset for an organization-owned skill. + - `"organization_share"` - - `plugin_id: optional string or null` + - `"owner"` - The plugin that carries the skill; unset for a standalone skill. + - `"unspecified"` - - `scope: optional "organization" or "personal" or "unspecified" or null` + - `created_at: optional string` - Whether the skill is a member's own or the organization's. + When this activity occurred. - - `"organization"` + format: date-time - - `"personal"` + - `memory_version_id: optional string or null` - - `"unspecified"` + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. - - `skill_name: optional string or null` + - `organization_id: optional string or null` - The name of the skill that was downloaded. + Organization ID this activity is associated with - - `skill_version: optional string or null` + - `organization_uuid: optional string or null` - The version that was downloaded; unset for an unversioned skill. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyClosed object` + - `ClaudeSecurityKnowledgeDocumentUpdated object` - An organization admin closed an in-app survey before its end date, ending the collection of responses; a survey that reaches its end date records no event. + A Claude Security scan project's knowledge document, such as its threat model, was changed. - - `type: optional "claude_survey_closed"` + - `type: optional "claude_security_knowledge_document_updated"` - default: claude_survey_closed + default: claude_security_knowledge_document_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41145,20 +41177,46 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `memory_id: string` - Tagged ID of the closed survey, e.g. "srvy_01HX...". + The memory ID of the knowledge document that was changed, e.g. "mem_...". + + - `scan_project_id: string` + + The scan project the document belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. format: date-time + - `memory_version_id: optional string or null` + + The version of the document this change produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -41167,13 +41225,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyCreated object` + - `ClaudeSecurityKnowledgeDocumentVersionRestored object` - An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. + An earlier version of a Claude Security scan project's knowledge document, such as its threat model, was written back as the document's newest version. - - `type: optional "claude_survey_created"` + - `type: optional "claude_security_knowledge_document_version_restored"` - default: claude_survey_created + default: claude_security_knowledge_document_version_restored - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41381,33 +41439,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `all_members: boolean` + - `memory_id: string` - Whether the survey was opened to every member of the organization. When false, it was opened to members who, at launch, were in any of the selected groups, departments, or cost centers. + The memory ID of the knowledge document that was restored, e.g. "mem_...". - - `survey_id: string` + - `restored_from_memory_version_id: string` - Tagged ID of the created survey, e.g. "srvy_01HX...". + The earlier version whose text was written back, e.g. "memver_...". - - `survey_name: string` + - `scan_project_id: string` - The name the admin gave the survey. Not shown to members. + The scan project the document belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `audience_cost_centers: optional array of string` + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` - Cost center values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by cost center. + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved; events recorded before this field was introduced omit it. - - `audience_departments: optional array of string` + - `"member"` - Department values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by department. + - `"organization_admin"` - - `audience_group_ids: optional array of string` + - `"organization_share"` - Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". + - `"owner"` + + - `"unspecified"` - `created_at: optional string` @@ -41415,6 +41479,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `memory_version_id: optional string or null` + + The new version this restore produced, e.g. "memver_...", which links this event to the document's version history; absent in the rare case that no version identifier is available for the change. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -41423,13 +41491,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyDeleted object` + - `ClaudeSecurityScanProjectAssetAdded object` - An organization admin permanently deleted a closed in-app survey together with every response collected for it. + A repository was added to a Claude Security scan project. - - `type: optional "claude_survey_deleted"` + - `type: optional "claude_security_scan_project_asset_added"` - default: claude_survey_deleted + default: claude_security_scan_project_asset_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41637,18 +41705,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` + - `asset_id: string` - The number of submitted responses that were deleted with the survey. + The asset ID of the repository, e.g. "asst_...". - - `survey_id: string` + - `scan_project_id: string` - Tagged ID of the deleted survey, e.g. "srvy_01HX...". + The scan project the repository was added to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -41663,13 +41749,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyResponseSubmitted object` + - `ClaudeSecurityScanProjectAssetRemoved object` - A member submitted their response to an in-app survey run by their organization; the record omits the response content, and a retried submission can produce more than one record for the same response. + A repository was removed from a Claude Security scan project. - - `type: optional "claude_survey_response_submitted"` + - `type: optional "claude_security_scan_project_asset_removed"` - default: claude_survey_response_submitted + default: claude_security_scan_project_asset_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41877,14 +41963,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `asset_id: string` - Tagged ID of the survey that was answered, e.g. "srvy_01HX...". + The asset ID of the repository, e.g. "asst_...". + + - `scan_project_id: string` + + The scan project the repository was removed from, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -41899,13 +42007,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSurveyResponsesExported object` + - `ClaudeSecurityScanProjectAssetUpdated object` - An organization admin downloaded a survey's responses as a CSV file, one row per response with the member's email address (blank if it is no longer available, for example because they left the organization), the groups, department and cost center they were invited through, the product they answered in, the submission time, and their answers. + A repository's scan settings, such as its branch or directories, were changed in a Claude Security scan project. - - `type: optional "claude_survey_responses_exported"` + - `type: optional "claude_security_scan_project_asset_updated"` - default: claude_survey_responses_exported + default: claude_security_scan_project_asset_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42113,18 +42221,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` + - `asset_id: string` - The number of submitted responses included in the export. + The asset ID of the repository, e.g. "asst_...". - - `survey_id: string` + - `scan_project_id: string` - Tagged ID of the exported survey, e.g. "srvy_01HX...". + The scan project the repository belongs to, e.g. "spj_...". + + - `workspace_id: string` + + The workspace the scan project belongs to, e.g. "wrkspc_...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional "member" or "organization_admin" or "organization_share" or 2 more or null` + + How the actor was authorized to make this change: "owner" (the scan project's owner), "member" (an individually added member), "organization_share" (the project is shared with the actor's organization), or "organization_admin" (an administrator of the organization's security scanning). Absent when no project relationship was involved. + + - `"member"` + + - `"organization_admin"` + + - `"organization_share"` + + - `"owner"` + + - `"unspecified"` + - `created_at: optional string` When this activity occurred. @@ -42139,13 +42265,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeUserSeatTierUpdated object` + - `updated_fields: optional array of string` - An organization member's seat tier was changed. A null `previous_seat_tier` means the member previously had no seat assigned; a null `current_seat_tier` means the seat was removed. + The settings whose value changed, e.g. "branch", "base_paths" (directories that are scanned) or "exclude_paths" (directories left out). The list can be empty. - - `type: optional "claude_user_seat_tier_updated"` + - `ClaudeSkillAutoDisabled object` - default: claude_user_seat_tier_updated + A skill that had been turned on for a member automatically was turned off for them automatically, not by the member; reason says why. A member turning a skill off themselves is recorded as claude_skill_disabled. + + - `type: optional "claude_skill_auto_disabled"` + + default: claude_skill_auto_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42353,13 +42483,19 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_email: string` + - `reason: "auto_enable_reverted" or "content_changed" or "unspecified"` - Email address of the member at the time of the change. + Why the skill was turned off automatically: "content_changed" (a change to the skill was saved or attempted, or the skill was scanned again, and it could not be confirmed as still eligible to be on automatically) or "auto_enable_reverted" (Anthropic turned off skills that had been turned on automatically; not in response to a change to this skill). + + - `"auto_enable_reverted"` + + - `"content_changed"` + + - `"unspecified"` - `user_id: string` - Tagged ID of the member whose seat tier changed. + The member the skill was turned off for. - `id: optional string` @@ -42371,10 +42507,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_seat_tier: optional string or null` - - The member's seat tier after this change, or null if the seat was removed. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42383,17 +42515,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_seat_tier: optional string or null` + - `shared_by_user_id: optional string or null` - The member's seat tier before this change, or null if no seat was assigned. + For a skill that had been turned on because it was shared: the member who shared it. - - `CliPluginExecPolicyUpdated object` + - `skill_id: optional string or null` - Admin set or cleared the per-op permission ceiling for a plugin CLI. + The skill that was turned off. - - `type: optional "cli_plugin_exec_policy_updated"` + - `skill_name: optional string or null` - default: cli_plugin_exec_policy_updated + The name of the skill that was turned off. + + - `skill_version: optional string or null` + + The version of the skill the member had just before it was turned off. Absent when not known. + + - `ClaudeSkillAutoEnabled object` + + A skill was turned on for a member automatically, not by the member; trigger gives the cause, such as another member sharing an eligible skill with them. A member turning a skill on themselves is recorded as claude_skill_enabled. + + - `type: optional "claude_skill_auto_enabled"` + + default: claude_skill_auto_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42601,25 +42745,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cli_name: string` - - CLI name as declared by the plugin manifest - - - `marketplace_id: string` - - Marketplace ID owning the plugin - - - `op_name: string` + - `trigger: "share" or "unspecified"` - Op name (or '*' for the per-CLI default) + What caused the skill to be turned on automatically: "share" (another member shared it with the member, directly or through a group). - - `plugin_id: string` + - `"share"` - Plugin ID resolved from the URL + - `"unspecified"` - - `plugin_name: string` + - `user_id: string` - Plugin name within its marketplace + The member the skill was turned on for. - `id: optional string` @@ -42631,10 +42767,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `max_permission: optional string or null` - - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42643,17 +42775,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_max_permission: optional string or null` + - `shared_at: optional string or null` - Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op + For a skill turned on because it was shared: when it was shared with the member or with their group. - - `ClaudeCommandCreated object` + format: date-time - Command was created. + - `shared_by_user_id: optional string or null` - - `type: optional "claude_command_created"` + For a skill turned on because it was shared: the member who shared it. - default: claude_command_created + - `shared_via: optional "direct" or "group" or "unspecified" or null` + + For a skill turned on because it was shared: "direct" if shared with the member themselves, "group" if shared with a group they belong to. + + - `"direct"` + + - `"group"` + + - `"unspecified"` + + - `skill_id: optional string or null` + + The skill that was turned on. + + - `skill_name: optional string or null` + + The name of the skill that was turned on. + + - `skill_version: optional string or null` + + The version of the skill that was turned on. + + - `ClaudeSkillDownloaded object` + + A member explicitly downloaded a skill's files to their device: the Download action in Claude, a single file saved from the skill viewer, or an install they asked one of their Claude apps for. Background syncs to the Claude apps, viewing a skill in the app and services reading a skill on the member's behalf are not recorded. + + - `type: optional "claude_skill_downloaded"` + + default: claude_skill_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42861,13 +43021,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether the whole bundle, one file, or only the instructions were downloaded. - - `command_id: optional string or null` + - `"bundle"` - - `command_name: optional string or null` + - `"file"` + + - `"instructions"` + + - `"unspecified"` + + - `skill_id: string` + + The skill that was downloaded. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -42875,6 +43047,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `marketplace_id: optional string or null` + + The marketplace of the plugin that carries the skill; unset for a standalone skill. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -42883,13 +43059,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCommandDeleted object` + - `owner_user_id: optional string or null` - Command was deleted. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "claude_command_deleted"` + - `plugin_id: optional string or null` - default: claude_command_deleted + The plugin that carries the skill; unset for a standalone skill. + + - `scope: optional "organization" or "personal" or "unspecified" or null` + + Whether the skill is a member's own or the organization's. + + - `"organization"` + + - `"personal"` + + - `"unspecified"` + + - `skill_name: optional string or null` + + The name of the skill that was downloaded. + + - `skill_version: optional string or null` + + The version that was downloaded; unset for an unversioned skill. + + - `ClaudeSurveyClosed object` + + An organization admin closed an in-app survey before its end date, ending the collection of responses; a survey that reaches its end date records no event. + + - `type: optional "claude_survey_closed"` + + default: claude_survey_closed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43097,13 +43299,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `survey_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the closed survey, e.g. "srvy_01HX...". - - `command_id: optional string or null` + - `id: optional string` - - `command_name: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -43119,13 +43321,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeCommandReplaced object` + - `ClaudeSurveyCreated object` - Command was replaced. + An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. - - `type: optional "claude_command_replaced"` + - `type: optional "claude_survey_created"` - default: claude_command_replaced + default: claude_survey_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43333,13 +43535,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `all_members: boolean` + + Whether the survey was opened to every member of the organization. When false, it was opened to members who, at launch, were in any of the selected groups, departments, or cost centers. + + - `survey_id: string` + + Tagged ID of the created survey, e.g. "srvy_01HX...". + + - `survey_name: string` + + The name the admin gave the survey. Not shown to members. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `command_id: optional string or null` + - `audience_cost_centers: optional array of string` - - `command_name: optional string or null` + Cost center values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by cost center. + + - `audience_departments: optional array of string` + + Department values the admin selected, exactly as the organization's identity provider sends them through SCIM. Empty when the survey did not target by department. + + - `audience_group_ids: optional array of string` + + Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". - `created_at: optional string` @@ -43355,13 +43577,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ComplianceAPIAccessed object` + - `ClaudeSurveyDeleted object` - Logging event auto-generated for each compliance API request. + An organization admin permanently deleted a closed in-app survey together with every response collected for it. - - `type: optional "compliance_api_accessed"` + - `type: optional "claude_survey_deleted"` - default: compliance_api_accessed + default: claude_survey_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43569,31 +43791,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `request_id: string` - - Identifier of the request, as returned in the response's request-id header - - - `request_method: "DELETE" or "GET" or "POST" or 2 more` - - HTTP method of the request - - - `"DELETE"` - - - `"GET"` - - - `"POST"` - - - `"PUT"` - - - `"unspecified"` - - - `status_code: number` + - `response_count: number` - HTTP status code + The number of submitted responses that were deleted with the survey. - - `url: string` + - `survey_id: string` - Full URL that was requested, including any query string + Tagged ID of the deleted survey, e.g. "srvy_01HX...". - `id: optional string` @@ -43613,17 +43817,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_body: optional string or null` - - Serialized JSON request body - - - `CoworkSessionUpdated object` + - `ClaudeSurveyResponseSubmitted object` - A Cowork session was updated. + A member submitted their response to an in-app survey run by their organization; the record omits the response content, and a retried submission can produce more than one record for the same response. - - `type: optional "cowork_session_updated"` + - `type: optional "claude_survey_response_submitted"` - default: cowork_session_updated + default: claude_survey_response_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43831,18 +44031,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cowork_session_id: string` + - `survey_id: string` - Tagged ID of the updated session, e.g. "sess_01HX...". + Tagged ID of the survey that was answered, e.g. "srvy_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_id: optional string or null` - - Tagged ID of the project the session was moved to, if any, e.g. "claude_proj_01HX...". Absent when the session was removed from its project. - - `created_at: optional string` When this activity occurred. @@ -43857,13 +44053,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesignProjectArtifactPublished object` + - `ClaudeSurveyResponsesExported object` - A Claude Design project's content was published as a claude.ai artifact, making a snapshot of one of its files viewable outside the project's sharing settings. + An organization admin downloaded a survey's responses as a CSV file, one row per response with the member's email address (blank if it is no longer available, for example because they left the organization), the groups, department and cost center they were invited through, the product they answered in, the submission time, and their answers. - - `type: optional "design_project_artifact_published"` + - `type: optional "claude_survey_responses_exported"` - default: design_project_artifact_published + default: claude_survey_responses_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44071,9 +44267,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `response_count: number` - The Design project whose content was published, e.g. "design_proj_01HX...". + The number of submitted responses included in the export. + + - `survey_id: string` + + Tagged ID of the exported survey, e.g. "srvy_01HX...". - `id: optional string` @@ -44085,10 +44285,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `is_public: optional boolean or null` - - True when the published artifact is publicly viewable after this call (anyone with the link). False when it is not — by default, a newly published artifact is visible only to the person who published it. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44097,17 +44293,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectCreated object` + - `ClaudeUserSeatTierUpdated object` - A Claude Design project was created. + An organization member's seat tier was changed. A null `previous_seat_tier` means the member previously had no seat assigned; a null `current_seat_tier` means the seat was removed. - - `type: optional "design_project_created"` + - `type: optional "claude_user_seat_tier_updated"` - default: design_project_created + default: claude_user_seat_tier_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44315,13 +44507,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `creation_method: string` + - `user_email: string` - How the project was created: "direct", "duplicate", "remix", or "template_from_project". + Email address of the member at the time of the change. - - `design_project_id: string` + - `user_id: string` - The Design project that was created, e.g. "design_proj_01HX...". + Tagged ID of the member whose seat tier changed. - `id: optional string` @@ -44333,6 +44525,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_seat_tier: optional string or null` + + The member's seat tier after this change, or null if the seat was removed. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44341,21 +44537,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project type: "project", "template", or "design_system". - - - `source_project_id: optional string or null` + - `previous_seat_tier: optional string or null` - The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. + The member's seat tier before this change, or null if no seat was assigned. - - `DesignProjectDeleted object` + - `CliPluginExecPolicyUpdated object` - A Claude Design project was deleted. + Admin set or cleared the per-op permission ceiling for a plugin CLI. - - `type: optional "design_project_deleted"` + - `type: optional "cli_plugin_exec_policy_updated"` - default: design_project_deleted + default: cli_plugin_exec_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44563,9 +44755,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `cli_name: string` - The Design project that was deleted, e.g. "design_proj_01HX...". + CLI name as declared by the plugin manifest + + - `marketplace_id: string` + + Marketplace ID owning the plugin + + - `op_name: string` + + Op name (or '*' for the per-CLI default) + + - `plugin_id: string` + + Plugin ID resolved from the URL + + - `plugin_name: string` + + Plugin name within its marketplace - `id: optional string` @@ -44577,6 +44785,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `max_permission: optional string or null` + + New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -44585,13 +44797,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesignProjectMemberAdded object` + - `previous_max_permission: optional string or null` - A member was granted access to a Claude Design project. + Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - `type: optional "design_project_member_added"` + - `ClaudeCommandCreated object` - default: design_project_member_added + Command was created. + + - `type: optional "claude_command_created"` + + default: claude_command_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44799,26 +45015,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member was added to, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - - `role: string` - - The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -44833,17 +45037,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectMemberRemoved object` + - `ClaudeCommandDeleted object` - A member's access to a Claude Design project was revoked. + Command was deleted. - - `type: optional "design_project_member_removed"` + - `type: optional "claude_command_deleted"` - default: design_project_member_removed + default: claude_command_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45051,22 +45251,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member was removed from, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member that was removed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -45081,17 +45273,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectMemberRoleUpdated object` + - `ClaudeCommandReplaced object` - A Claude Design project member's role was changed. + Command was replaced. - - `type: optional "design_project_member_role_updated"` + - `type: optional "claude_command_replaced"` - default: design_project_member_role_updated + default: claude_command_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45299,26 +45487,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project the member belongs to, e.g. "design_proj_01HX...". - - - `principal_id: string` - - The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - - `principal_type: string` - - The kind of member whose role was changed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - - `role: string` - - The member's role after the change: "viewer", "commenter", or "editor". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `command_id: optional string or null` + + - `command_name: optional string or null` + - `created_at: optional string` When this activity occurred. @@ -45333,21 +45509,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` - - The member's role before the change. - - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectPublished object` + - `ComplianceAPIAccessed object` - A Claude Design template or design system was published, making it discoverable by everyone in its organization. + Logging event auto-generated for each compliance API request. - - `type: optional "design_project_published"` + - `type: optional "compliance_api_accessed"` - default: design_project_published + default: compliance_api_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45555,9 +45723,31 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `request_id: string` - The Design project that was published, e.g. "design_proj_01HX...". + Identifier of the request, as returned in the response's request-id header + + - `request_method: "DELETE" or "GET" or "POST" or 2 more` + + HTTP method of the request + + - `"DELETE"` + + - `"GET"` + + - `"POST"` + + - `"PUT"` + + - `"unspecified"` + + - `status_code: number` + + HTTP status code + + - `url: string` + + Full URL that was requested, including any query string - `id: optional string` @@ -45577,17 +45767,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` + - `request_body: optional string or null` - The project's type: "template" or "design_system". + Serialized JSON request body - - `DesignProjectSharingUpdated object` + - `CoworkSessionUpdated object` - A Claude Design project's link-sharing settings were changed — who the project's link works for, and what people opening it through the link may do. Access granted to individual members is reported separately (see design_project_member_added). + A Cowork session was updated. - - `type: optional "design_project_sharing_updated"` + - `type: optional "cowork_session_updated"` - default: design_project_sharing_updated + default: cowork_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45795,22 +45985,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` - - The Design project whose sharing settings changed, e.g. "design_proj_01HX...". - - - `new_link_permission: string` - - What people opening the project through its link may do after the change: "view", "comment", or "edit". - - - `new_scope: string` + - `cowork_session_id: string` - Who the project link is set to work for after the change: "invited" (only the owner and individually invited members) or "org" (anyone in the project's organization, where the organization's own sharing settings allow org-wide visibility). This records the project's stored setting as changed by the actor; organization-level settings can further restrict who the link actually admits, and changes to those settings are not project events. Projects created before link sharing was restricted may also report a legacy "public" value. + Tagged ID of the updated session, e.g. "sess_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_project_id: optional string or null` + + Tagged ID of the project the session was moved to, if any, e.g. "claude_proj_01HX...". Absent when the session was removed from its project. + - `created_at: optional string` When this activity occurred. @@ -45825,25 +46011,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_link_permission: optional string or null` - - What people opening the project through its link could do before the change. - - - `previous_scope: optional string or null` - - Who the project link was set to work for before the change — the stored setting, with the same organization-level caveat as new_scope. May include the legacy "public" value. - - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectUnpublished object` + - `DesignProjectArtifactPublished object` - A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + A Claude Design project's content was published as a claude.ai artifact, making a snapshot of one of its files viewable outside the project's sharing settings. - - `type: optional "design_project_unpublished"` + - `type: optional "design_project_artifact_published"` - default: design_project_unpublished + default: design_project_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46053,7 +46227,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was unpublished, e.g. "design_proj_01HX...". + The Design project whose content was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -46065,6 +46239,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `is_public: optional boolean or null` + + True when the published artifact is publicly viewable after this call (anyone with the link). False when it is not — by default, a newly published artifact is visible only to the person who published it. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -46075,15 +46253,15 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "template" or "design_system". + The project's type: "project", "template", or "design_system". - - `DesignProjectUpdated object` + - `DesignProjectCreated object` - A Claude Design project's metadata was updated. + A Claude Design project was created. - - `type: optional "design_project_updated"` + - `type: optional "design_project_created"` - default: design_project_updated + default: design_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46291,9 +46469,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `creation_method: string` + + How the project was created: "direct", "duplicate", "remix", or "template_from_project". + - `design_project_id: string` - The Design project that was updated, e.g. "design_proj_01HX...". + The Design project that was created, e.g. "design_proj_01HX...". - `id: optional string` @@ -46315,19 +46497,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. + The project type: "project", "template", or "design_system". - - `updated_fields: optional array of string` + - `source_project_id: optional string or null` - Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. - - `DesignProjectVersionRestored object` + - `DesignProjectDeleted object` - A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + A Claude Design project was deleted. - - `type: optional "design_project_version_restored"` + - `type: optional "design_project_deleted"` - default: design_project_version_restored + default: design_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46537,7 +46719,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was restored, e.g. "design_proj_01HX...". + The Design project that was deleted, e.g. "design_proj_01HX...". - `id: optional string` @@ -46557,21 +46739,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesignProjectViewed object` - - A Claude Design project's content was read. The surface field records which kind of read — a project open, a full-content read, a single-file read, a saved-version read, or an export request. The actor is the reader. + - `DesignProjectMemberAdded object` - This activity type is retired: project content reads are no longer - recorded. Events of this type may still appear in feeds for reads that - occurred while it was active. + A member was granted access to a Claude Design project. - - `type: optional "design_project_viewed"` + - `type: optional "design_project_member_added"` - default: design_project_viewed + default: design_project_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46781,19 +46955,23 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project whose content was read, e.g. "design_proj_01HX...". + The Design project the member was added to, e.g. "design_proj_01HX...". - - `surface: string` + - `principal_id: string` - Which read surface recorded this open: "project" (the project was opened), "project_data" (the project's full contents were read or made readable — either a direct data read, which also includes the project's conversations when the reader's access extends to them, or a render-token request, which exposes the project's files for the token's lifetime; the two share this value and are not distinguished), "file" (one of the project's files was read), "version" (a saved version of the project's files, including their contents, was read — version-history browsing that lists names without contents is not recorded), or "export" (an authenticated export of the project's contents was requested). + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - `id: optional string` + - `principal_type: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `access_via: optional string or null` + - `role: string` - How the viewer was authorized to open the project: "owner" (the project's owner), "member_grant" (an individually invited member), "org_link" (org-wide link sharing), "trusted_service" (an authorized agent), or "design_system_reference" (an indirect read of a design system through a project that uses it). + The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -46813,13 +46991,13 @@ compliance activities that can be filtered by various criteria. The project's type: "project", "template", or "design_system". - - `DesktopExtensionAllowlisted object` + - `DesignProjectMemberRemoved object` - A desktop extension was added to an org's allowlist. + A member's access to a Claude Design project was revoked. - - `type: optional "desktop_extension_allowlisted"` + - `type: optional "design_project_member_removed"` - default: desktop_extension_allowlisted + default: design_project_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47027,25 +47205,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - Allowlisted DXT extension ID - - - `id: optional string` + - `design_project_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The Design project the member was removed from, e.g. "design_proj_01HX...". - - `attestations: optional array of object` + - `principal_id: string` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". - - `type: string` + - `principal_type: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The kind of member that was removed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). - - `content_hash: string` + - `id: optional string` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -47061,13 +47235,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionBlocklisted object` + - `project_type: optional string or null` - A desktop extension was added to the global blocklist. + The project's type: "project", "template", or "design_system". - - `type: optional "desktop_extension_blocklisted"` + - `DesignProjectMemberRoleUpdated object` - default: desktop_extension_blocklisted + A Claude Design project member's role was changed. + + - `type: optional "design_project_member_role_updated"` + + default: design_project_member_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47275,9 +47453,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Blocklisted DXT extension ID + The Design project the member belongs to, e.g. "design_proj_01HX...". + + - `principal_id: string` + + The member's identifier: a tagged user ID (e.g. "user_01HX...") for "account", the group's identifier for "compartment", or the service's identifier for "trusted_service". + + - `principal_type: string` + + The kind of member whose role was changed: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). + + - `role: string` + + The member's role after the change: "viewer", "commenter", or "editor". - `id: optional string` @@ -47297,13 +47487,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionDeleted object` + - `previous_role: optional string or null` - A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. + The member's role before the change. - - `type: optional "desktop_extension_deleted"` + - `project_type: optional string or null` - default: desktop_extension_deleted + The project's type: "project", "template", or "design_system". + + - `DesignProjectPublished object` + + A Claude Design template or design system was published, making it discoverable by everyone in its organization. + + - `type: optional "design_project_published"` + + default: design_project_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47511,9 +47709,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - DXT extension ID + The Design project that was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -47533,17 +47731,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `version: optional string or null` + - `project_type: optional string or null` - Specific version deleted (null if all versions) + The project's type: "template" or "design_system". - - `DesktopExtensionRemovedFromAllowlist object` + - `DesignProjectSharingUpdated object` - A desktop extension was removed from an org's allowlist. + A Claude Design project's link-sharing settings were changed — who the project's link works for, and what people opening it through the link may do. Access granted to individual members is reported separately (see design_project_member_added). - - `type: optional "desktop_extension_removed_from_allowlist"` + - `type: optional "design_project_sharing_updated"` - default: desktop_extension_removed_from_allowlist + default: design_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47751,9 +47949,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - DXT extension ID removed from allowlist + The Design project whose sharing settings changed, e.g. "design_proj_01HX...". + + - `new_link_permission: string` + + What people opening the project through its link may do after the change: "view", "comment", or "edit". + + - `new_scope: string` + + Who the project link is set to work for after the change: "invited" (only the owner and individually invited members) or "org" (anyone in the project's organization, where the organization's own sharing settings allow org-wide visibility). This records the project's stored setting as changed by the actor; organization-level settings can further restrict who the link actually admits, and changes to those settings are not project events. Projects created before link sharing was restricted may also report a legacy "public" value. - `id: optional string` @@ -47773,13 +47979,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionUnblocked object` + - `previous_link_permission: optional string or null` - A desktop extension was removed from the global blocklist. + What people opening the project through its link could do before the change. - - `type: optional "desktop_extension_unblocked"` + - `previous_scope: optional string or null` - default: desktop_extension_unblocked + Who the project link was set to work for before the change — the stored setting, with the same organization-level caveat as new_scope. May include the legacy "public" value. + + - `project_type: optional string or null` + + The project's type: "project", "template", or "design_system". + + - `DesignProjectUnpublished object` + + A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + + - `type: optional "design_project_unpublished"` + + default: design_project_unpublished - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47987,9 +48205,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Unblocked DXT extension ID + The Design project that was unpublished, e.g. "design_proj_01HX...". - `id: optional string` @@ -48009,13 +48227,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionUploaded object` + - `project_type: optional string or null` - A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. + The project's type: "template" or "design_system". - - `type: optional "desktop_extension_uploaded"` + - `DesignProjectUpdated object` - default: desktop_extension_uploaded + A Claude Design project's metadata was updated. + + - `type: optional "design_project_updated"` + + default: design_project_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48223,30 +48445,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - DXT extension ID - - - `version: string` + - `design_project_id: string` - Version string from the manifest + The Design project that was updated, e.g. "design_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. @@ -48261,13 +48467,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DesktopExtensionVersionUploaded object` + - `project_type: optional string or null` - A new version of an existing org-owned desktop extension was uploaded. + The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. - - `type: optional "desktop_extension_version_uploaded"` + - `updated_fields: optional array of string` - default: desktop_extension_version_uploaded + Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + + - `DesignProjectVersionRestored object` + + A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + + - `type: optional "design_project_version_restored"` + + default: design_project_version_restored - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48475,30 +48689,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - DXT extension ID - - - `version: string` + - `design_project_id: string` - Version string from the manifest + The Design project that was restored, e.g. "design_proj_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. @@ -48513,13 +48711,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksConfigDeleted object` + - `project_type: optional string or null` - Inference hooks configuration was removed for the organization. + The project's type: "project", "template", or "design_system". - - `type: optional "inference_hooks_config_deleted"` + - `DesignProjectViewed object` - default: inference_hooks_config_deleted + A Claude Design project's content was read. The surface field records which kind of read — a project open, a full-content read, a single-file read, a saved-version read, or an export request. The actor is the reader. + + This activity type is retired: project content reads are no longer + recorded. Events of this type may still appear in feeds for reads that + occurred while it was active. + + - `type: optional "design_project_viewed"` + + default: design_project_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48727,10 +48933,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `design_project_id: string` + + The Design project whose content was read, e.g. "design_proj_01HX...". + + - `surface: string` + + Which read surface recorded this open: "project" (the project was opened), "project_data" (the project's full contents were read or made readable — either a direct data read, which also includes the project's conversations when the reader's access extends to them, or a render-token request, which exposes the project's files for the token's lifetime; the two share this value and are not distinguished), "file" (one of the project's files was read), "version" (a saved version of the project's files, including their contents, was read — version-history browsing that lists names without contents is not recorded), or "export" (an authenticated export of the project's contents was requested). + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_via: optional string or null` + + How the viewer was authorized to open the project: "owner" (the project's owner), "member_grant" (an individually invited member), "org_link" (org-wide link sharing), "trusted_service" (an authorized agent), or "design_system_reference" (an indirect read of a design system through a project that uses it). + - `created_at: optional string` When this activity occurred. @@ -48745,13 +48963,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksConfigUpdated object` + - `project_type: optional string or null` - Inference hooks configuration was created or updated for the organization. + The project's type: "project", "template", or "design_system". - - `type: optional "inference_hooks_config_updated"` + - `DesktopExtensionAllowlisted object` - default: inference_hooks_config_updated + A desktop extension was added to an org's allowlist. + + - `type: optional "desktop_extension_allowlisted"` + + default: desktop_extension_allowlisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48959,33 +49181,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether Inference hooks enforcement is enabled after this change. - - - `enforcement_mode: string` - - Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). - - - `fail_mode: string` + - `extension_id: string` - Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + Allowlisted DXT extension ID - - `final_verdict_timeout_ms: number` + - `id: optional string` - Milliseconds inference waits for the Inference hooks verdict on the response. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `prompt_verdict_timeout_ms: number` + - `attestations: optional array of object` - Milliseconds inference waits for the Inference hooks verdict on the prompt. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `webhook_url: string` + - `type: string` - Scheme and host of the endpoint that Inference hooks sends prompts and responses to after this change, for example `https://hooks.example.com`; the port, path and query are never included. Empty when the address cannot be shown safely, and on activities recorded before this field was limited to scheme and host. + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `id: optional string` + - `content_hash: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -48993,18 +49207,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deny_message: optional string or null` - - Administrator-written text shown to users at the end of the error message when a request is blocked by the organization's Inference hooks policy, as configured after this change. Null when the built-in default message is in effect; an empty string when the administrator configured an empty message, in which case no text is appended. - - - `deny_message_enabled: optional boolean or null` - - Whether the organization has the appended deny message turned on, as configured after this change. When on, the administrator-written message (or the built-in default, when none is configured) is appended to the error users see when a request is blocked by the organization's Inference hooks policy; no text is appended when the administrator-written message is empty, or when this is off. - - - `extra_header_names: optional array of string or null` - - Names of the custom HTTP headers attached to every Inference hooks request after this change, or null when this update did not change headers. Header values are write-only and are not recorded. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -49013,29 +49215,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reset_circuit_breaker: optional boolean or null` - - Whether this update carried an explicit request to clear the circuit breaker. A tripped breaker otherwise survives configuration updates; it also clears whenever an update enables enforcement. - - - `rollout_percentage: optional number or null` - - Percentage of requests (0-100) inspected by Inference hooks after this change, or null when this update did not change it. 0 disables inspection; 100 inspects every request. - - - `shadow_mode: optional boolean or null` - - Whether the organization's Inference hooks run in shadow mode after this change, or null when this update did not change it. In shadow mode, prompts are still sent to the organization's endpoint and verdicts are recorded, but requests are never blocked. - - - `validate_tool_calls: optional boolean or null` - - Whether Inference hooks validate tool calls, as configured after this change. Null means tool calls are not validated: either nothing has been saved for this setting, as in a configuration created before the setting became available, or the setting is not yet available to the organization. A configuration created once the setting is available starts with it on by default. When on, tool calls the model requests are also sent to the organization's endpoint before they run, and its verdict is applied as it is for prompts. - - - `InferenceHooksSigningSecretGenerated object` + - `DesktopExtensionBlocklisted object` - A request signing secret was generated for the organization's Inference hooks configuration. + A desktop extension was added to the global blocklist. - - `type: optional "inference_hooks_signing_secret_generated"` + - `type: optional "desktop_extension_blocklisted"` - default: inference_hooks_signing_secret_generated + default: desktop_extension_blocklisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49243,9 +49429,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `rotated: boolean` + - `extension_id: string` - Whether this generation replaced an existing signing secret (true) or created the organization's first one (false). Replacing a secret invalidates the previous one immediately. + Blocklisted DXT extension ID - `id: optional string` @@ -49265,13 +49451,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimCancelled object` + - `DesktopExtensionDeleted object` - A pending domain claim was cancelled before it took effect, so the personal accounts on the claimed domains will no longer be migrated or deactivated at its deadline. + A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. - - `type: optional "domain_claim_cancelled"` + - `type: optional "desktop_extension_deleted"` - default: domain_claim_cancelled + default: desktop_extension_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49479,9 +49665,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `domain_claim_id: string` + - `extension_id: string` - The domain claim that was cancelled, e.g. "dclm_01Ab...". + DXT extension ID - `id: optional string` @@ -49501,23 +49687,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimDeadlineUpdated object` - - The migration deadline of a pending domain claim was moved to a later or an earlier date by Anthropic staff or an automated process. - - - `type: optional "domain_claim_deadline_updated"` - - default: domain_claim_deadline_updated + - `version: optional string or null` - - `action: "extended" or "shortened" or "unspecified"` + Specific version deleted (null if all versions) - Whether the deadline was extended (moved later) or shortened (moved earlier). + - `DesktopExtensionRemovedFromAllowlist object` - - `"extended"` + A desktop extension was removed from an org's allowlist. - - `"shortened"` + - `type: optional "desktop_extension_removed_from_allowlist"` - - `"unspecified"` + default: desktop_extension_removed_from_allowlist - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49725,9 +49905,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `domain_claim_id: string` + - `extension_id: string` - The domain claim whose deadline was moved, e.g. "dclm_01Ab...". + DXT extension ID removed from allowlist - `id: optional string` @@ -49739,12 +49919,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deadline_at: optional string or null` - - The deadline after the change. - - format: date-time - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -49753,19 +49927,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_deadline_at: optional string or null` - - The deadline before the change. - - format: date-time - - - `DomainClaimInitiated object` + - `DesktopExtensionUnblocked object` - Domain capture claim initiated over personal accounts on verified domains. + A desktop extension was removed from the global blocklist. - - `type: optional "domain_claim_initiated"` + - `type: optional "desktop_extension_unblocked"` - default: domain_claim_initiated + default: desktop_extension_unblocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49973,6 +50141,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `extension_id: string` + + Unblocked DXT extension ID + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -49991,13 +50163,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `EndUserInviteRequested object` + - `DesktopExtensionUploaded object` - Non-admin member submitted an invite request for a new org member. + A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. - - `type: optional "end_user_invite_requested"` + - `type: optional "desktop_extension_uploaded"` - default: end_user_invite_requested + default: desktop_extension_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50205,12 +50377,30 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` + - `extension_id: string` + + DXT extension ID + + - `version: string` + + Version string from the manifest - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. @@ -50225,13 +50415,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageBillingEnabled object` + - `DesktopExtensionVersionUploaded object` - Usage credit billing was enabled for an organization. + A new version of an existing org-owned desktop extension was uploaded. - - `type: optional "extra_usage_billing_enabled"` + - `type: optional "desktop_extension_version_uploaded"` - default: extra_usage_billing_enabled + default: desktop_extension_version_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50439,10 +50629,30 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `extension_id: string` + + DXT extension ID + + - `version: string` + + Version string from the manifest + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. @@ -50457,13 +50667,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageCreditGranted object` + - `InferenceHooksConfigDeleted object` - A promotional usage credit grant was claimed. + Inference hooks configuration was removed for the organization. - - `type: optional "extra_usage_credit_granted"` + - `type: optional "inference_hooks_config_deleted"` - default: extra_usage_credit_granted + default: inference_hooks_config_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50689,13 +50899,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ExtraUsageSpendLimitCreated object` + - `InferenceHooksConfigUpdated object` - Usage credit spend limit was created. + Inference hooks configuration was created or updated for the organization. - - `type: optional "extra_usage_spend_limit_created"` + - `type: optional "inference_hooks_config_updated"` - default: extra_usage_spend_limit_created + default: inference_hooks_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50903,13 +51113,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `enabled: boolean` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether Inference hooks enforcement is enabled after this change. - - `amount: optional number or null` + - `enforcement_mode: string` - The monthly credit limit amount in minor units (e.g. cents). + Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). + + - `fail_mode: string` + + Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + + - `final_verdict_timeout_ms: number` + + Milliseconds inference waits for the Inference hooks verdict on the response. + + - `prompt_verdict_timeout_ms: number` + + Milliseconds inference waits for the Inference hooks verdict on the prompt. + + - `webhook_url: string` + + Scheme and host of the endpoint that Inference hooks sends prompts and responses to after this change, for example `https://hooks.example.com`; the port, path and query are never included. Empty when the address cannot be shown safely, and on activities recorded before this field was limited to scheme and host. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -50917,13 +51147,17 @@ compliance activities that can be filtered by various criteria. format: date-time - - `is_enabled: optional boolean or null` + - `deny_message: optional string or null` - Whether the spend limit is enabled. + Administrator-written text shown to users at the end of the error message when a request is blocked by the organization's Inference hooks policy, as configured after this change. Null when the built-in default message is in effect; an empty string when the administrator configured an empty message, in which case no text is appended. - - `limit_type: optional string or null` + - `deny_message_enabled: optional boolean or null` - The type of spend limit created (e.g. organization, seat_tier, member, service, group). + Whether the organization has the appended deny message turned on, as configured after this change. When on, the administrator-written message (or the built-in default, when none is configured) is appended to the error users see when a request is blocked by the organization's Inference hooks policy; no text is appended when the administrator-written message is empty, or when this is off. + + - `extra_header_names: optional array of string or null` + + Names of the custom HTTP headers attached to every Inference hooks request after this change, or null when this update did not change headers. Header values are write-only and are not recorded. - `organization_id: optional string or null` @@ -50933,23 +51167,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` + - `reset_circuit_breaker: optional boolean or null` - Tagged ID of the spend limit. + Whether this update carried an explicit request to clear the circuit breaker. A tripped breaker otherwise survives configuration updates; it also clears whenever an update enables enforcement. - - `user_id: optional string or null` + - `rollout_percentage: optional number or null` - **Deprecated** + Percentage of requests (0-100) inspected by Inference hooks after this change, or null when this update did not change it. 0 disables inspection; 100 inspects every request. - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + - `shadow_mode: optional boolean or null` - - `ExtraUsageSpendLimitDeleted object` + Whether the organization's Inference hooks run in shadow mode after this change, or null when this update did not change it. In shadow mode, prompts are still sent to the organization's endpoint and verdicts are recorded, but requests are never blocked. - Usage credit spend limit was deleted. + - `validate_tool_calls: optional boolean or null` - - `type: optional "extra_usage_spend_limit_deleted"` + Whether Inference hooks validate tool calls, as configured after this change. Null means tool calls are not validated: either nothing has been saved for this setting, as in a configuration created before the setting became available, or the setting is not yet available to the organization. A configuration created once the setting is available starts with it on by default. When on, tool calls the model requests are also sent to the organization's endpoint before they run, and its verdict is applied as it is for prompts. - default: extra_usage_spend_limit_deleted + - `InferenceHooksSigningSecretGenerated object` + + A request signing secret was generated for the organization's Inference hooks configuration. + + - `type: optional "inference_hooks_signing_secret_generated"` + + default: inference_hooks_signing_secret_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51157,6 +51397,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `rotated: boolean` + + Whether this generation replaced an existing signing secret (true) or created the organization's first one (false). Replacing a secret invalidates the previous one immediately. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -51175,23 +51419,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` - - **Deprecated** - - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - - `ExtraUsageSpendLimitIncreaseRequestApproved object` + - `DomainClaimCancelled object` - A usage credit spend limit increase request was approved. + A pending domain claim was cancelled before it took effect, so the personal accounts on the claimed domains will no longer be migrated or deactivated at its deadline. - - `type: optional "extra_usage_spend_limit_increase_request_approved"` + - `type: optional "domain_claim_cancelled"` - default: extra_usage_spend_limit_increase_request_approved + default: domain_claim_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51399,13 +51633,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `domain_claim_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The domain claim that was cancelled, e.g. "dclm_01Ab...". - - `amount: optional number or null` + - `id: optional string` - The approved spend limit amount in minor units (e.g. cents). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -51421,25 +51655,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `requester_user_id: optional string or null` - - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + - `DomainClaimDeadlineUpdated object` - - `spend_limit_id: optional string or null` + The migration deadline of a pending domain claim was moved to a later or an earlier date by Anthropic staff or an automated process. - Tagged ID of the member's spend limit that the approval created or updated. + - `type: optional "domain_claim_deadline_updated"` - - `spend_limit_increase_request_id: optional string or null` + default: domain_claim_deadline_updated - Tagged ID of the spend limit increase request that was approved. + - `action: "extended" or "shortened" or "unspecified"` - - `ExtraUsageSpendLimitIncreaseRequestDenied object` + Whether the deadline was extended (moved later) or shortened (moved earlier). - A usage credit spend limit increase request was denied. + - `"extended"` - - `type: optional "extra_usage_spend_limit_increase_request_denied"` + - `"shortened"` - default: extra_usage_spend_limit_increase_request_denied + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51647,6 +51879,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `domain_claim_id: string` + + The domain claim whose deadline was moved, e.g. "dclm_01Ab...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -51657,6 +51893,12 @@ compliance activities that can be filtered by various criteria. format: date-time + - `deadline_at: optional string or null` + + The deadline after the change. + + format: date-time + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51665,21 +51907,19 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `requester_user_id: optional string or null` - - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + - `previous_deadline_at: optional string or null` - - `spend_limit_increase_request_id: optional string or null` + The deadline before the change. - Tagged ID of the spend limit increase request that was denied. + format: date-time - - `ExtraUsageSpendLimitUpdated object` + - `DomainClaimInitiated object` - Usage credit spend limit was updated. + Domain capture claim initiated over personal accounts on verified domains. - - `type: optional "extra_usage_spend_limit_updated"` + - `type: optional "domain_claim_initiated"` - default: extra_usage_spend_limit_updated + default: domain_claim_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51891,24 +52131,12 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `amount: optional number or null` - - The new monthly credit limit amount in minor units (e.g. cents). - - `created_at: optional string` When this activity occurred. format: date-time - - `is_enabled: optional boolean or null` - - Whether the spend limit is enabled. - - - `limit_type: optional string or null` - - The type of spend limit updated (e.g. organization, seat_tier, member, service, group). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51917,23 +52145,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` - - **Deprecated** - - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - - `ClaudeFileDeleted object` + - `EndUserInviteRequested object` - A file was deleted. + Non-admin member submitted an invite request for a new org member. - - `type: optional "claude_file_deleted"` + - `type: optional "end_user_invite_requested"` - default: claude_file_deleted + default: end_user_invite_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52141,9 +52359,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` - - Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". + - `invitee_email: string` - `id: optional string` @@ -52163,19 +52379,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated. The name can't be looked up once the file is deleted. - - - `ClaudeFileUploaded object` + - `ExtraUsageBillingEnabled object` - A file was uploaded. + Usage credit billing was enabled for an organization. - - `type: optional "claude_file_uploaded"` + - `type: optional "extra_usage_billing_enabled"` - default: claude_file_uploaded + default: extra_usage_billing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52383,22 +52593,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` - - Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_id: optional string or null` - - Chat ID if known at upload time (null for the upload-then-attach flow). To find which chats a file was later attached to, use `GET /v1/compliance/apps/chats/files/{claude_file_id}`. - - - `claude_project_id: optional string or null` - - Project ID if file was uploaded to a project - - `created_at: optional string` When this activity occurred. @@ -52413,19 +52611,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `filename: optional string or null` - - **Deprecated** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `GheConfigurationCreated object` + - `ExtraUsageCreditGranted object` - Admin created a GHE configuration. + A promotional usage credit grant was claimed. - - `type: optional "ghe_configuration_created"` + - `type: optional "extra_usage_credit_granted"` - default: ghe_configuration_created + default: extra_usage_credit_granted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52633,10 +52825,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -52647,14 +52835,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` - - Hostname of the GitHub Enterprise instance - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -52663,17 +52843,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GheConfigurationDeleted object` + - `ExtraUsageSpendLimitCreated object` - Admin deleted a GHE configuration. + Usage credit spend limit was created. - - `type: optional "ghe_configuration_deleted"` + - `type: optional "extra_usage_spend_limit_created"` - default: ghe_configuration_deleted + default: extra_usage_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52881,27 +53057,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The monthly credit limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time - - `display_name: optional string or null` + - `is_enabled: optional boolean or null` - Display name the configuration had when deleted + Whether the spend limit is enabled. - - `hostname: optional string or null` + - `limit_type: optional string or null` - Hostname of the GitHub Enterprise instance + The type of spend limit created (e.g. organization, seat_tier, member, service, group). - `organization_id: optional string or null` @@ -52911,17 +53087,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` + - `spend_limit_id: optional string or null` - Custom port, if not the HTTPS default + Tagged ID of the spend limit. - - `GheConfigurationUpdated object` + - `user_id: optional string or null` - Admin updated a GHE configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + **Deprecated** - - `type: optional "ghe_configuration_updated"` + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - default: ghe_configuration_updated + - `ExtraUsageSpendLimitDeleted object` + + Usage credit spend limit was deleted. + + - `type: optional "extra_usage_spend_limit_deleted"` + + default: extra_usage_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53129,10 +53311,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -53143,38 +53321,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `custom_ca_certificate_updated: optional boolean or null` - - Whether the custom CA certificate was replaced in this update - - - `display_name: optional string or null` - - New display name, when it changed - - - `github_app_client_id: optional string or null` - - New GitHub App client ID, when it changed - - - `github_app_client_secret_updated: optional boolean or null` - - Whether the GitHub App client secret was replaced in this update - - - `github_app_id: optional number or null` - - New GitHub App ID, when it changed - - - `github_app_private_key_updated: optional boolean or null` - - Whether the GitHub App private key was replaced in this update - - - `hostname: optional string or null` - - Hostname of the GitHub Enterprise instance (immutable; included for context) - - - `is_active: optional boolean or null` - - New active state, when it changed - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53183,45 +53329,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - New port, when it changed - - - `previous_display_name: optional string or null` - - Display name before the change, when it changed - - - `previous_github_app_client_id: optional string or null` - - GitHub App client ID before the change, when it changed - - - `previous_github_app_id: optional number or null` - - GitHub App ID before the change, when it changed - - - `previous_is_active: optional boolean or null` - - Active state before the change, when it changed - - - `previous_port: optional number or null` - - Port before the change, when it changed + - `spend_limit_id: optional string or null` - - `read_replica_hostnames_updated: optional boolean or null` + Tagged ID of the spend limit. - Whether the read replica hostnames were replaced in this update + - `user_id: optional string or null` - - `webhook_secret_updated: optional boolean or null` + **Deprecated** - Whether the webhook secret was replaced in this update + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - `GheUserConnected object` + - `ExtraUsageSpendLimitIncreaseRequestApproved object` - User connected to a GHE instance. + A usage credit spend limit increase request was approved. - - `type: optional "ghe_user_connected"` + - `type: optional "extra_usage_spend_limit_increase_request_approved"` - default: ghe_user_connected + default: extra_usage_spend_limit_increase_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53433,16 +53557,16 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The approved spend limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time - - `ghe_configuration_id: optional string or null` - - ID of the GHE configuration - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53451,13 +53575,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GheUserDisconnected object` + - `requester_user_id: optional string or null` - User disconnected from a GHE instance. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "ghe_user_disconnected"` + - `spend_limit_id: optional string or null` - default: ghe_user_disconnected + Tagged ID of the member's spend limit that the approval created or updated. + + - `spend_limit_increase_request_id: optional string or null` + + Tagged ID of the spend limit increase request that was approved. + + - `ExtraUsageSpendLimitIncreaseRequestDenied object` + + A usage credit spend limit increase request was denied. + + - `type: optional "extra_usage_spend_limit_increase_request_denied"` + + default: extra_usage_spend_limit_increase_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53675,10 +53811,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` - - ID of the GHE configuration - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53687,13 +53819,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GheWebhookSignatureInvalid object` + - `requester_user_id: optional string or null` - Webhook signature validation failed. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "ghe_webhook_signature_invalid"` + - `spend_limit_increase_request_id: optional string or null` - default: ghe_webhook_signature_invalid + Tagged ID of the spend limit increase request that was denied. + + - `ExtraUsageSpendLimitUpdated object` + + Usage credit spend limit was updated. + + - `type: optional "extra_usage_spend_limit_updated"` + + default: extra_usage_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53901,20 +54041,28 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` - - ID of the GHE configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `amount: optional number or null` + + The new monthly credit limit amount in minor units (e.g. cents). + - `created_at: optional string` When this activity occurred. format: date-time + - `is_enabled: optional boolean or null` + + Whether the spend limit is enabled. + + - `limit_type: optional string or null` + + The type of spend limit updated (e.g. organization, seat_tier, member, service, group). + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -53923,13 +54071,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGitHubIntegrationCreated object` + - `spend_limit_id: optional string or null` - A GitHub integration was enabled for the organization. + Tagged ID of the spend limit. - - `type: optional "claude_github_integration_created"` + - `user_id: optional string or null` - default: claude_github_integration_created + **Deprecated** + + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + + - `ClaudeFileDeleted object` + + A file was deleted. + + - `type: optional "claude_file_deleted"` + + default: claude_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54137,63 +54295,41 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `claude_file_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `enabled: optional boolean or null` - - Whether the integration is enabled after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_name: optional string or null` - - Name of the GitHub organization the integration is connected to, when known. - - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. + - `filename: optional string or null` - - `repository_name: optional string or null` + **Deprecated** - Name of the GitHub repository the integration is connected to, when known. + No longer populated. The name can't be looked up once the file is deleted. - - `ClaudeGitHubIntegrationDeleted object` + - `ClaudeFileUploaded object` - A GitHub integration was disabled for the organization. + A file was uploaded. - - `type: optional "claude_github_integration_deleted"` + - `type: optional "claude_file_uploaded"` - default: claude_github_integration_deleted + default: claude_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54401,51 +54537,49 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `claude_file_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `claude_chat_id: optional string or null` + + Chat ID if known at upload time (null for the upload-then-attach flow). To find which chats a file was later attached to, use `GET /v1/compliance/apps/chats/files/{claude_file_id}`. + + - `claude_project_id: optional string or null` + + Project ID if file was uploaded to a project + - `created_at: optional string` When this activity occurred. format: date-time - - `enabled: optional boolean or null` - - Whether the integration is enabled after this change. - - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_name: optional string or null` - - Name of the GitHub organization the integration was connected to, when known. - - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. + - `filename: optional string or null` - - `repository_name: optional string or null` + **Deprecated** - Name of the GitHub repository the integration was connected to, when known. + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - `ClaudeGitHubIntegrationUpdated object` + - `GheConfigurationCreated object` - A GitHub integration's configuration was updated. + Admin created a GHE configuration. - - `type: optional "claude_github_integration_updated"` + - `type: optional "ghe_configuration_created"` - default: claude_github_integration_updated + default: ghe_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54653,9 +54787,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `ghe_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GHE configuration - `id: optional string` @@ -54667,29 +54801,33 @@ compliance activities that can be filtered by various criteria. format: date-time - - `organization_id: optional string or null` + - `display_name: optional string or null` - Organization ID this activity is associated with + Display name given to the configuration - - `organization_name: optional string or null` + - `hostname: optional string or null` - Name of the GitHub organization the integration is connected to, when known. + Hostname of the GitHub Enterprise instance + + - `organization_id: optional string or null` + + Organization ID this activity is associated with - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `repository_name: optional string or null` + - `port: optional number or null` - Name of the GitHub repository the integration is connected to, when known. + Custom port, if not the HTTPS default - - `GitHubAppInstallationLinked object` + - `GheConfigurationDeleted object` - An installation of the Claude GitHub App (a GitHub organization or user account where the App is installed) was linked to the organization, letting the organization's Claude Code features act on that GitHub account's repositories. + Admin deleted a GHE configuration. - - `type: optional "github_app_installation_linked"` + - `type: optional "ghe_configuration_deleted"` - default: github_app_installation_linked + default: ghe_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54897,9 +55035,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `ghe_configuration_id: string` - Numeric GitHub ID of the installation that was linked + ID of the GHE configuration - `id: optional string` @@ -54911,13 +55049,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_account_login: optional string or null` + - `display_name: optional string or null` - Login of the GitHub organization or user account the App is installed on + Display name the configuration had when deleted - - `github_account_type: optional string or null` + - `hostname: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + Hostname of the GitHub Enterprise instance - `organization_id: optional string or null` @@ -54927,13 +55065,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GitHubAppInstallationUnlinked object` + - `port: optional number or null` - An installation of the Claude GitHub App was unlinked from the organization, so the organization's Claude Code features can no longer act on that GitHub account's repositories through it. + Custom port, if not the HTTPS default - - `type: optional "github_app_installation_unlinked"` + - `GheConfigurationUpdated object` - default: github_app_installation_unlinked + Admin updated a GHE configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + + - `type: optional "ghe_configuration_updated"` + + default: ghe_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55141,9 +55283,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `ghe_configuration_id: string` - Numeric GitHub ID of the installation that was unlinked + ID of the GHE configuration - `id: optional string` @@ -55155,13 +55297,37 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_account_login: optional string or null` + - `custom_ca_certificate_updated: optional boolean or null` - Login of the GitHub organization or user account the App is installed on + Whether the custom CA certificate was replaced in this update - - `github_account_type: optional string or null` + - `display_name: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + New display name, when it changed + + - `github_app_client_id: optional string or null` + + New GitHub App client ID, when it changed + + - `github_app_client_secret_updated: optional boolean or null` + + Whether the GitHub App client secret was replaced in this update + + - `github_app_id: optional number or null` + + New GitHub App ID, when it changed + + - `github_app_private_key_updated: optional boolean or null` + + Whether the GitHub App private key was replaced in this update + + - `hostname: optional string or null` + + Hostname of the GitHub Enterprise instance (immutable; included for context) + + - `is_active: optional boolean or null` + + New active state, when it changed - `organization_id: optional string or null` @@ -55171,13 +55337,45 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GitHubTokenImport object` + - `port: optional number or null` - A user attempted to import a personal GitHub access token for use with Claude Code. The `result` field indicates the outcome of the import (imported, rejected, or failed). + New port, when it changed - - `type: optional "github_token_import"` + - `previous_display_name: optional string or null` - default: github_token_import + Display name before the change, when it changed + + - `previous_github_app_client_id: optional string or null` + + GitHub App client ID before the change, when it changed + + - `previous_github_app_id: optional number or null` + + GitHub App ID before the change, when it changed + + - `previous_is_active: optional boolean or null` + + Active state before the change, when it changed + + - `previous_port: optional number or null` + + Port before the change, when it changed + + - `read_replica_hostnames_updated: optional boolean or null` + + Whether the read replica hostnames were replaced in this update + + - `webhook_secret_updated: optional boolean or null` + + Whether the webhook secret was replaced in this update + + - `GheUserConnected object` + + User connected to a GHE instance. + + - `type: optional "ghe_user_connected"` + + default: ghe_user_connected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55385,30 +55583,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - - The outcome of the import. - - - `"failed_internal"` - - - `"imported"` - - - `"rejected_feature_disabled"` - - - `"rejected_invalid_credential"` - - - `"rejected_missing_repo_scope"` - - - `"rejected_tenant_not_ready"` - - - `"rejected_zdr_policy"` - - - `"unspecified"` - - - `source: string` - - How the token was imported. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -55419,13 +55593,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_username: optional string or null` - - The GitHub username the imported token authenticates as, when known. - - - `granted_scopes: optional string or null` + - `ghe_configuration_id: optional string or null` - The scopes granted to the imported token, when available. + ID of the GHE configuration - `organization_id: optional string or null` @@ -55435,17 +55605,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `token_fingerprint_sha256: optional string or null` - - Not populated. - - - `GitlabConfigurationCreated object` + - `GheUserDisconnected object` - An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + User disconnected from a GHE instance. - - `type: optional "gitlab_configuration_created"` + - `type: optional "ghe_user_disconnected"` - default: gitlab_configuration_created + default: ghe_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55653,10 +55819,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` - - ID of the GitLab configuration - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -55667,13 +55829,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` + - `ghe_configuration_id: optional string or null` - Hostname of the GitLab instance + ID of the GHE configuration - `organization_id: optional string or null` @@ -55683,17 +55841,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationDeleted object` + - `GheWebhookSignatureInvalid object` - An organization admin deleted a self-managed GitLab configuration. + Webhook signature validation failed. - - `type: optional "gitlab_configuration_deleted"` + - `type: optional "ghe_webhook_signature_invalid"` - default: gitlab_configuration_deleted + default: ghe_webhook_signature_invalid - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55901,9 +56055,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `ghe_configuration_id: string` - ID of the GitLab configuration + ID of the GHE configuration - `id: optional string` @@ -55915,14 +56069,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` - - Display name the configuration had when deleted - - - `hostname: optional string or null` - - Hostname of the GitLab instance - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -55931,17 +56077,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationUpdated object` + - `ClaudeGitHubIntegrationCreated object` - An organization admin updated a self-managed GitLab configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + A GitHub integration was enabled for the organization. - - `type: optional "gitlab_configuration_updated"` + - `type: optional "claude_github_integration_created"` - default: gitlab_configuration_updated + default: claude_github_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56149,71 +56291,63 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `integration_id: string` - ID of the GitLab configuration + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_token_updated: optional boolean or null` - - Whether the access token was replaced in this update - - - `created_at: optional string` + - `attestations: optional array of object` - When this activity occurred. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - format: date-time + - `type: string` - - `custom_ca_certificate_updated: optional boolean or null` + Attestation type, such as "safe_for_phi" (may be used with protected health information). - Whether the custom CA certificate was replaced in this update + - `content_hash: string` - - `display_name: optional string or null` + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - New display name, when it changed + - `created_at: optional string` - - `hostname: optional string or null` + When this activity occurred. - Hostname of the GitLab instance (immutable; included for context) + format: date-time - - `is_active: optional boolean or null` + - `enabled: optional boolean or null` - New active state, when it changed + Whether the integration is enabled after this change. - `organization_id: optional string or null` Organization ID this activity is associated with - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `port: optional number or null` + - `organization_name: optional string or null` - New port, when it changed + Name of the GitHub organization the integration is connected to, when known. - - `previous_display_name: optional string or null` + - `organization_uuid: optional string or null` - Display name before the change, when it changed + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_is_active: optional boolean or null` + - `previous_enabled: optional boolean or null` - Active state before the change, when it changed + Whether the integration was enabled before this change; null when the integration had never been configured. - - `previous_port: optional number or null` + - `repository_name: optional string or null` - Port before the change, when it changed + Name of the GitHub repository the integration is connected to, when known. - - `ClaudeGdriveIntegrationCreated object` + - `ClaudeGitHubIntegrationDeleted object` - A Google Drive integration was enabled for the organization. + A GitHub integration was disabled for the organization. - - `type: optional "claude_gdrive_integration_created"` + - `type: optional "claude_github_integration_deleted"` - default: claude_gdrive_integration_created + default: claude_github_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56423,49 +56557,49 @@ compliance activities that can be filtered by various criteria. - `integration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `folder_id: optional string or null` + - `enabled: optional boolean or null` - Identifier of the Google Drive folder the integration is connected to, when known. + Whether the integration is enabled after this change. - `organization_id: optional string or null` Organization ID this activity is associated with + - `organization_name: optional string or null` + + Name of the GitHub organization the integration was connected to, when known. + - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGdriveIntegrationDeleted object` + - `previous_enabled: optional boolean or null` - A Google Drive integration was disabled for the organization. + Whether the integration was enabled before this change; null when the integration had never been configured. - - `type: optional "claude_gdrive_integration_deleted"` + - `repository_name: optional string or null` - default: claude_gdrive_integration_deleted + Name of the GitHub repository the integration was connected to, when known. + + - `ClaudeGitHubIntegrationUpdated object` + + A GitHub integration's configuration was updated. + + - `type: optional "claude_github_integration_updated"` + + default: claude_github_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56675,7 +56809,7 @@ compliance activities that can be filtered by various criteria. - `integration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -56687,25 +56821,29 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` - - Identifier of the Google Drive folder the integration was connected to, when known. - - `organization_id: optional string or null` Organization ID this activity is associated with + - `organization_name: optional string or null` + + Name of the GitHub organization the integration is connected to, when known. + - `organization_uuid: optional string or null` Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeGdriveIntegrationUpdated object` + - `repository_name: optional string or null` - A Google Drive integration's configuration was updated. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "claude_gdrive_integration_updated"` + - `GitHubAppInstallationLinked object` - default: claude_gdrive_integration_updated + An installation of the Claude GitHub App (a GitHub organization or user account where the App is installed) was linked to the organization, letting the organization's Claude Code features act on that GitHub account's repositories. + + - `type: optional "github_app_installation_linked"` + + default: github_app_installation_linked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56913,9 +57051,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `github_installation_id: number` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Numeric GitHub ID of the installation that was linked - `id: optional string` @@ -56927,9 +57065,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` + - `github_account_login: optional string or null` - Identifier of the Google Drive folder the integration is connected to, when known. + Login of the GitHub organization or user account the App is installed on + + - `github_account_type: optional string or null` + + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") - `organization_id: optional string or null` @@ -56939,13 +57081,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupCreated object` + - `GitHubAppInstallationUnlinked object` - A group was created (RBAC admin or SCIM provisioning). + An installation of the Claude GitHub App was unlinked from the organization, so the organization's Claude Code features can no longer act on that GitHub account's repositories through it. - - `type: optional "group_created"` + - `type: optional "github_app_installation_unlinked"` - default: group_created + default: github_app_installation_unlinked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57153,13 +57295,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the created group - - - `group_name: string` + - `github_installation_id: number` - Name of the created group + Numeric GitHub ID of the installation that was unlinked - `id: optional string` @@ -57171,6 +57309,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `github_account_login: optional string or null` + + Login of the GitHub organization or user account the App is installed on + + - `github_account_type: optional string or null` + + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57179,13 +57325,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupDeleted object` + - `GitHubTokenImport object` - A group was deleted (RBAC admin or SCIM provisioning). + A user attempted to import a personal GitHub access token for use with Claude Code. The `result` field indicates the outcome of the import (imported, rejected, or failed). - - `type: optional "group_deleted"` + - `type: optional "github_token_import"` - default: group_deleted + default: github_token_import - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57393,9 +57539,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - Tagged ID of the deleted group + The outcome of the import. + + - `"failed_internal"` + + - `"imported"` + + - `"rejected_feature_disabled"` + + - `"rejected_invalid_credential"` + + - `"rejected_missing_repo_scope"` + + - `"rejected_tenant_not_ready"` + + - `"rejected_zdr_policy"` + + - `"unspecified"` + + - `source: string` + + How the token was imported. - `id: optional string` @@ -57407,6 +57573,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `github_username: optional string or null` + + The GitHub username the imported token authenticates as, when known. + + - `granted_scopes: optional string or null` + + The scopes granted to the imported token, when available. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57415,13 +57589,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupListViewed object` + - `token_fingerprint_sha256: optional string or null` - Admin viewed the list of RBAC groups. + Not populated. - - `type: optional "group_list_viewed"` + - `GitlabConfigurationCreated object` - default: group_list_viewed + An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + + - `type: optional "gitlab_configuration_created"` + + default: gitlab_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57629,6 +57807,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `gitlab_configuration_id: string` + + ID of the GitLab configuration + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -57639,6 +57821,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `display_name: optional string or null` + + Display name given to the configuration + + - `hostname: optional string or null` + + Hostname of the GitLab instance + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57647,13 +57837,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberAdded object` + - `port: optional number or null` - One or more members were added to a group. + Custom port, if not the HTTPS default - - `type: optional "group_member_added"` + - `GitlabConfigurationDeleted object` - default: group_member_added + An organization admin deleted a self-managed GitLab configuration. + + - `type: optional "gitlab_configuration_deleted"` + + default: gitlab_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57861,9 +58055,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the group + ID of the GitLab configuration - `id: optional string` @@ -57875,9 +58069,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `display_name: optional string or null` - Tagged IDs of the members added: user IDs, or service account IDs (svac_...) when a service account was added + Display name the configuration had when deleted + + - `hostname: optional string or null` + + Hostname of the GitLab instance - `organization_id: optional string or null` @@ -57887,13 +58085,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberAdditionFailed object` + - `port: optional number or null` - A request to add members to a group failed. Some of the requested members may have been added before the failure. + Custom port, if not the HTTPS default - - `type: optional "group_member_addition_failed"` + - `GitlabConfigurationUpdated object` - default: group_member_addition_failed + An organization admin updated a self-managed GitLab configuration. Previous/new field pairs are recorded only for settings that changed in the update; secret credentials are never recorded, only whether they were replaced. + + - `type: optional "gitlab_configuration_updated"` + + default: gitlab_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58101,23 +58303,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the group + ID of the GitLab configuration - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `access_token_updated: optional boolean or null` + + Whether the access token was replaced in this update + - `created_at: optional string` When this activity occurred. format: date-time - - `member_ids: optional array of string` + - `custom_ca_certificate_updated: optional boolean or null` - Tagged IDs of the members the request attempted to add + Whether the custom CA certificate was replaced in this update + + - `display_name: optional string or null` + + New display name, when it changed + + - `hostname: optional string or null` + + Hostname of the GitLab instance (immutable; included for context) + + - `is_active: optional boolean or null` + + New active state, when it changed - `organization_id: optional string or null` @@ -58127,13 +58345,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberListViewed object` + - `port: optional number or null` - Admin viewed the members of an RBAC group. + New port, when it changed - - `type: optional "group_member_list_viewed"` + - `previous_display_name: optional string or null` - default: group_member_list_viewed + Display name before the change, when it changed + + - `previous_is_active: optional boolean or null` + + Active state before the change, when it changed + + - `previous_port: optional number or null` + + Port before the change, when it changed + + - `ClaudeGdriveIntegrationCreated object` + + A Google Drive integration was enabled for the organization. + + - `type: optional "claude_gdrive_integration_created"` + + default: claude_gdrive_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58341,20 +58575,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time + - `folder_id: optional string or null` + + Identifier of the Google Drive folder the integration is connected to, when known. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -58363,13 +58613,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberRemovalFailed object` + - `ClaudeGdriveIntegrationDeleted object` - A request to remove members from a group failed. Some of the requested members may have been removed before the failure. + A Google Drive integration was disabled for the organization. - - `type: optional "group_member_removal_failed"` + - `type: optional "claude_gdrive_integration_deleted"` - default: group_member_removal_failed + default: claude_gdrive_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58577,9 +58827,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -58591,9 +58841,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `folder_id: optional string or null` - Tagged IDs of the members the request attempted to remove. These are always recorded as user IDs, since whether a member was a service account is only established once its removal succeeds + Identifier of the Google Drive folder the integration was connected to, when known. - `organization_id: optional string or null` @@ -58603,13 +58853,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupMemberRemoved object` + - `ClaudeGdriveIntegrationUpdated object` - One or more members were removed from a group. + A Google Drive integration's configuration was updated. - - `type: optional "group_member_removed"` + - `type: optional "claude_gdrive_integration_updated"` - default: group_member_removed + default: claude_gdrive_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58817,9 +59067,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `integration_id: string` - Tagged ID of the group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -58831,9 +59081,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `member_ids: optional array of string` + - `folder_id: optional string or null` - Tagged IDs of the members removed: user IDs, or service account IDs (svac_...) when a service account was removed. A requested member that was not in the group is listed as a user ID + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -58843,13 +59093,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupProjectSharesRevoked object` + - `GroupCreated object` - An RBAC group's project shares in one organization were revoked in bulk. + A group was created (RBAC admin or SCIM provisioning). - - `type: optional "group_project_shares_revoked"` + - `type: optional "group_created"` - default: group_project_shares_revoked + default: group_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59059,20 +59309,16 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose project shares were revoked. + Tagged ID of the created group - - `revoked_count: number` + - `group_name: string` - Number of distinct projects whose share with this group was revoked. + Name of the created group - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_ids: optional array of string` - - Tagged IDs of the projects whose share with this group was revoked. - - `created_at: optional string` When this activity occurred. @@ -59087,13 +59333,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupSkillSharesRevoked object` + - `GroupDeleted object` - An RBAC group's skill shares in one organization were revoked in bulk. + A group was deleted (RBAC admin or SCIM provisioning). - - `type: optional "group_skill_shares_revoked"` + - `type: optional "group_deleted"` - default: group_skill_shares_revoked + default: group_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59303,11 +59549,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose skill shares were revoked. - - - `revoked_count: number` - - Number of distinct skills and plugins whose share with this group was revoked: the combined size of `skill_ids` and `plugin_ids`. + Tagged ID of the deleted group - `id: optional string` @@ -59327,21 +59569,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_ids: optional array of string` - - Tagged IDs of the plugins whose share with this group was revoked. - - - `skill_ids: optional array of string` - - Tagged IDs of the skills whose share with this group was revoked. - - - `GroupUpdated object` + - `GroupListViewed object` - A group was updated (RBAC admin or SCIM provisioning). + Admin viewed the list of RBAC groups. - - `type: optional "group_updated"` + - `type: optional "group_list_viewed"` - default: group_updated + default: group_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59549,10 +59783,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the updated group - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -59571,13 +59801,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupViewed object` + - `GroupMemberAdded object` - A group was viewed. + One or more members were added to a group. - - `type: optional "group_viewed"` + - `type: optional "group_member_added"` - default: group_viewed + default: group_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59787,7 +60017,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the viewed group + Tagged ID of the group - `id: optional string` @@ -59799,6 +60029,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members added: user IDs, or service account IDs (svac_...) when a service account was added + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -59807,13 +60041,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `GroupVisibilityUpdated object` + - `GroupMemberAdditionFailed object` - An RBAC group's visibility policy was updated. + A request to add members to a group failed. Some of the requested members may have been added before the failure. - - `type: optional "group_visibility_updated"` + - `type: optional "group_member_addition_failed"` - default: group_visibility_updated + default: group_member_addition_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60023,7 +60257,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose visibility policy was updated. + Tagged ID of the group - `id: optional string` @@ -60035,6 +60269,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members the request attempted to add + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60043,69 +60281,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `policies: optional array of object` - - The group's visibility policy after this update. - - - `audience: "everyone" or "members" or "none" or "unspecified"` - - The audience granted this visibility facet. - - - `"everyone"` - - - `"members"` - - - `"none"` - - - `"unspecified"` - - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` - - The visibility facet this entry grants. - - - `"discover"` - - - `"share_with"` - - - `"unspecified"` - - - `"view_members"` - - - `previous_policies: optional array of object` - - The group's visibility policy before this update. - - - `audience: "everyone" or "members" or "none" or "unspecified"` - - The audience granted this visibility facet. - - - `"everyone"` - - - `"members"` - - - `"none"` - - - `"unspecified"` - - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` - - The visibility facet this entry grants. - - - `"discover"` - - - `"share_with"` - - - `"unspecified"` - - - `"view_members"` - - - `InferenceHooksCircuitBreakerTripped object` + - `GroupMemberListViewed object` - The organization's Inference hooks circuit breaker tripped automatically: calls to the organization's Inference hooks endpoint crossed a failure threshold, and inspection was suspended to protect live traffic. While tripped, requests are handled according to the organization's failure handling setting — allowed through uninspected (fail open) or rejected (fail closed) — and no per-request Inference hooks activities are recorded. Inspection turns back on by itself once the organization's Inference hooks endpoint returns a valid allow or deny answer to Anthropic's test request again, at least 10 minutes after the trip. An administrator can also end the tripped state by re-enabling Inference hooks inspection. If an administrator saves the Inference hooks settings after the trip (even without changing anything) or generates a new signing secret, inspection no longer turns back on by itself and stays off until an administrator re-enables it. + Admin viewed the members of an RBAC group. - - `type: optional "inference_hooks_circuit_breaker_tripped"` + - `type: optional "group_member_list_viewed"` - default: inference_hooks_circuit_breaker_tripped + default: group_member_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60313,13 +60495,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `fail_mode: string` - - The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). - - - `trigger_reason: string` + - `group_id: string` - The kind of failure that crossed the threshold. Currently always "webhook_error": repeated failures of calls to the organization's Inference hooks endpoint. + Tagged ID of the group - `id: optional string` @@ -60339,17 +60517,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `surface: optional string or null` - - The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - - `InferenceHooksRequestDenied object` + - `GroupMemberRemovalFailed object` - Inference hooks inspection denied a request. The request was blocked. + A request to remove members from a group failed. Some of the requested members may have been removed before the failure. - - `type: optional "inference_hooks_request_denied"` + - `type: optional "group_member_removal_failed"` - default: inference_hooks_request_denied + default: group_member_removal_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60557,13 +60731,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `group_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the group - - `conversation_id: optional string or null` + - `id: optional string` - The conversation the denied request belonged to, when available. The identifier format depends on `surface`. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -60571,9 +60745,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `event: optional string or null` + - `member_ids: optional array of string` - Which hook event the Inference hooks endpoint denied, the same value it received as `type`: "prompt" (the request's prompt, inspected before the model ran) or "tool_call" (the tool calls in a model response, inspected before any of them ran). Absent means "prompt". + Tagged IDs of the members the request attempted to remove. These are always recorded as user IDs, since whether a member was a service account is only established once its removal succeeds - `organization_id: optional string or null` @@ -60583,25 +60757,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reference_id: optional string or null` - - The Inference hooks endpoint's own identifier for this scan, when it returned one — lets this denial be matched to the corresponding record in the inspection provider's console. - - - `request_id: optional string or null` - - Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. - - - `surface: optional string or null` - - The product surface the request came from, e.g. "claude-ai" or "claude-code". - - - `InferenceHooksRequestFailedOpen object` + - `GroupMemberRemoved object` - A request proceeded without Inference hooks inspection because a verdict could not be obtained and the organization's Inference hooks configuration is set to fail open. + One or more members were removed from a group. - - `type: optional "inference_hooks_request_failed_open"` + - `type: optional "group_member_removed"` - default: inference_hooks_request_failed_open + default: group_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60809,32 +60971,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - - Why Inference hooks inspection did not return a verdict. - - - `"endpoint_error"` - - - `"endpoint_timeout"` - - - `"internal_error"` + - `group_id: string` - - `"unspecified"` + Tagged ID of the group - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `conversation_id: optional string or null` - - The conversation the request belonged to, when available. The identifier format depends on `surface`. - - `created_at: optional string` When this activity occurred. format: date-time + - `member_ids: optional array of string` + + Tagged IDs of the members removed: user IDs, or service account IDs (svac_...) when a service account was removed. A requested member that was not in the group is listed as a user ID + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60843,21 +60997,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `request_id: optional string or null` - - Anthropic's identifier for the request that proceeded uninspected. When a call to the Inference hooks endpoint was made for this request, it carried this value as `request_id`. - - - `surface: optional string or null` - - The product surface the request came from, e.g. "claude-ai" or "claude-code". - - - `IntegrationUserConnected object` + - `GroupProjectSharesRevoked object` - User connected to an integration. + An RBAC group's project shares in one organization were revoked in bulk. - - `type: optional "integration_user_connected"` + - `type: optional "group_project_shares_revoked"` - default: integration_user_connected + default: group_project_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61065,27 +61211,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `group_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the group whose project shares were revoked. - - `created_at: optional string` + - `revoked_count: number` - When this activity occurred. + Number of distinct projects whose share with this group was revoked. - format: date-time + - `id: optional string` - - `integration_type: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - The kind of integration the user connected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + - `claude_project_ids: optional array of string` - - `mcp_server_id: optional string or null` + Tagged IDs of the projects whose share with this group was revoked. - ID of the connected remote MCP server, when the integration is a remote MCP server. + - `created_at: optional string` - - `mcp_server_name: optional string or null` + When this activity occurred. - Display name of the connected remote MCP server, when the integration is a remote MCP server. + format: date-time - `organization_id: optional string or null` @@ -61095,17 +61241,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `token_vault_connect_mode: optional string or null` - - How a token vault credential sign-in was completed: "authorization_server" for a sign-in at an administrator-provided authorization server, or "mcp_server" for a sign-in at a tool server the organization has not registered as a connector. - - - `IntegrationUserDisconnected object` + - `GroupSkillSharesRevoked object` - User disconnected from an integration. + An RBAC group's skill shares in one organization were revoked in bulk. - - `type: optional "integration_user_disconnected"` + - `type: optional "group_skill_shares_revoked"` - default: integration_user_disconnected + default: group_skill_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61313,6 +61455,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group whose skill shares were revoked. + + - `revoked_count: number` + + Number of distinct skills and plugins whose share with this group was revoked: the combined size of `skill_ids` and `plugin_ids`. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61323,18 +61473,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `integration_type: optional string or null` - - The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. - - - `mcp_server_id: optional string or null` - - ID of the disconnected remote MCP server, when the integration is a remote MCP server. - - - `mcp_server_name: optional string or null` - - Display name of the disconnected remote MCP server, when the integration is a remote MCP server. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -61343,13 +61481,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InvoiceCollectionMethodUpdated object` + - `plugin_ids: optional array of string` - Invoice collection method was changed. + Tagged IDs of the plugins whose share with this group was revoked. - - `type: optional "invoice_collection_method_updated"` + - `skill_ids: optional array of string` - default: invoice_collection_method_updated + Tagged IDs of the skills whose share with this group was revoked. + + - `GroupUpdated object` + + A group was updated (RBAC admin or SCIM provisioning). + + - `type: optional "group_updated"` + + default: group_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61557,6 +61703,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the updated group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61567,10 +61717,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_collection_method: optional string or null` - - New collection method (e.g. charge_automatically, send_invoice). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -61579,13 +61725,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `UserLoggedOut object` + - `GroupViewed object` - A user signed out of one or all sessions. + A group was viewed. - - `type: optional "user_logged_out"` + - `type: optional "group_viewed"` - default: user_logged_out + default: group_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61793,6 +61939,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the viewed group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -61811,13 +61961,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiLaunchInitiated object` + - `GroupVisibilityUpdated object` - LTI launch was initiated. + An RBAC group's visibility policy was updated. - - `type: optional "lti_launch_initiated"` + - `type: optional "group_visibility_updated"` - default: lti_launch_initiated + default: group_visibility_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62025,6 +62175,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group whose visibility policy was updated. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62043,13 +62197,69 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiLaunchSuccess object` + - `policies: optional array of object` - LTI launch completed successfully. + The group's visibility policy after this update. - - `type: optional "lti_launch_success"` + - `audience: "everyone" or "members" or "none" or "unspecified"` - default: lti_launch_success + The audience granted this visibility facet. + + - `"everyone"` + + - `"members"` + + - `"none"` + + - `"unspecified"` + + - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + + The visibility facet this entry grants. + + - `"discover"` + + - `"share_with"` + + - `"unspecified"` + + - `"view_members"` + + - `previous_policies: optional array of object` + + The group's visibility policy before this update. + + - `audience: "everyone" or "members" or "none" or "unspecified"` + + The audience granted this visibility facet. + + - `"everyone"` + + - `"members"` + + - `"none"` + + - `"unspecified"` + + - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + + The visibility facet this entry grants. + + - `"discover"` + + - `"share_with"` + + - `"unspecified"` + + - `"view_members"` + + - `InferenceHooksCircuitBreakerTripped object` + + The organization's Inference hooks circuit breaker tripped automatically: calls to the organization's Inference hooks endpoint crossed a failure threshold, and inspection was suspended to protect live traffic. While tripped, requests are handled according to the organization's failure handling setting — allowed through uninspected (fail open) or rejected (fail closed) — and no per-request Inference hooks activities are recorded. Inspection turns back on by itself once the organization's Inference hooks endpoint returns a valid allow or deny answer to Anthropic's test request again, at least 10 minutes after the trip. An administrator can also end the tripped state by re-enabling Inference hooks inspection. If an administrator saves the Inference hooks settings after the trip (even without changing anything) or generates a new signing secret, inspection no longer turns back on by itself and stays off until an administrator re-enables it. + + - `type: optional "inference_hooks_circuit_breaker_tripped"` + + default: inference_hooks_circuit_breaker_tripped - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62257,6 +62467,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `fail_mode: string` + + The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). + + - `trigger_reason: string` + + The kind of failure that crossed the threshold. Currently always "webhook_error": repeated failures of calls to the organization's Inference hooks endpoint. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62275,13 +62493,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiPlatformCreated object` + - `surface: optional string or null` - Anthropic staff created an LTI platform integration on behalf of an org. + The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - `type: optional "lti_platform_created"` + - `InferenceHooksRequestDenied object` - default: lti_platform_created + Inference hooks inspection denied a request. The request was blocked. + + - `type: optional "inference_hooks_request_denied"` + + default: inference_hooks_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62489,24 +62711,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` - - UUID of the LTI platform - - - `lti_platform_issuer: string` - - Platform issuer URL - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `conversation_id: optional string or null` + + The conversation the denied request belonged to, when available. The identifier format depends on `surface`. + - `created_at: optional string` When this activity occurred. format: date-time + - `event: optional string or null` + + Which hook event the Inference hooks endpoint denied, the same value it received as `type`: "prompt" (the request's prompt, inspected before the model ran) or "tool_call" (the tool calls in a model response, inspected before any of them ran). Absent means "prompt". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62515,13 +62737,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `LtiPlatformUpdated object` + - `reference_id: optional string or null` - Anthropic staff updated an LTI platform integration on behalf of an org. + The Inference hooks endpoint's own identifier for this scan, when it returned one — lets this denial be matched to the corresponding record in the inspection provider's console. - - `type: optional "lti_platform_updated"` + - `request_id: optional string or null` - default: lti_platform_updated + Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. + + - `surface: optional string or null` + + The product surface the request came from, e.g. "claude-ai" or "claude-code". + + - `InferenceHooksRequestFailedOpen object` + + A request proceeded without Inference hooks inspection because a verdict could not be obtained and the organization's Inference hooks configuration is set to fail open. + + - `type: optional "inference_hooks_request_failed_open"` + + default: inference_hooks_request_failed_open - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62729,24 +62963,32 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` + - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - UUID of the LTI platform + Why Inference hooks inspection did not return a verdict. + + - `"endpoint_error"` + + - `"endpoint_timeout"` + + - `"internal_error"` + + - `"unspecified"` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `conversation_id: optional string or null` + + The conversation the request belonged to, when available. The identifier format depends on `surface`. + - `created_at: optional string` When this activity occurred. format: date-time - - `lti_platform_issuer: optional string or null` - - Platform issuer URL - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62755,13 +62997,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginFailed object` + - `request_id: optional string or null` - A magic link sign-in attempt failed. + Anthropic's identifier for the request that proceeded uninspected. When a call to the Inference hooks endpoint was made for this request, it carried this value as `request_id`. - - `type: optional "magic_link_login_failed"` + - `surface: optional string or null` - default: magic_link_login_failed + The product surface the request came from, e.g. "claude-ai" or "claude-code". + + - `IntegrationUserConnected object` + + User connected to an integration. + + - `type: optional "integration_user_connected"` + + default: integration_user_connected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62979,6 +63229,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `integration_type: optional string or null` + + The kind of integration the user connected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + + - `mcp_server_id: optional string or null` + + ID of the connected remote MCP server, when the integration is a remote MCP server. + + - `mcp_server_name: optional string or null` + + Display name of the connected remote MCP server, when the integration is a remote MCP server. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62987,13 +63249,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginInitiated object` + - `token_vault_connect_mode: optional string or null` - A user requested a magic link sign-in email. + How a token vault credential sign-in was completed: "authorization_server" for a sign-in at an administrator-provided authorization server, or "mcp_server" for a sign-in at a tool server the organization has not registered as a connector. - - `type: optional "magic_link_login_initiated"` + - `IntegrationUserDisconnected object` - default: magic_link_login_initiated + User disconnected from an integration. + + - `type: optional "integration_user_disconnected"` + + default: integration_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63211,6 +63477,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `integration_type: optional string or null` + + The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + + - `mcp_server_id: optional string or null` + + ID of the disconnected remote MCP server, when the integration is a remote MCP server. + + - `mcp_server_name: optional string or null` + + Display name of the disconnected remote MCP server, when the integration is a remote MCP server. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -63219,13 +63497,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MagicLinkLoginSucceeded object` + - `InvoiceCollectionMethodUpdated object` - A user successfully signed in with a magic link email. + Invoice collection method was changed. - - `type: optional "magic_link_login_succeeded"` + - `type: optional "invoice_collection_method_updated"` - default: magic_link_login_succeeded + default: invoice_collection_method_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63437,27 +63715,15 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `auth_method: optional "magic_link" or "unspecified" or null` - - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - - `"magic_link"` - - - `"unspecified"` - - `created_at: optional string` When this activity occurred. format: date-time - - `mfa_method: optional "not_used" or "unspecified" or null` - - The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. - - - `"not_used"` + - `new_collection_method: optional string or null` - - `"unspecified"` + New collection method (e.g. charge_automatically, send_invoice). - `organization_id: optional string or null` @@ -63467,13 +63733,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ManagedOrganizationSetupCompleted object` + - `UserLoggedOut object` - Managed (AWS Marketplace) organization setup was completed. + A user signed out of one or all sessions. - - `type: optional "managed_organization_setup_completed"` + - `type: optional "user_logged_out"` - default: managed_organization_setup_completed + default: user_logged_out - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63699,13 +63965,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceCreated object` + - `LtiLaunchInitiated object` - Admin created an organization marketplace. + LTI launch was initiated. - - `type: optional "marketplace_created"` + - `type: optional "lti_launch_initiated"` - default: marketplace_created + default: lti_launch_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63913,36 +64179,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `default_installation_preference: optional string or null` - - Default installation preference the marketplace was created with, applied to its plugins that have no preference of their own (required, auto_install, available or not_available); absent when none was set - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -63951,13 +64197,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceDeleted object` + - `LtiLaunchSuccess object` - Admin deleted an organization marketplace. + LTI launch completed successfully. - - `type: optional "marketplace_deleted"` + - `type: optional "lti_launch_success"` - default: marketplace_deleted + default: lti_launch_success - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64165,10 +64411,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -64187,13 +64429,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceUpdated object` + - `LtiPlatformCreated object` - Admin updated an organization marketplace. + Anthropic staff created an LTI platform integration on behalf of an org. - - `type: optional "marketplace_updated"` + - `type: optional "lti_platform_created"` - default: marketplace_updated + default: lti_platform_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64401,25 +64643,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `attestations: optional array of object` + - `lti_platform_id: string` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + UUID of the LTI platform - - `type: string` + - `lti_platform_issuer: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + Platform issuer URL - - `content_hash: string` + - `id: optional string` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -64435,33 +64669,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - - `type: "default_installation_preference" or "unspecified"` - - The marketplace setting that changed - - - `"default_installation_preference"` - - - `"unspecified"` - - - `current_value: string` - - Setting value immediately after this change; empty when the setting is no longer set - - - `previous_value: string` - - Setting value immediately before this change; empty when the setting was not set - - - `MarketplaceWebhookDeleted object` + - `LtiPlatformUpdated object` - Admin removed the GitHub push webhook for a marketplace. + Anthropic staff updated an LTI platform integration on behalf of an org. - - `type: optional "marketplace_webhook_deleted"` + - `type: optional "lti_platform_updated"` - default: marketplace_webhook_deleted + default: lti_platform_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64669,9 +64883,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `lti_platform_id: string` - Tagged ID of the marketplace + UUID of the LTI platform - `id: optional string` @@ -64683,6 +64897,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `lti_platform_issuer: optional string or null` + + Platform issuer URL + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -64691,13 +64909,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `MarketplaceWebhookProvisioned object` + - `MagicLinkLoginFailed object` - Admin provisioned a GitHub push webhook for a marketplace. + A magic link sign-in attempt failed. - - `type: optional "marketplace_webhook_provisioned"` + - `type: optional "magic_link_login_failed"` - default: marketplace_webhook_provisioned + default: magic_link_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64905,10 +65123,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Tagged ID of the marketplace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -64919,10 +65133,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_webhook_id: optional number or null` - - GitHub-assigned webhook ID returned by the hooks API - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -64931,13 +65141,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpDirectoryServerPublished object` + - `MagicLinkLoginInitiated object` - The organization published its approved MCP directory listing. + A user requested a magic link sign-in email. - - `type: optional "mcp_directory_server_published"` + - `type: optional "magic_link_login_initiated"` - default: mcp_directory_server_published + default: magic_link_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65145,14 +65355,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_directory_server_id: string` - - Tagged ID of the MCP directory listing - - - `mcp_directory_server_name: string` - - Display name of the MCP directory listing - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -65171,13 +65373,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerCreated object` + - `MagicLinkLoginSucceeded object` - An MCP server was added to the organization. + A user successfully signed in with a magic link email. - - `type: optional "mcp_server_created"` + - `type: optional "magic_link_login_succeeded"` - default: mcp_server_created + default: magic_link_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65385,29 +65587,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - - `type: string` + - `auth_method: optional "magic_link" or "unspecified" or null` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - `content_hash: string` + - `"magic_link"` - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `"unspecified"` - `created_at: optional string` @@ -65415,6 +65605,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `mfa_method: optional "not_used" or "unspecified" or null` + + The second authentication factor performed during this login, if any. `null` when the second-factor status is not recorded on this event — for example, when authentication was delegated to an external identity provider and any second factor is not visible to Anthropic, or when this event is one step of a multistep login whose MFA is reported on another activity. May be absent on activities recorded before this field was introduced. + + - `"not_used"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -65423,13 +65621,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerDeleted object` + - `ManagedOrganizationSetupCompleted object` - An MCP server was removed from the organization. + Managed (AWS Marketplace) organization setup was completed. - - `type: optional "mcp_server_deleted"` + - `type: optional "managed_organization_setup_completed"` - default: mcp_server_deleted + default: managed_organization_setup_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65637,14 +65835,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -65663,13 +65853,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpServerManagedAuthTokenExchanged object` + - `MarketplaceCreated object` - A user attempted to obtain an access token for an MCP server via enterprise managed authorization. This event reports the outcomes of attempted token exchanges. Repeated failures with the same cause may be reported once until the cause changes, and requests refused before a token exchange is attempted are not reported, except the "connector_scope_not_granted" and "identity_assertion_refused" failures described under error_type. + Admin created an organization marketplace. - - `type: optional "mcp_server_managed_auth_token_exchanged"` + - `type: optional "marketplace_created"` - default: mcp_server_managed_auth_token_exchanged + default: marketplace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65877,29 +66067,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `managed_auth_mode: string` - - The managed-authorization mode used for the exchange ("claude" or "sso"). - - - `mcp_server_id: string` + - `marketplace_id: string` - The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `assertion_jti: optional string or null` + - `attestations: optional array of object` - The JWT ID of the identity assertion presented to the authorization server, when one was minted, for cross-reference with the identity provider's own logs. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `authorization_server_issuer: optional string or null` + - `type: string` - The issuer identifier of the authorization server the exchange was attempted against. + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `correlation_id: optional string or null` + - `content_hash: string` - An opaque identifier customers can quote when contacting Anthropic support about this exchange. + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -65907,17 +66093,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `error_subtype: optional string or null` - - A more specific classification of the failure, when available. For authorization-server rejections this is the OAuth error code the server returned (for example "invalid_grant"); for identity-provider rejections this is the error code the identity provider returned; for refused identity assertions this is a short reason code such as "not_org_member" (the user's membership in the organization could not be confirmed). Values may be added over time; treat an unrecognized value as a generic failure. - - - `error_type: optional string or null` - - A short classification of why the exchange failed, when outcome is "failure". Values include "authorization_server_rejected", "authorization_server_unavailable", "identity_provider_rejected", "sso_session_invalid", "sso_connection_unsupported", "connector_scope_not_granted" and "identity_assertion_refused". The last two are refusals made before a token exchange was attempted: "connector_scope_not_granted" means the organization's role configuration grants no scopes on this connector; "identity_assertion_refused" means no identity assertion could be issued for this user and server (for example, the user's membership in the organization could not be confirmed), and is reported when access the user already had could not be renewed and, depending on the reason, when first connecting; error_subtype names the reason. Values may be added over time; treat an unrecognized value as a generic failure. - - - `mcp_server_name: optional string or null` + - `default_installation_preference: optional string or null` - The MCP server's display name at the time of the exchange, when available. + Default installation preference the marketplace was created with, applied to its plugins that have no preference of their own (required, auto_install, available or not_available); absent when none was set - `organization_id: optional string or null` @@ -65927,17 +66105,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `outcome: optional string or null` - - Whether the token exchange succeeded ("success") or was rejected ("failure"). - - - `McpServerManagedAuthUpdated object` + - `MarketplaceDeleted object` - An MCP server's enterprise managed authorization settings were set, changed, or cleared, including when they were supplied while the server was being added or edited. Fields without a "previous_" prefix describe the settings after the change and are null when the server has no managed authorization settings afterwards; "previous_" fields describe the settings before the change and are null when the server had none before (always the case for a newly added server). + Admin deleted an organization marketplace. - - `type: optional "mcp_server_managed_auth_updated"` + - `type: optional "marketplace_deleted"` - default: mcp_server_managed_auth_updated + default: marketplace_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66145,48 +66319,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` + - `marketplace_id: string` - Display name of the MCP server + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `allowed_scopes: optional string or null` - - The OAuth scopes managed authorization may request for the server after the change, as a space-delimited list. Null when no scope restriction is configured (or the server has no managed authorization settings); an empty string when the restriction permits no scopes. - - - `built_in_roles_included: optional boolean or null` - - Whether, after the change, managed authorization extends to members who hold one of the organization's built-in roles (such as User, Admin, or Owner) rather than a custom role, in addition to members whose custom role grants it. This describes whom managed authorization reaches and is reported on every change, independent of how built-in role access is configured. - - `created_at: optional string` When this activity occurred. format: date-time - - `individual_auth_enabled: optional boolean or null` - - Whether members may authorize the server individually, through their own sign-in and consent, after the change. - - - `managed_auth_enabled: optional boolean or null` - - Whether managed authorization is enabled for the server after the change, so that members whose role permits it are authorized through the organization's identity provider. - - - `managed_auth_mode: optional string or null` - - The managed-authorization mode after the change ("claude" or "sso"): how the identity assertion presented on members' behalf is issued. Recorded whenever managed authorization settings exist, whether or not managed authorization is enabled; null when the server has no managed authorization settings after the change. - - - `mcp_server_url: optional string or null` - - Origin (scheme, host and port, the default port omitted) of the MCP server at the time of the change; the path is never included. Null when not available, and on activities recorded before this field was limited to the origin. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -66195,29 +66341,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_allowed_scopes: optional string or null` - - The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - - `previous_built_in_roles_included: optional boolean or null` - - Whether managed authorization extended to members holding one of the organization's built-in roles before the change. - - - `previous_individual_auth_enabled: optional boolean or null` - - Whether members could authorize the server individually before the change. - - - `previous_managed_auth_enabled: optional boolean or null` - - Whether managed authorization was enabled for the server before the change. - - - `McpServerUpdated object` + - `MarketplaceUpdated object` - An MCP server's configuration was updated. + Admin updated an organization marketplace. - - `type: optional "mcp_server_updated"` + - `type: optional "marketplace_updated"` - default: mcp_server_updated + default: marketplace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66425,13 +66555,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` + - `marketplace_id: string` - Display name of the MCP server + Tagged ID of the marketplace - `id: optional string` @@ -66463,13 +66589,33 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `McpToolPolicyUpdated object` + - `updates: optional array of object` - The permission restriction for an MCP tool was set or cleared. + The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - `type: optional "mcp_tool_policy_updated"` + - `type: "default_installation_preference" or "unspecified"` - default: mcp_tool_policy_updated + The marketplace setting that changed + + - `"default_installation_preference"` + + - `"unspecified"` + + - `current_value: string` + + Setting value immediately after this change; empty when the setting is no longer set + + - `previous_value: string` + + Setting value immediately before this change; empty when the setting was not set + + - `MarketplaceWebhookDeleted object` + + Admin removed the GitHub push webhook for a marketplace. + + - `type: optional "marketplace_webhook_deleted"` + + default: marketplace_webhook_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66677,52 +66823,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` - - Tagged ID of the MCP server - - - `mcp_server_name: string` - - Display name of the MCP server - - - `tool_name: string` + - `marketplace_id: string` - Tool name (or '*' for the MCP-server-wide default) + Tagged ID of the marketplace - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `action: optional "reenabled" or "unspecified" or null` - - "reenabled" when the change lifted the organization-wide block on the server (the block a HIPAA configuration places); unset for any other restriction change. - - - `"reenabled"` - - - `"unspecified"` - - - `attestations: optional array of object` - - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none (a server that already carries one is not asked again). - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `max_permission: optional string or null` - - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -66731,13 +66845,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgAnalyticsAPICapabilityUpdated object` + - `MarketplaceWebhookProvisioned object` - Organization analytics_api capability was enabled or disabled. + Admin provisioned a GitHub push webhook for a marketplace. - - `type: optional "org_analytics_api_capability_updated"` + - `type: optional "marketplace_webhook_provisioned"` - default: org_analytics_api_capability_updated + default: marketplace_webhook_provisioned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66945,6 +67059,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `marketplace_id: string` + + Tagged ID of the marketplace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -66955,9 +67073,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `github_webhook_id: optional number or null` - Whether the analytics API capability is enabled immediately after this change + GitHub-assigned webhook ID returned by the hooks API - `organization_id: optional string or null` @@ -66967,17 +67085,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Whether the analytics API capability was enabled immediately before this change - - - `OrgBulkDeleteInitiated object` + - `McpDirectoryServerPublished object` - Organization bulk deletion was initiated. + The organization published its approved MCP directory listing. - - `type: optional "org_bulk_delete_initiated"` + - `type: optional "mcp_directory_server_published"` - default: org_bulk_delete_initiated + default: mcp_directory_server_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67185,6 +67299,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_directory_server_id: string` + + Tagged ID of the MCP directory listing + + - `mcp_directory_server_name: string` + + Display name of the MCP directory listing + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -67203,13 +67325,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCapabilityGrantAdded object` + - `McpServerCreated object` - A capability grant was added to a workspace or role. + An MCP server was added to the organization. - - `type: optional "org_capability_grant_added"` + - `type: optional "mcp_server_created"` - default: org_capability_grant_added + default: mcp_server_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67417,27 +67539,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `grant_type: string` + - `mcp_server_id: string` - The type of capability grant that was added. + Tagged ID of the MCP server - - `principal_id: string` + - `mcp_server_name: string` - Tagged ID of the principal the grant was added to. + Display name of the MCP server - - `principal_type: "rbac_role" or "unspecified" or "workspace"` + - `id: optional string` - The kind of principal the grant was added to. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"rbac_role"` + - `attestations: optional array of object` - - `"unspecified"` + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `"workspace"` + - `type: string` - - `id: optional string` + Attestation type, such as "safe_for_phi" (may be used with protected health information). - Unique identifier for the activity e.g. 'activity_abcd1234' + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - `created_at: optional string` @@ -67453,13 +67577,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCapabilityGrantRemoved object` + - `McpServerDeleted object` - A capability grant was removed from a workspace or role. + An MCP server was removed from the organization. - - `type: optional "org_capability_grant_removed"` + - `type: optional "mcp_server_deleted"` - default: org_capability_grant_removed + default: mcp_server_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67667,23 +67791,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `grant_type: string` - - The type of capability grant that was removed. - - - `principal_id: string` - - Tagged ID of the principal the grant was removed from. - - - `principal_type: "rbac_role" or "unspecified" or "workspace"` - - The kind of principal the grant was removed from. + - `mcp_server_id: string` - - `"rbac_role"` + Tagged ID of the MCP server - - `"unspecified"` + - `mcp_server_name: string` - - `"workspace"` + Display name of the MCP server - `id: optional string` @@ -67703,13 +67817,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgChatCoworkUnifiedDisabled object` + - `McpServerManagedAuthTokenExchanged object` - The organization's setting for the unified Chat and Cowork experience was turned off. + A user attempted to obtain an access token for an MCP server via enterprise managed authorization. This event reports the outcomes of attempted token exchanges. Repeated failures with the same cause may be reported once until the cause changes, and requests refused before a token exchange is attempted are not reported, except the "connector_scope_not_granted" and "identity_assertion_refused" failures described under error_type. - - `type: optional "org_chat_cowork_unified_disabled"` + - `type: optional "mcp_server_managed_auth_token_exchanged"` - default: org_chat_cowork_unified_disabled + default: mcp_server_managed_auth_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67917,19 +68031,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `managed_auth_mode: string` + + The managed-authorization mode used for the exchange ("claude" or "sso"). + + - `mcp_server_id: string` + + The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `assertion_jti: optional string or null` + + The JWT ID of the identity assertion presented to the authorization server, when one was minted, for cross-reference with the identity provider's own logs. + + - `authorization_server_issuer: optional string or null` + + The issuer identifier of the authorization server the exchange was attempted against. + + - `correlation_id: optional string or null` + + An opaque identifier customers can quote when contacting Anthropic support about this exchange. + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `error_subtype: optional string or null` - Setting value immediately after this change + A more specific classification of the failure, when available. For authorization-server rejections this is the OAuth error code the server returned (for example "invalid_grant"); for identity-provider rejections this is the error code the identity provider returned; for refused identity assertions this is a short reason code such as "not_org_member" (the user's membership in the organization could not be confirmed). Values may be added over time; treat an unrecognized value as a generic failure. + + - `error_type: optional string or null` + + A short classification of why the exchange failed, when outcome is "failure". Values include "authorization_server_rejected", "authorization_server_unavailable", "identity_provider_rejected", "sso_session_invalid", "sso_connection_unsupported", "connector_scope_not_granted" and "identity_assertion_refused". The last two are refusals made before a token exchange was attempted: "connector_scope_not_granted" means the organization's role configuration grants no scopes on this connector; "identity_assertion_refused" means no identity assertion could be issued for this user and server (for example, the user's membership in the organization could not be confirmed), and is reported when access the user already had could not be renewed and, depending on the reason, when first connecting; error_subtype names the reason. Values may be added over time; treat an unrecognized value as a generic failure. + + - `mcp_server_name: optional string or null` + + The MCP server's display name at the time of the exchange, when available. - `organization_id: optional string or null` @@ -67939,17 +68081,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `outcome: optional string or null` - Setting value immediately before this change + Whether the token exchange succeeded ("success") or was rejected ("failure"). - - `OrgChatCoworkUnifiedEnabled object` + - `McpServerManagedAuthUpdated object` - The organization's setting for the unified Chat and Cowork experience was turned on. + An MCP server's enterprise managed authorization settings were set, changed, or cleared, including when they were supplied while the server was being added or edited. Fields without a "previous_" prefix describe the settings after the change and are null when the server has no managed authorization settings afterwards; "previous_" fields describe the settings before the change and are null when the server had none before (always the case for a newly added server). - - `type: optional "org_chat_cowork_unified_enabled"` + - `type: optional "mcp_server_managed_auth_updated"` - default: org_chat_cowork_unified_enabled + default: mcp_server_managed_auth_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68157,19 +68299,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `allowed_scopes: optional string or null` + + The OAuth scopes managed authorization may request for the server after the change, as a space-delimited list. Null when no scope restriction is configured (or the server has no managed authorization settings); an empty string when the restriction permits no scopes. + + - `built_in_roles_included: optional boolean or null` + + Whether, after the change, managed authorization extends to members who hold one of the organization's built-in roles (such as User, Admin, or Owner) rather than a custom role, in addition to members whose custom role grants it. This describes whom managed authorization reaches and is reported on every change, independent of how built-in role access is configured. + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `individual_auth_enabled: optional boolean or null` - Setting value immediately after this change + Whether members may authorize the server individually, through their own sign-in and consent, after the change. + + - `managed_auth_enabled: optional boolean or null` + + Whether managed authorization is enabled for the server after the change, so that members whose role permits it are authorized through the organization's identity provider. + + - `managed_auth_mode: optional string or null` + + The managed-authorization mode after the change ("claude" or "sso"): how the identity assertion presented on members' behalf is issued. Recorded whenever managed authorization settings exist, whether or not managed authorization is enabled; null when the server has no managed authorization settings after the change. + + - `mcp_server_url: optional string or null` + + Origin (scheme, host and port, the default port omitted) of the MCP server at the time of the change; the path is never included. Null when not available, and on activities recorded before this field was limited to the origin. - `organization_id: optional string or null` @@ -68179,17 +68349,29 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `previous_allowed_scopes: optional string or null` - Setting value immediately before this change + The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - `OrgClaudeCodeDataSharingDisabled object` + - `previous_built_in_roles_included: optional boolean or null` - Organization Claude Code data sharing was disabled. + Whether managed authorization extended to members holding one of the organization's built-in roles before the change. - - `type: optional "org_claude_code_data_sharing_disabled"` + - `previous_individual_auth_enabled: optional boolean or null` - default: org_claude_code_data_sharing_disabled + Whether members could authorize the server individually before the change. + + - `previous_managed_auth_enabled: optional boolean or null` + + Whether managed authorization was enabled for the server before the change. + + - `McpServerUpdated object` + + An MCP server's configuration was updated. + + - `type: optional "mcp_server_updated"` + + default: mcp_server_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68397,20 +68579,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -68419,17 +68617,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeDataSharingEnabled object` + - `McpToolPolicyUpdated object` - Organization Claude Code data sharing was enabled. + The permission restriction for an MCP tool was set or cleared. - - `type: optional "org_claude_code_data_sharing_enabled"` + - `type: optional "mcp_tool_policy_updated"` - default: org_claude_code_data_sharing_enabled + default: mcp_tool_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68637,19 +68831,51 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `mcp_server_id: string` + + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server + + - `tool_name: string` + + Tool name (or '*' for the MCP-server-wide default) + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `action: optional "reenabled" or "unspecified" or null` + + "reenabled" when the change lifted the organization-wide block on the server (the block a HIPAA configuration places); unset for any other restriction change. + + - `"reenabled"` + + - `"unspecified"` + + - `attestations: optional array of object` + + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none (a server that already carries one is not asked again). + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time - - `current_value: optional boolean or null` + - `max_permission: optional string or null` - Setting value immediately after this change + New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared - `organization_id: optional string or null` @@ -68659,17 +68885,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeDesktopDisabled object` + - `OrgAnalyticsAPICapabilityUpdated object` - Organization Claude Code Desktop was disabled. + Organization analytics_api capability was enabled or disabled. - - `type: optional "org_claude_code_desktop_disabled"` + - `type: optional "org_analytics_api_capability_updated"` - default: org_claude_code_desktop_disabled + default: org_analytics_api_capability_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68889,7 +69111,7 @@ compliance activities that can be filtered by various criteria. - `current_value: optional boolean or null` - Setting value immediately after this change + Whether the analytics API capability is enabled immediately after this change - `organization_id: optional string or null` @@ -68901,15 +69123,15 @@ compliance activities that can be filtered by various criteria. - `previous_value: optional boolean or null` - Setting value immediately before this change + Whether the analytics API capability was enabled immediately before this change - - `OrgClaudeCodeDesktopEnabled object` + - `OrgBulkDeleteInitiated object` - Organization Claude Code Desktop was enabled. + Organization bulk deletion was initiated. - - `type: optional "org_claude_code_desktop_enabled"` + - `type: optional "org_bulk_delete_initiated"` - default: org_claude_code_desktop_enabled + default: org_bulk_delete_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69127,10 +69349,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -69139,17 +69357,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgClaudeCodeZeroDataRetentionDisabled object` + - `OrgCapabilityGrantAdded object` - A primary owner disabled zero data retention for Claude Code, so Claude Code content is retained according to the organization's data retention settings. + A capability grant was added to a workspace or role. - - `type: optional "org_claude_code_zero_data_retention_disabled"` + - `type: optional "org_capability_grant_added"` - default: org_claude_code_zero_data_retention_disabled + default: org_capability_grant_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69357,6 +69571,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `grant_type: string` + + The type of capability grant that was added. + + - `principal_id: string` + + Tagged ID of the principal the grant was added to. + + - `principal_type: "rbac_role" or "unspecified" or "workspace"` + + The kind of principal the grant was added to. + + - `"rbac_role"` + + - `"unspecified"` + + - `"workspace"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -69375,13 +69607,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgComplianceAPISettingsUpdated object` + - `OrgCapabilityGrantRemoved object` - Organization compliance API settings were updated. + A capability grant was removed from a workspace or role. - - `type: optional "org_compliance_api_settings_updated"` + - `type: optional "org_capability_grant_removed"` - default: org_compliance_api_settings_updated + default: org_capability_grant_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69589,17 +69821,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `grant_type: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The type of capability grant that was removed. - - `compliance_api_enabled: optional boolean or null` + - `principal_id: string` - Whether the compliance API is enabled for the organization after this change. + Tagged ID of the principal the grant was removed from. - - `compliance_api_logging_enabled: optional boolean or null` + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - Whether compliance activity logging is enabled for the organization after this change. + The kind of principal the grant was removed from. + + - `"rbac_role"` + + - `"unspecified"` + + - `"workspace"` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -69615,13 +69857,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgConnectorDomainGuardUpdated object` + - `OrgChatCoworkUnifiedDisabled object` - Enterprise admin changed whether connectors are restricted to verified domains. + The organization's setting for the unified Chat and Cowork experience was turned off. - - `type: optional "org_connector_domain_guard_updated"` + - `type: optional "org_chat_cowork_unified_disabled"` - default: org_connector_domain_guard_updated + default: org_chat_cowork_unified_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69829,8 +70071,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enforced: boolean` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -69841,6 +70081,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -69849,13 +70093,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkActWithoutAskingModeDisabled object` + - `previous_value: optional boolean or null` - The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. + Setting value immediately before this change - - `type: optional "org_cowork_act_without_asking_mode_disabled"` + - `OrgChatCoworkUnifiedEnabled object` - default: org_cowork_act_without_asking_mode_disabled + The organization's setting for the unified Chat and Cowork experience was turned on. + + - `type: optional "org_chat_cowork_unified_enabled"` + + default: org_chat_cowork_unified_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70073,6 +70321,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -70081,13 +70333,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkActWithoutAskingModeEnabled object` + - `previous_value: optional boolean or null` - The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. + Setting value immediately before this change - - `type: optional "org_cowork_act_without_asking_mode_enabled"` + - `OrgClaudeCodeDataSharingDisabled object` - default: org_cowork_act_without_asking_mode_enabled + Organization Claude Code data sharing was disabled. + + - `type: optional "org_claude_code_data_sharing_disabled"` + + default: org_claude_code_data_sharing_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70305,6 +70561,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -70313,13 +70573,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkAgentDisabled object` + - `previous_value: optional boolean or null` - Organization Cowork Agent was disabled. + Setting value immediately before this change - - `type: optional "org_cowork_agent_disabled"` + - `OrgClaudeCodeDataSharingEnabled object` - default: org_cowork_agent_disabled + Organization Claude Code data sharing was enabled. + + - `type: optional "org_claude_code_data_sharing_enabled"` + + default: org_claude_code_data_sharing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70553,13 +70817,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAgentEnabled object` + - `OrgClaudeCodeDesktopDisabled object` - Organization Cowork Agent was enabled. + Organization Claude Code Desktop was disabled. - - `type: optional "org_cowork_agent_enabled"` + - `type: optional "org_claude_code_desktop_disabled"` - default: org_cowork_agent_enabled + default: org_claude_code_desktop_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70793,13 +71057,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAutoModeDisabled object` + - `OrgClaudeCodeDesktopEnabled object` - The "Auto" permission mode in Cowork was disabled for the organization, so members can no longer let Claude approve its own actions after a safety check. + Organization Claude Code Desktop was enabled. - - `type: optional "org_cowork_auto_mode_disabled"` + - `type: optional "org_claude_code_desktop_enabled"` - default: org_cowork_auto_mode_disabled + default: org_claude_code_desktop_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71017,6 +71281,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -71025,13 +71293,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkAutoModeEnabled object` + - `previous_value: optional boolean or null` - The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. + Setting value immediately before this change - - `type: optional "org_cowork_auto_mode_enabled"` + - `OrgClaudeCodeZeroDataRetentionDisabled object` - default: org_cowork_auto_mode_enabled + A primary owner disabled zero data retention for Claude Code, so Claude Code content is retained according to the organization's data retention settings. + + - `type: optional "org_claude_code_zero_data_retention_disabled"` + + default: org_claude_code_zero_data_retention_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71257,13 +71529,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkBrowserPaneDisabled object` + - `OrgComplianceAPISettingsUpdated object` - The in-app browser in Cowork was disabled for the organization, so Claude can no longer open or use websites in a browser pane during members' Cowork sessions. + Organization compliance API settings were updated. - - `type: optional "org_cowork_browser_pane_disabled"` + - `type: optional "org_compliance_api_settings_updated"` - default: org_cowork_browser_pane_disabled + default: org_compliance_api_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71475,6 +71747,14 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `compliance_api_enabled: optional boolean or null` + + Whether the compliance API is enabled for the organization after this change. + + - `compliance_api_logging_enabled: optional boolean or null` + + Whether compliance activity logging is enabled for the organization after this change. + - `created_at: optional string` When this activity occurred. @@ -71489,13 +71769,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkBrowserPaneEnabled object` + - `OrgConnectorDomainGuardUpdated object` - The in-app browser in Cowork was enabled for the organization, letting Claude open and use websites in a browser pane during members' Cowork sessions. + Enterprise admin changed whether connectors are restricted to verified domains. - - `type: optional "org_cowork_browser_pane_enabled"` + - `type: optional "org_connector_domain_guard_updated"` - default: org_cowork_browser_pane_enabled + default: org_connector_domain_guard_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71703,6 +71983,8 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enforced: boolean` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -71721,13 +72003,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkDisabled object` + - `OrgCoworkActWithoutAskingModeDisabled object` - Organization cowork was disabled. + The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. - - `type: optional "org_cowork_disabled"` + - `type: optional "org_cowork_act_without_asking_mode_disabled"` - default: org_cowork_disabled + default: org_cowork_act_without_asking_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71945,10 +72227,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -71957,17 +72235,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgCoworkEnabled object` + - `OrgCoworkActWithoutAskingModeEnabled object` - Organization cowork was enabled. + The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. - - `type: optional "org_cowork_enabled"` + - `type: optional "org_cowork_act_without_asking_mode_enabled"` - default: org_cowork_enabled + default: org_cowork_act_without_asking_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72185,10 +72459,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` - - Setting value immediately after this change - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72197,17 +72467,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrgCoworkMcpAlwaysAllowDisabled object` + - `OrgCoworkAgentDisabled object` - The "Always allow" option for connector tools in Cowork was disabled for the organization, so each use of a connector tool that can make changes requires approval. Read-only connector tools are not affected by this setting. + Organization Cowork Agent was disabled. - - `type: optional "org_cowork_mcp_always_allow_disabled"` + - `type: optional "org_cowork_agent_disabled"` - default: org_cowork_mcp_always_allow_disabled + default: org_cowork_agent_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72425,6 +72691,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72433,13 +72703,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkMcpAlwaysAllowEnabled object` + - `previous_value: optional boolean or null` - The "Always allow" option for connector tools in Cowork was enabled for the organization, letting members approve a connector tool that can make changes once and allow its later uses automatically. Read-only connector tools are not affected by this setting. + Setting value immediately before this change - - `type: optional "org_cowork_mcp_always_allow_enabled"` + - `OrgCoworkAgentEnabled object` - default: org_cowork_mcp_always_allow_enabled + Organization Cowork Agent was enabled. + + - `type: optional "org_cowork_agent_enabled"` + + default: org_cowork_agent_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72657,6 +72931,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Setting value immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72665,13 +72943,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkOtlpSettingsUpdated object` + - `previous_value: optional boolean or null` - The organization's Cowork OpenTelemetry monitoring export settings were updated. + Setting value immediately before this change - - `type: optional "org_cowork_otlp_settings_updated"` + - `OrgCoworkAutoModeDisabled object` - default: org_cowork_otlp_settings_updated + The "Auto" permission mode in Cowork was disabled for the organization, so members can no longer let Claude approve its own actions after a safety check. + + - `type: optional "org_cowork_auto_mode_disabled"` + + default: org_cowork_auto_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72889,22 +73171,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_otlp_content_capture: optional array of string or null` - - The organization's content-capture settings after the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings are not set or were not modified by this update. - - - `new_otlp_endpoint: optional string or null` - - The OpenTelemetry export endpoint after the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint was cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint is unset or was not itself modified by this update. - - - `new_otlp_protocol: optional string or null` - - The OpenTelemetry export protocol after the change. Null if the protocol is unset or was not itself modified by this update. - - - `new_otlp_resource_attributes: optional string or null` - - The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -72913,39 +73179,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - - Whether the OpenTelemetry export headers were set or cleared. 'set' is recorded for any non-empty submission, including resubmission of an unchanged value. Header values are never included. - - - `"cleared"` - - - `"set"` - - - `"unspecified"` - - - `previous_otlp_content_capture: optional array of string or null` - - The organization's content-capture settings before the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings were not previously set or were not modified by this update. - - - `previous_otlp_endpoint: optional string or null` - - The OpenTelemetry export endpoint before the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint had been cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint was previously unset or was not itself modified by this update. - - - `previous_otlp_protocol: optional string or null` - - The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. - - - `previous_otlp_resource_attributes: optional string or null` - - The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. - - - `OrgCoworkRemoteDisabled object` + - `OrgCoworkAutoModeEnabled object` - Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. - - `type: optional "org_cowork_remote_disabled"` + - `type: optional "org_cowork_auto_mode_enabled"` - default: org_cowork_remote_disabled + default: org_cowork_auto_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73171,13 +73411,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCoworkRemoteEnabled object` + - `OrgCoworkBrowserPaneDisabled object` - Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. + The in-app browser in Cowork was disabled for the organization, so Claude can no longer open or use websites in a browser pane during members' Cowork sessions. - - `type: optional "org_cowork_remote_enabled"` + - `type: optional "org_cowork_browser_pane_disabled"` - default: org_cowork_remote_enabled + default: org_cowork_browser_pane_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73403,13 +73643,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgCreationBlocked object` + - `OrgCoworkBrowserPaneEnabled object` - Organization creation was blocked. + The in-app browser in Cowork was enabled for the organization, letting Claude open and use websites in a browser pane during members' Cowork sessions. - - `type: optional "org_creation_blocked"` + - `type: optional "org_cowork_browser_pane_enabled"` - default: org_creation_blocked + default: org_cowork_browser_pane_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73635,17 +73875,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `reason: optional string or null` - - "blocked" when the organization started preventing users with an email address at one of its verified domains from creating new organizations, "unblocked" when it stopped. - - - `OrgDataExportAccessed object` + - `OrgCoworkDisabled object` - Organization data export file was accessed/downloaded via signed URL. + Organization cowork was disabled. - - `type: optional "org_data_export_accessed"` + - `type: optional "org_cowork_disabled"` - default: org_data_export_accessed + default: org_cowork_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73863,15 +74099,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was downloaded. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` + - `current_value: optional boolean or null` - - `"workbench"` + Setting value immediately after this change - `organization_id: optional string or null` @@ -73881,13 +74111,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDataExportCompleted object` + - `previous_value: optional boolean or null` - Organization data export was completed. + Setting value immediately before this change - - `type: optional "org_data_export_completed"` + - `OrgCoworkEnabled object` - default: org_data_export_completed + Organization cowork was enabled. + + - `type: optional "org_cowork_enabled"` + + default: org_cowork_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74105,15 +74339,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was exported. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` + - `current_value: optional boolean or null` - - `"workbench"` + Setting value immediately after this change - `organization_id: optional string or null` @@ -74123,13 +74351,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDataExportStarted object` + - `previous_value: optional boolean or null` - Organization data export was started. + Setting value immediately before this change - - `type: optional "org_data_export_started"` + - `OrgCoworkMcpAlwaysAllowDisabled object` - default: org_data_export_started + The "Always allow" option for connector tools in Cowork was disabled for the organization, so each use of a connector tool that can make changes requires approval. Read-only connector tools are not affected by this setting. + + - `type: optional "org_cowork_mcp_always_allow_disabled"` + + default: org_cowork_mcp_always_allow_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74347,16 +74579,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - Which data set was exported. Absent on records written before this field was introduced. - - - `"conversations"` - - - `"unspecified"` - - - `"workbench"` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -74365,23 +74587,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - - Breadth of the export — the whole organization, or only the requesting member's own data. Absent on records written before this field was introduced. - - - `"member_own_data"` - - - `"organization"` - - - `"unspecified"` - - - `OrgDataResidencyUpdated object` + - `OrgCoworkMcpAlwaysAllowEnabled object` - The organization's inference data residency settings were updated. + The "Always allow" option for connector tools in Cowork was enabled for the organization, letting members approve a connector tool that can make changes once and allow its later uses automatically. Read-only connector tools are not affected by this setting. - - `type: optional "org_data_residency_updated"` + - `type: optional "org_cowork_mcp_always_allow_enabled"` - default: org_data_residency_updated + default: org_cowork_mcp_always_allow_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74607,35 +74819,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - - The data residency setting that changed - - - `"allowed_inference_geos"` - - - `"default_inference_geo"` - - - `"unspecified"` - - - `current_value: optional string or null` - - Setting value immediately after this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. - - - `previous_value: optional string or null` - - Setting value immediately before this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. - - - `OrgDeletedViaBulk object` + - `OrgCoworkOtlpSettingsUpdated object` - Organization was deleted via bulk operation. + The organization's Cowork OpenTelemetry monitoring export settings were updated. - - `type: optional "org_deleted_via_bulk"` + - `type: optional "org_cowork_otlp_settings_updated"` - default: org_deleted_via_bulk + default: org_cowork_otlp_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74853,6 +75043,22 @@ compliance activities that can be filtered by various criteria. format: date-time + - `new_otlp_content_capture: optional array of string or null` + + The organization's content-capture settings after the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings are not set or were not modified by this update. + + - `new_otlp_endpoint: optional string or null` + + The OpenTelemetry export endpoint after the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint was cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint is unset or was not itself modified by this update. + + - `new_otlp_protocol: optional string or null` + + The OpenTelemetry export protocol after the change. Null if the protocol is unset or was not itself modified by this update. + + - `new_otlp_resource_attributes: optional string or null` + + The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -74861,13 +75067,39 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDeletionRequested object` + - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - Organization deletion was requested. + Whether the OpenTelemetry export headers were set or cleared. 'set' is recorded for any non-empty submission, including resubmission of an unchanged value. Header values are never included. - - `type: optional "org_deletion_requested"` + - `"cleared"` - default: org_deletion_requested + - `"set"` + + - `"unspecified"` + + - `previous_otlp_content_capture: optional array of string or null` + + The organization's content-capture settings before the change, as a sorted list of category names. An empty list means content capture is explicitly turned off. Null if the settings were not previously set or were not modified by this update. + + - `previous_otlp_endpoint: optional string or null` + + The OpenTelemetry export endpoint before the change, recorded as its scheme, host and port only (for example, `https://collector.example.com:4318`); the path, query string, user name and password are not recorded. An endpoint entered as only a host and port, without a scheme, is recorded as entered. An empty string means the endpoint had been cleared. `` means the endpoint was entered in some other form, such as text that is not a URL or a URL whose port is not a number. The previous and new values can be the same even though the endpoint changed, for example when only its path changed. Null if the endpoint was previously unset or was not itself modified by this update. + + - `previous_otlp_protocol: optional string or null` + + The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. + + - `previous_otlp_resource_attributes: optional string or null` + + The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. + + - `OrgCoworkRemoteDisabled object` + + Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + + - `type: optional "org_cowork_remote_disabled"` + + default: org_cowork_remote_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75093,13 +75325,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncCompleted object` + - `OrgCoworkRemoteEnabled object` - Organization directory resync completed successfully. + Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. - - `type: optional "org_directory_resync_completed"` + - `type: optional "org_cowork_remote_enabled"` - default: org_directory_resync_completed + default: org_cowork_remote_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75307,10 +75539,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying the directory resync run that completed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75329,13 +75557,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncFailed object` + - `OrgCreationBlocked object` - Organization directory resync failed. + Organization creation was blocked. - - `type: optional "org_directory_resync_failed"` + - `type: optional "org_creation_blocked"` - default: org_directory_resync_failed + default: org_creation_blocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75543,10 +75771,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying the directory resync run that failed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75565,13 +75789,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectoryResyncStarted object` + - `reason: optional string or null` - Organization directory resync was started asynchronously. + "blocked" when the organization started preventing users with an email address at one of its verified domains from creating new organizations, "unblocked" when it stopped. - - `type: optional "org_directory_resync_started"` + - `OrgDataExportAccessed object` - default: org_directory_resync_started + Organization data export file was accessed/downloaded via signed URL. + + - `type: optional "org_data_export_accessed"` + + default: org_data_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75779,10 +76007,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resync_uuid: string` - - UUID identifying this directory resync run - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -75793,6 +76017,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was downloaded. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -75801,17 +76035,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `sync_destinations: optional array of string` - - Sync destinations the resync targets (for example, accounts and rbac) - - - `OrgDirectorySyncActivated object` + - `OrgDataExportCompleted object` - Organization directory sync was activated. + Organization data export was completed. - - `type: optional "org_directory_sync_activated"` + - `type: optional "org_data_export_completed"` - default: org_directory_sync_activated + default: org_data_export_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76029,6 +76259,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was exported. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -76037,13 +76277,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectorySyncAddInitiated object` + - `OrgDataExportStarted object` - Organization directory sync setup was initiated. + Organization data export was started. - - `type: optional "org_directory_sync_add_initiated"` + - `type: optional "org_data_export_started"` - default: org_directory_sync_add_initiated + default: org_data_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76261,6 +76501,16 @@ compliance activities that can be filtered by various criteria. format: date-time + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` + + Which data set was exported. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -76269,13 +76519,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDirectorySyncDeleted object` + - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - Organization directory sync was deleted. + Breadth of the export — the whole organization, or only the requesting member's own data. Absent on records written before this field was introduced. - - `type: optional "org_directory_sync_deleted"` + - `"member_own_data"` - default: org_directory_sync_deleted + - `"organization"` + + - `"unspecified"` + + - `OrgDataResidencyUpdated object` + + The organization's inference data residency settings were updated. + + - `type: optional "org_data_residency_updated"` + + default: org_data_residency_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76501,13 +76761,35 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilityDisabled object` + - `updates: optional array of object` - Admin disabled organization discoverability. + The field-level changes applied in this update - - `type: optional "org_discoverability_disabled"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - default: org_discoverability_disabled + The data residency setting that changed + + - `"allowed_inference_geos"` + + - `"default_inference_geo"` + + - `"unspecified"` + + - `current_value: optional string or null` + + Setting value immediately after this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. + + - `previous_value: optional string or null` + + Setting value immediately before this change. For allowed_inference_geos: a comma-separated list of geo codes (e.g. 'global,us'), or the literal 'unrestricted'. For default_inference_geo: a single geo code. + + - `OrgDeletedViaBulk object` + + Organization was deleted via bulk operation. + + - `type: optional "org_deleted_via_bulk"` + + default: org_deleted_via_bulk - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76733,13 +77015,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilityEnabled object` + - `OrgDeletionRequested object` - Admin enabled organization discoverability. + Organization deletion was requested. - - `type: optional "org_discoverability_enabled"` + - `type: optional "org_deletion_requested"` - default: org_discoverability_enabled + default: org_deletion_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76965,13 +77247,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDiscoverabilitySettingsUpdated object` + - `OrgDirectoryResyncCompleted object` - Admin updated organization discoverability settings. + Organization directory resync completed successfully. - - `type: optional "org_discoverability_settings_updated"` + - `type: optional "org_directory_resync_completed"` - default: org_discoverability_settings_updated + default: org_directory_resync_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77179,6 +77461,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying the directory resync run that completed. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77197,13 +77483,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainAddInitiated object` + - `OrgDirectoryResyncFailed object` - Organization domain verification was initiated. + Organization directory resync failed. - - `type: optional "org_domain_add_initiated"` + - `type: optional "org_directory_resync_failed"` - default: org_domain_add_initiated + default: org_directory_resync_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77411,6 +77697,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying the directory resync run that failed. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77429,13 +77719,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainRemoved object` + - `OrgDirectoryResyncStarted object` - Organization domain was removed. + Organization directory resync was started asynchronously. - - `type: optional "org_domain_removed"` + - `type: optional "org_directory_resync_started"` - default: org_domain_removed + default: org_directory_resync_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77643,6 +77933,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `resync_uuid: string` + + UUID identifying this directory resync run + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -77653,10 +77947,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `domain: optional string or null` - - The email domain that was removed from the organization, e.g. "example.com". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -77665,13 +77955,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDomainVerified object` + - `sync_destinations: optional array of string` - Organization domain was verified. + Sync destinations the resync targets (for example, accounts and rbac) - - `type: optional "org_domain_verified"` + - `OrgDirectorySyncActivated object` - default: org_domain_verified + Organization directory sync was activated. + + - `type: optional "org_directory_sync_activated"` + + default: org_directory_sync_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77889,10 +78183,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `domain: optional string or null` - - The email domain that was verified for the organization, e.g. "example.com". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -77901,13 +78191,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyCreated object` + - `OrgDirectorySyncAddInitiated object` - A CMEK external key config was created. + Organization directory sync setup was initiated. - - `type: optional "org_external_key_created"` + - `type: optional "org_directory_sync_add_initiated"` - default: org_external_key_created + default: org_directory_sync_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78115,22 +78405,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the created external key config - - - `provider: "aws" or "azure" or "gcp" or "unspecified"` - - KMS provider backing the key - - - `"aws"` - - - `"azure"` - - - `"gcp"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78149,13 +78423,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyDeleted object` + - `OrgDirectorySyncDeleted object` - A CMEK external key config was deleted. + Organization directory sync was deleted. - - `type: optional "org_external_key_deleted"` + - `type: optional "org_directory_sync_deleted"` - default: org_external_key_deleted + default: org_directory_sync_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78363,10 +78637,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the deleted external key config - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78385,13 +78655,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgExternalKeyUpdated object` + - `OrgDiscoverabilityDisabled object` - A CMEK external key config was updated. + Admin disabled organization discoverability. - - `type: optional "org_external_key_updated"` + - `type: optional "org_discoverability_disabled"` - default: org_external_key_updated + default: org_discoverability_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78599,10 +78869,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the updated external key config - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78621,37 +78887,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - - The external key config field that changed - - - `"display_name"` - - - `"geo"` - - - `"provider_config"` - - - `"unspecified"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` - - Field value immediately before this change - - - `OrgExternalKeyValidated object` + - `OrgDiscoverabilityEnabled object` - A CMEK external key config was validated against the customer's KMS. + Admin enabled organization discoverability. - - `type: optional "org_external_key_validated"` + - `type: optional "org_discoverability_enabled"` - default: org_external_key_validated + default: org_discoverability_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78859,20 +79101,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the validated external key config - - - `validation_result: "failure" or "success" or "unspecified"` - - Outcome of the encrypt/decrypt roundtrip - - - `"failure"` - - - `"success"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -78891,13 +79119,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaArtifactsTermsAccepted object` + - `OrgDiscoverabilitySettingsUpdated object` - An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + Admin updated organization discoverability settings. - - `type: optional "org_hipaa_artifacts_terms_accepted"` + - `type: optional "org_discoverability_settings_updated"` - default: org_hipaa_artifacts_terms_accepted + default: org_discoverability_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79105,14 +79333,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `terms_content_hash: string` - - SHA-256 digest (hex) of the terms that were accepted. - - - `terms_version_label: string` - - Version label of the terms that were accepted, e.g. "2026-10-02". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79131,13 +79351,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` + - `OrgDomainAddInitiated object` - The HIPAA configuration for Claude Code (local mode) and Cowork (local mode) was left off for the organization when the configuration launched, and stays off until it is applied. + Organization domain verification was initiated. - - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` + - `type: optional "org_domain_add_initiated"` - default: org_hipaa_claude_code_cowork_restrictions_deferred + default: org_domain_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79363,13 +79583,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` + - `OrgDomainRemoved object` - The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + Organization domain was removed. - - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` + - `type: optional "org_domain_removed"` - default: org_hipaa_claude_code_cowork_restrictions_enabled + default: org_domain_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79577,16 +79797,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `reason: "admin_opt_in" or "enabled_by_anthropic" or "unspecified"` - - Why the HIPAA configuration was applied: "admin_opt_in" when an administrator of the organization applied it, "enabled_by_anthropic" when Anthropic applied it for the organization. - - - `"admin_opt_in"` - - - `"enabled_by_anthropic"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79597,6 +79807,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `domain: optional string or null` + + The email domain that was removed from the organization, e.g. "example.com". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -79605,13 +79819,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgHipaaSelfServeEnabled object` + - `OrgDomainVerified object` - A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. + Organization domain was verified. - - `type: optional "org_hipaa_self_serve_enabled"` + - `type: optional "org_domain_verified"` - default: org_hipaa_self_serve_enabled + default: org_domain_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79819,18 +80033,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `baa_content_hash: string` - - SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - - `baa_version_label: string` - - Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - - `setup_guide_content_hash: string` - - SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79841,6 +80043,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `domain: optional string or null` + + The email domain that was verified for the organization, e.g. "example.com". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -79849,13 +80055,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionCreated object` + - `OrgExternalKeyCreated object` - Organization IP restriction was created. + A CMEK external key config was created. - - `type: optional "org_ip_restriction_created"` + - `type: optional "org_external_key_created"` - default: org_ip_restriction_created + default: org_external_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80063,6 +80269,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the created external key config + + - `provider: "aws" or "azure" or "gcp" or "unspecified"` + + KMS provider backing the key + + - `"aws"` + + - `"azure"` + + - `"gcp"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80073,10 +80295,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_range: optional string or null` - - The IP range added to the allowlist, e.g. "192.0.2.0/24", which is not enforced while it is inactive or the IP allowlist is turned off; absent for activities recorded before this field was added. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80085,13 +80303,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionDeleted object` + - `OrgExternalKeyDeleted object` - Organization IP restriction was deleted. + A CMEK external key config was deleted. - - `type: optional "org_ip_restriction_deleted"` + - `type: optional "org_external_key_deleted"` - default: org_ip_restriction_deleted + default: org_external_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80299,6 +80517,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the deleted external key config + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80309,10 +80531,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_range: optional string or null` - - The IP range removed from the allowlist, e.g. "192.0.2.0/24"; absent for activities recorded before this field was added. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80321,13 +80539,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgIPRestrictionUpdated object` + - `OrgExternalKeyUpdated object` - Organization IP restriction was updated. + A CMEK external key config was updated. - - `type: optional "org_ip_restriction_updated"` + - `type: optional "org_external_key_updated"` - default: org_ip_restriction_updated + default: org_external_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80535,6 +80753,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the updated external key config + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -80545,18 +80767,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_allowlist_enabled: optional boolean or null` - - Whether the organization's IP allowlist is turned on (true) or off (false) after this change; absent when the change did not turn the IP allowlist on or off, and for activities recorded before this field was added. - - - `ip_range: optional string or null` - - The IP range this change applied to, as it is after the change, e.g. "192.0.2.0/24"; absent when the change was not to an individual IP range, and for activities recorded before this field was added. - - - `ip_range_active: optional boolean or null` - - Whether the IP range is active on the allowlist (true) or saved but inactive (false) after this change; absent when the change did not turn the range on or off. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -80565,249 +80775,37 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_ip_range: optional string or null` - - The IP range before this change; absent unless the range itself was changed. - - - `OrgInviteLinkDisabled object` - - Organization invite link was disabled. - - - `type: optional "org_invite_link_disabled"` - - default: org_invite_link_disabled - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` - - default: attested_device_actor - - - `external_client_id: string` - - - `kid_hash: string` + - `updates: optional array of object` - - `ip_address: optional string or null` + The field-level changes applied in this update - - `user_agent: optional string or null` + - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - - `id: optional string` + The external key config field that changed - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"display_name"` - - `created_at: optional string` + - `"geo"` - When this activity occurred. + - `"provider_config"` - format: date-time + - `"unspecified"` - - `organization_id: optional string or null` + - `current_value: string` - Organization ID this activity is associated with + Field value immediately after this change - - `organization_uuid: optional string or null` + - `previous_value: string` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + Field value immediately before this change - - `OrgInviteLinkGenerated object` + - `OrgExternalKeyValidated object` - Organization invite link was generated. + A CMEK external key config was validated against the customer's KMS. - - `type: optional "org_invite_link_generated"` + - `type: optional "org_external_key_validated"` - default: org_invite_link_generated + default: org_external_key_validated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81015,6 +81013,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `external_key_id: string` + + Tagged ID of the validated external key config + + - `validation_result: "failure" or "success" or "unspecified"` + + Outcome of the encrypt/decrypt roundtrip + + - `"failure"` + + - `"success"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81033,13 +81045,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteLinkRegenerated object` + - `OrgHipaaArtifactsTermsAccepted object` - Organization invite link was regenerated (previous link invalidated). + An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. - - `type: optional "org_invite_link_regenerated"` + - `type: optional "org_hipaa_artifacts_terms_accepted"` - default: org_invite_link_regenerated + default: org_hipaa_artifacts_terms_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81247,6 +81259,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `terms_content_hash: string` + + SHA-256 digest (hex) of the terms that were accepted. + + - `terms_version_label: string` + + Version label of the terms that were accepted, e.g. "2026-10-02". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81265,13 +81285,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteViewed object` + - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` - An organization invite was viewed. + The HIPAA configuration for Claude Code (local mode) and Cowork (local mode) was left off for the organization when the configuration launched, and stays off until it is applied. - - `type: optional "org_invite_viewed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` - default: org_invite_viewed + default: org_hipaa_claude_code_cowork_restrictions_deferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81479,10 +81499,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invite_id: string` - - Tagged ID of the viewed invite - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81501,13 +81517,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInvitesListed object` + - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` - Organization invites were listed. + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. - - `type: optional "org_invites_listed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` - default: org_invites_listed + default: org_hipaa_claude_code_cowork_restrictions_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81715,6 +81731,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `reason: "admin_opt_in" or "enabled_by_anthropic" or "unspecified"` + + Why the HIPAA configuration was applied: "admin_opt_in" when an administrator of the organization applied it, "enabled_by_anthropic" when Anthropic applied it for the organization. + + - `"admin_opt_in"` + + - `"enabled_by_anthropic"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -81733,13 +81759,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinProposalDecided object` + - `OrgHipaaSelfServeEnabled object` - Approve or reject decision on a parent-org join proposal. + A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. - - `type: optional "org_join_proposal_decided"` + - `type: optional "org_hipaa_self_serve_enabled"` - default: org_join_proposal_decided + default: org_hipaa_self_serve_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81947,243 +81973,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `approved: boolean` - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `incoming_organization_id: optional string or null` - - The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` - - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - - `OrgJoinRequestApproved object` - - Admin approved a join request. - - - `type: optional "org_join_request_approved"` - - default: org_join_request_approved - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor - - - `api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `UserActor object` - - - `type: optional "user_actor"` - - default: user_actor - - - `email_address: string` - - format: email - - - `ip_address: string` - - - `user_agent: string` - - - `user_id: string` - - - `UnauthenticatedUserActor object` - - - `type: optional "unauthenticated_user_actor"` - - default: unauthenticated_user_actor - - - `ip_address: string` - - - `user_agent: string` - - - `unauthenticated_email_address: optional string or null` - - format: email - - - `AnthropicActor object` - - - `type: optional "anthropic_actor"` - - default: anthropic_actor - - - `email_address: optional string or null` - - format: email - - - `SystemActor object` - - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. - - - `type: optional "system_actor"` - - default: system_actor - - - `service: optional string or null` - - Name of the automated process that performed the action, when known. - - - `AdminAPIKeyActor object` - - - `type: optional "admin_api_key_actor"` - - default: admin_api_key_actor - - - `admin_api_key_id: string` - - - `ip_address: string` - - - `user_agent: string` - - - `ServiceAccountActor object` - - - `type: optional "service_account_actor"` - - default: service_account_actor - - - `ip_address: string` - - - `service_account_id: string` - - - `user_agent: string` - - - `ScimDirectorySyncActor object` - - - `type: optional "scim_directory_sync_actor"` - - default: scim_directory_sync_actor - - - `directory_id: string` - - - `workos_event_id: string` - - - `idp_connection_type: optional string or null` - - - `FederatedIdentityActor object` - - A federated external workload authenticated via a verified OIDC token. - - Carries the verified issuer, subject, and audience claims from the - presented JWT. - - - `type: optional "federated_identity_actor"` - - default: federated_identity_actor - - - `issuer: string` - - - `subject: string` - - - `audience: optional array of string` - - - `ip_address: optional string or null` - - - `user_agent: optional string or null` - - - `FederatedActor object` - - An external identity asserted by a trusted provider — a cloud-provider - gateway or a customer-registered federation issuer — acting without an - Anthropic-provisioned account or service account. - - - `type: optional "federated_actor"` - - default: federated_actor - - - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - - `FederatedActorAwsProvider object` - - Asserting party: the AWS account the organization is bound to. - - - `type: optional "aws"` - - default: aws - - - `account_id: string` - - - `signed_principal: string` - - The AWS-signed ARN of the IAM principal that requested the token. - - - `FederatedActorAzureProvider object` - - Asserting party: the Azure subscription the organization is bound to. - - - `type: optional "azure"` - - default: azure - - - `subscription_id: string` - - - `FederatedActorGcpProvider object` - - Asserting party: the GCP project the organization is bound to. - - - `type: optional "gcp"` - - default: gcp - - - `project_number: string` - - - `FederatedActorOidcProvider object` - - Asserting party: a customer-registered OIDC federation issuer. - - - `type: optional "oidc"` - - default: oidc - - - `issuer: optional string or null` - - The federation issuer's URL. Null when the presented credential failed verification. - - - `ip_address: optional string or null` - - - `subject: optional string or null` - - The provider's verified identifier for the caller; its form depends on the provider. - - - `user_agent: optional string or null` - - - `AttestedDeviceActor object` - - An attested mobile device authenticated via Apple App Attest. - - - `type: optional "attested_device_actor"` + - `baa_content_hash: string` - default: attested_device_actor + SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - `external_client_id: string` + - `baa_version_label: string` - - `kid_hash: string` + Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - `ip_address: optional string or null` + - `setup_guide_content_hash: string` - - `user_agent: optional string or null` + SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - `id: optional string` @@ -82203,13 +82003,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestCreated object` + - `OrgIPRestrictionCreated object` - User requested to join an organization. + Organization IP restriction was created. - - `type: optional "org_join_request_created"` + - `type: optional "org_ip_restriction_created"` - default: org_join_request_created + default: org_ip_restriction_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82427,6 +82227,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_range: optional string or null` + + The IP range added to the allowlist, e.g. "192.0.2.0/24", which is not enforced while it is inactive or the IP allowlist is turned off; absent for activities recorded before this field was added. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82435,13 +82239,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestDismissed object` + - `OrgIPRestrictionDeleted object` - Admin dismissed a join request. + Organization IP restriction was deleted. - - `type: optional "org_join_request_dismissed"` + - `type: optional "org_ip_restriction_deleted"` - default: org_join_request_dismissed + default: org_ip_restriction_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82659,6 +82463,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_range: optional string or null` + + The IP range removed from the allowlist, e.g. "192.0.2.0/24"; absent for activities recorded before this field was added. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82667,13 +82475,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestInstantApproved object` + - `OrgIPRestrictionUpdated object` - Join request was instantly approved. + Organization IP restriction was updated. - - `type: optional "org_join_request_instant_approved"` + - `type: optional "org_ip_restriction_updated"` - default: org_join_request_instant_approved + default: org_ip_restriction_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82891,6 +82699,18 @@ compliance activities that can be filtered by various criteria. format: date-time + - `ip_allowlist_enabled: optional boolean or null` + + Whether the organization's IP allowlist is turned on (true) or off (false) after this change; absent when the change did not turn the IP allowlist on or off, and for activities recorded before this field was added. + + - `ip_range: optional string or null` + + The IP range this change applied to, as it is after the change, e.g. "192.0.2.0/24"; absent when the change was not to an individual IP range, and for activities recorded before this field was added. + + - `ip_range_active: optional boolean or null` + + Whether the IP range is active on the allowlist (true) or saved but inactive (false) after this change; absent when the change did not turn the range on or off. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82899,13 +82719,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgJoinRequestsBulkDismissed object` + - `previous_ip_range: optional string or null` - Admin bulk-dismissed join requests. + The IP range before this change; absent unless the range itself was changed. - - `type: optional "org_join_requests_bulk_dismissed"` + - `OrgInviteLinkDisabled object` - default: org_join_requests_bulk_dismissed + Organization invite link was disabled. + + - `type: optional "org_invite_link_disabled"` + + default: org_invite_link_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83131,13 +82955,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgLibrarySubmissionCreated object` + - `OrgInviteLinkGenerated object` - A member submitted one of their own skills or plugins for publication into the organization library. + Organization invite link was generated. - - `type: optional "org_library_submission_created"` + - `type: optional "org_invite_link_generated"` - default: org_library_submission_created + default: org_invite_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83345,40 +83169,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `library_submission_id: string` - - The submission. - - - `publish_policy: "off" or "open" or "review" or "unspecified"` - - The organization's Publishing setting when the submission was made: "review" (Requires review) or "open" (Open). Any decision, and whether a reviewer made it, is recorded as org_library_submission_resolved with the same library_submission_id. - - - `"off"` - - - `"open"` - - - `"review"` - - - `"unspecified"` - - - `source_kind: "plugin" or "skill" or "unspecified"` - - Whether the item was submitted as a skill or as a plugin. - - - `"plugin"` - - - `"skill"` - - - `"unspecified"` - - - `source_plugin_id: string` - - The member's own skill or plugin that was submitted. - - - `source_plugin_version_id: string` - - The exact version that was submitted. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -83397,17 +83187,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `updates_published_plugin_id: optional string or null` - - The existing library entry this submission proposes to update; unset for a new entry. - - - `OrgLibrarySubmissionResolved object` + - `OrgInviteLinkRegenerated object` - A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + Organization invite link was regenerated (previous link invalidated). - - `type: optional "org_library_submission_resolved"` + - `type: optional "org_invite_link_regenerated"` - default: org_library_submission_resolved + default: org_invite_link_regenerated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83615,70 +83401,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `content_hash: string` - - SHA-256 digest (hex) of the submitted version's archive, as submitted. Set only on a record whose publish_completed is true, and may be empty even there. A digest of the content, never the content itself. - - - `decision: "accepted" or "denied" or "unspecified"` - - Whether the submission was accepted into the library or denied. - - - `"accepted"` - - - `"denied"` - - - `"unspecified"` - - - `destination_marketplace_id: string` - - The marketplace the submission was accepted into. Empty on a denial. - - - `publish_completed: boolean` - - Whether publication had completed when this record was written. If it completed with the acceptance, there is one accepted record and this is true. Otherwise this is false, and if publication completes later, a second accepted record with the same library_submission_id follows with this set to true. - - - `published_plugin_version_id: string` - - The published version. Empty when publish_completed is false. - - - `source_plugin_id: string` - - The member's own skill or plugin that was submitted. - - - `source_plugin_version_id: string` - - The exact version that was decided on. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `attestations: optional array of object` - - Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. - - - `type: string` - - Attestation type, such as "safe_for_phi" (may be used with protected health information). - - - `content_hash: string` - - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `created_at: optional string` When this activity occurred. format: date-time - - `installation_preference: optional string or null` - - The installation preference the submission was accepted with: "available", "auto_install" or "required". Unset on a denial, and when an update to an existing library entry was accepted without one. - - - `library_submission_id: optional string or null` - - The submission that was decided on. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -83687,33 +83419,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - - How this submission was resolved, whatever the organization's setting: "review" when a library reviewer accepted or denied it, "open" when it was accepted on submission with no reviewer. - - - `"off"` - - - `"open"` - - - `"review"` - - - `"unspecified"` - - - `reviewed_by_user_id: optional string or null` - - The library reviewer who made the decision; unset when the submission was accepted without review (publish_policy "open"), or if the reviewer's account had been deleted when this record was written. - - - `submitted_by_user_id: optional string or null` - - The member who made the submission. - - - `OrgLibrarySubmissionWithdrawn object` + - `OrgInviteViewed object` - A pending submission to the organization library was withdrawn before any reviewer decided on it. + An organization invite was viewed. - - `type: optional "org_library_submission_withdrawn"` + - `type: optional "org_invite_viewed"` - default: org_library_submission_withdrawn + default: org_invite_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83921,35 +83633,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `library_submission_id: string` - - The submission. - - - `reason: "requester" or "unspecified"` - - Why the submission was withdrawn. - - - `"requester"` - - - `"unspecified"` - - - `source_kind: "plugin" or "skill" or "unspecified"` - - Whether the withdrawn item had been submitted as a skill or as a plugin. - - - `"plugin"` - - - `"skill"` - - - `"unspecified"` - - - `source_plugin_id: string` - - The member's own skill or plugin that had been submitted. - - - `source_plugin_version_id: string` + - `invite_id: string` - The version that had been submitted. + Tagged ID of the viewed invite - `id: optional string` @@ -83969,13 +83655,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMagicLinkSecondFactorToggled object` + - `OrgInvitesListed object` - Organization magic link second factor was toggled. + Organization invites were listed. - - `type: optional "org_magic_link_second_factor_toggled"` + - `type: optional "org_invites_listed"` - default: org_magic_link_second_factor_toggled + default: org_invites_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84183,10 +83869,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether members signing in with SSO must also complete a magic link as a second factor, after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -84205,13 +83887,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberAvatarRemoved object` + - `OrgJoinProposalDecided object` - An administrator removed another member's profile picture. + Approve or reject decision on a parent-org join proposal. - - `type: optional "org_member_avatar_removed"` + - `type: optional "org_join_proposal_decided"` - default: org_member_avatar_removed + default: org_join_proposal_decided - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84419,9 +84101,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the member whose profile picture was removed. + - `approved: boolean` - `id: optional string` @@ -84433,6 +84113,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `incoming_organization_id: optional string or null` + + The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -84441,13 +84125,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberInvitesDisabled object` + - `OrgJoinRequestApproved object` - Admin disabled member invites for the organization. + Admin approved a join request. - - `type: optional "org_member_invites_disabled"` + - `type: optional "org_join_request_approved"` - default: org_member_invites_disabled + default: org_join_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84673,13 +84357,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMemberInvitesEnabled object` + - `OrgJoinRequestCreated object` - Admin enabled member invites for the organization. + User requested to join an organization. - - `type: optional "org_member_invites_enabled"` + - `type: optional "org_join_request_created"` - default: org_member_invites_enabled + default: org_join_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84905,13 +84589,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgMembersExported object` + - `OrgJoinRequestDismissed object` - Organization members list was exported as CSV. + Admin dismissed a join request. - - `type: optional "org_members_exported"` + - `type: optional "org_join_request_dismissed"` - default: org_members_exported + default: org_join_request_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85137,23 +84821,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgModelDefaultUpdated object` - - An organization or role default model setting was changed by an administrator. - - - `type: optional "org_model_default_updated"` - - default: org_model_default_updated - - - `action: "cleared" or "set" or "unspecified"` - - Whether the default model was set or cleared + - `OrgJoinRequestInstantApproved object` - - `"cleared"` + Join request was instantly approved. - - `"set"` + - `type: optional "org_join_request_instant_approved"` - - `"unspecified"` + default: org_join_request_instant_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85361,24 +85035,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `override_user_selection: boolean` - - Whether the default is enforced as a fixed default, resetting members' own model selections at the start of each new conversation - - - `principal_id: string` - - Tagged ID of the organization or role the default applies to - - - `principal_type: "org" or "rbac_role" or "unspecified"` - - Whether the default applies to the whole organization or to a single role - - - `"org"` - - - `"rbac_role"` - - - `"unspecified"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -85389,26 +85045,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `default_model: optional string or null` - - The model set as the default, when the action is set - - - `model_access: optional array of object` - - The per-model access overrides set for this principal; absent when no overrides are configured - - - `api_name: string` - - The model the decision applies to - - - `enabled: boolean` - - Whether members with this principal may select the model - - - `max_effort_level: optional string or null` - - The highest effort level members may select for this model, when capped - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -85417,13 +85053,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgParentJoinProposalCreated object` + - `OrgJoinRequestsBulkDismissed object` - Organization parent join proposal was created. + Admin bulk-dismissed join requests. - - `type: optional "org_parent_join_proposal_created"` + - `type: optional "org_join_requests_bulk_dismissed"` - default: org_parent_join_proposal_created + default: org_join_requests_bulk_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85641,10 +85277,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `incoming_organization_id: optional string or null` - - The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -85653,13 +85285,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgParentSearchPerformed object` + - `OrgLibrarySubmissionCreated object` - Organization parent search was performed. + A member submitted one of their own skills or plugins for publication into the organization library. - - `type: optional "org_parent_search_performed"` + - `type: optional "org_library_submission_created"` - default: org_parent_search_performed + default: org_library_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85867,6 +85499,40 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `library_submission_id: string` + + The submission. + + - `publish_policy: "off" or "open" or "review" or "unspecified"` + + The organization's Publishing setting when the submission was made: "review" (Requires review) or "open" (Open). Any decision, and whether a reviewer made it, is recorded as org_library_submission_resolved with the same library_submission_id. + + - `"off"` + + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `source_kind: "plugin" or "skill" or "unspecified"` + + Whether the item was submitted as a skill or as a plugin. + + - `"plugin"` + + - `"skill"` + + - `"unspecified"` + + - `source_plugin_id: string` + + The member's own skill or plugin that was submitted. + + - `source_plugin_version_id: string` + + The exact version that was submitted. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -85885,13 +85551,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOAddInitiated object` + - `updates_published_plugin_id: optional string or null` - Organization SSO setup was initiated. + The existing library entry this submission proposes to update; unset for a new entry. - - `type: optional "org_sso_add_initiated"` + - `OrgLibrarySubmissionResolved object` - default: org_sso_add_initiated + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `type: optional "org_library_submission_resolved"` + + default: org_library_submission_resolved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86099,16 +85769,70 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `content_hash: string` + + SHA-256 digest (hex) of the submitted version's archive, as submitted. Set only on a record whose publish_completed is true, and may be empty even there. A digest of the content, never the content itself. + + - `decision: "accepted" or "denied" or "unspecified"` + + Whether the submission was accepted into the library or denied. + + - `"accepted"` + + - `"denied"` + + - `"unspecified"` + + - `destination_marketplace_id: string` + + The marketplace the submission was accepted into. Empty on a denial. + + - `publish_completed: boolean` + + Whether publication had completed when this record was written. If it completed with the acceptance, there is one accepted record and this is true. Otherwise this is false, and if publication completes later, a second accepted record with the same library_submission_id follows with this set to true. + + - `published_plugin_version_id: string` + + The published version. Empty when publish_completed is false. + + - `source_plugin_id: string` + + The member's own skill or plugin that was submitted. + + - `source_plugin_version_id: string` + + The exact version that was decided on. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `attestations: optional array of object` + + Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. + + - `type: string` + + Attestation type, such as "safe_for_phi" (may be used with protected health information). + + - `content_hash: string` + + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `created_at: optional string` When this activity occurred. format: date-time + - `installation_preference: optional string or null` + + The installation preference the submission was accepted with: "available", "auto_install" or "required". Unset on a denial, and when an update to an existing library entry was accepted without one. + + - `library_submission_id: optional string or null` + + The submission that was decided on. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -86117,13 +85841,33 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionActivated object` + - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - Organization SSO connection was activated. + How this submission was resolved, whatever the organization's setting: "review" when a library reviewer accepted or denied it, "open" when it was accepted on submission with no reviewer. - - `type: optional "org_sso_connection_activated"` + - `"off"` - default: org_sso_connection_activated + - `"open"` + + - `"review"` + + - `"unspecified"` + + - `reviewed_by_user_id: optional string or null` + + The library reviewer who made the decision; unset when the submission was accepted without review (publish_policy "open"), or if the reviewer's account had been deleted when this record was written. + + - `submitted_by_user_id: optional string or null` + + The member who made the submission. + + - `OrgLibrarySubmissionWithdrawn object` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + + - `type: optional "org_library_submission_withdrawn"` + + default: org_library_submission_withdrawn - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86331,17 +86075,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `library_submission_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The submission. - - `connection_id: optional string or null` + - `reason: "requester" or "unspecified"` - Identifier of the SSO connection that was activated. + Why the submission was withdrawn. - - `connection_type: optional string or null` + - `"requester"` - The type of SSO connection that was activated, e.g. "OktaSAML" or "GenericOIDC". + - `"unspecified"` + + - `source_kind: "plugin" or "skill" or "unspecified"` + + Whether the withdrawn item had been submitted as a skill or as a plugin. + + - `"plugin"` + + - `"skill"` + + - `"unspecified"` + + - `source_plugin_id: string` + + The member's own skill or plugin that had been submitted. + + - `source_plugin_version_id: string` + + The version that had been submitted. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86357,13 +86123,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionDeactivated object` + - `OrgMagicLinkSecondFactorToggled object` - Organization SSO connection was deactivated. + Organization magic link second factor was toggled. - - `type: optional "org_sso_connection_deactivated"` + - `type: optional "org_magic_link_second_factor_toggled"` - default: org_sso_connection_deactivated + default: org_magic_link_second_factor_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86571,13 +86337,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `enabled: boolean` - Unique identifier for the activity e.g. 'activity_abcd1234' + Whether members signing in with SSO must also complete a magic link as a second factor, after this change. - - `connection_id: optional string or null` + - `id: optional string` - Identifier of the SSO connection that was deactivated. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86593,13 +86359,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOConnectionDeleted object` + - `OrgMemberAvatarRemoved object` - Organization SSO connection was deleted. + An administrator removed another member's profile picture. - - `type: optional "org_sso_connection_deleted"` + - `type: optional "org_member_avatar_removed"` - default: org_sso_connection_deleted + default: org_member_avatar_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86807,13 +86573,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `user_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the member whose profile picture was removed. - - `connection_id: optional string or null` + - `id: optional string` - Identifier of the SSO connection that was deleted. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -86829,13 +86595,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOGroupRoleMappingsUpdated object` + - `OrgMemberInvitesDisabled object` - Organization SSO group role mappings were updated. + Admin disabled member invites for the organization. - - `type: optional "org_sso_group_role_mappings_updated"` + - `type: optional "org_member_invites_disabled"` - default: org_sso_group_role_mappings_updated + default: org_member_invites_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87061,13 +86827,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOProvisioningModeChanged object` + - `OrgMemberInvitesEnabled object` - Organization SSO provisioning mode was changed. + Admin enabled member invites for the organization. - - `type: optional "org_sso_provisioning_mode_changed"` + - `type: optional "org_member_invites_enabled"` - default: org_sso_provisioning_mode_changed + default: org_member_invites_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87285,10 +87051,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_mode: optional string or null` - - The SSO provisioning mode after this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -87297,17 +87059,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_mode: optional string or null` - - The SSO provisioning mode before this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - - `OrgSSOScimWelcomeEmailToggled object` + - `OrgMembersExported object` - Organization SCIM-provisioned welcome email was toggled. + Organization members list was exported as CSV. - - `type: optional "org_sso_scim_welcome_email_toggled"` + - `type: optional "org_members_exported"` - default: org_sso_scim_welcome_email_toggled + default: org_members_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87515,10 +87273,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether the SCIM welcome email is enabled after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -87537,17 +87291,23 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` + - `OrgModelDefaultUpdated object` - Whether the SCIM welcome email was enabled before this change. + An organization or role default model setting was changed by an administrator. - - `OrgSSOSeatTierAssignmentToggled object` + - `type: optional "org_model_default_updated"` - Organization SSO seat tier assignment was toggled. + default: org_model_default_updated - - `type: optional "org_sso_seat_tier_assignment_toggled"` + - `action: "cleared" or "set" or "unspecified"` - default: org_sso_seat_tier_assignment_toggled + Whether the default model was set or cleared + + - `"cleared"` + + - `"set"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -87755,9 +87515,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` + - `override_user_selection: boolean` - Whether SSO seat tier assignment is enabled after this change. + Whether the default is enforced as a fixed default, resetting members' own model selections at the start of each new conversation + + - `principal_id: string` + + Tagged ID of the organization or role the default applies to + + - `principal_type: "org" or "rbac_role" or "unspecified"` + + Whether the default applies to the whole organization or to a single role + + - `"org"` + + - `"rbac_role"` + + - `"unspecified"` - `id: optional string` @@ -87769,6 +87543,26 @@ compliance activities that can be filtered by various criteria. format: date-time + - `default_model: optional string or null` + + The model set as the default, when the action is set + + - `model_access: optional array of object` + + The per-model access overrides set for this principal; absent when no overrides are configured + + - `api_name: string` + + The model the decision applies to + + - `enabled: boolean` + + Whether members with this principal may select the model + + - `max_effort_level: optional string or null` + + The highest effort level members may select for this model, when capped + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -87777,17 +87571,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_enabled: optional boolean or null` - - Whether SSO seat tier assignment was enabled before this change. - - - `OrgSSOSeatTierMappingsUpdated object` + - `OrgParentJoinProposalCreated object` - Organization SSO seat tier mappings were updated. + Organization parent join proposal was created. - - `type: optional "org_sso_seat_tier_mappings_updated"` + - `type: optional "org_parent_join_proposal_created"` - default: org_sso_seat_tier_mappings_updated + default: org_parent_join_proposal_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88005,17 +87795,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_mappings: optional array of object or null` - - Identity provider group to seat tier mappings after this change. - - - `idp_group_name: string` - - Name of the identity provider group. - - - `seat_tier: optional string or null` + - `incoming_organization_id: optional string or null` - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + The organization proposed to join the parent organization, e.g. "org_01HX...". Not set on events recorded before this field existed. - `organization_id: optional string or null` @@ -88025,25 +87807,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_mappings: optional array of object or null` - - Identity provider group to seat tier mappings before this change. - - - `idp_group_name: string` - - Name of the identity provider group. - - - `seat_tier: optional string or null` - - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. - - - `OrgSSOToggled object` + - `OrgParentSearchPerformed object` - Organization SSO was toggled on or off. + Organization parent search was performed. - - `type: optional "org_sso_toggled"` + - `type: optional "org_parent_search_performed"` - default: org_sso_toggled + default: org_parent_search_performed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88251,10 +88021,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` - - Whether SSO login is enforced after this change. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -88273,13 +88039,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSyncDeletingSynchronizedFilesStarted object` + - `OrgSSOAddInitiated object` - Organization started deleting synchronized files. + Organization SSO setup was initiated. - - `type: optional "org_sync_deleting_synchronized_files_started"` + - `type: optional "org_sso_add_initiated"` - default: org_sync_deleting_synchronized_files_started + default: org_sso_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88505,13 +88271,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSyncSynchronizedFilesDeleted object` + - `OrgSSOConnectionActivated object` - Organization synchronized files were deleted. + Organization SSO connection was activated. - - `type: optional "org_sync_synchronized_files_deleted"` + - `type: optional "org_sso_connection_activated"` - default: org_sync_synchronized_files_deleted + default: org_sso_connection_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88723,6 +88489,14 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was activated. + + - `connection_type: optional string or null` + + The type of SSO connection that was activated, e.g. "OktaSAML" or "GenericOIDC". + - `created_at: optional string` When this activity occurred. @@ -88737,13 +88511,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgTaintAdded object` + - `OrgSSOConnectionDeactivated object` - A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. + Organization SSO connection was deactivated. - - `type: optional "org_taint_added"` + - `type: optional "org_sso_connection_deactivated"` - default: org_taint_added + default: org_sso_connection_deactivated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88955,6 +88729,10 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was deactivated. + - `created_at: optional string` When this activity occurred. @@ -88969,21 +88747,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `taint: optional string or null` - - The marker that was added, for example the HIPAA marker. - - - `workspace_id: optional string or null` - - Tagged ID of the workspace the marker was applied to. Unset when applied at organization scope. - - - `OrgTaintRemoved object` + - `OrgSSOConnectionDeleted object` - A compliance marker (taint) was removed from an organization. + Organization SSO connection was deleted. - - `type: optional "org_taint_removed"` + - `type: optional "org_sso_connection_deleted"` - default: org_taint_removed + default: org_sso_connection_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89195,6 +88965,10 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' + - `connection_id: optional string or null` + + Identifier of the SSO connection that was deleted. + - `created_at: optional string` When this activity occurred. @@ -89209,17 +88983,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `taint: optional string or null` - - The marker that was removed, for example the HIPAA marker. - - - `OrgUserDeleted object` + - `OrgSSOGroupRoleMappingsUpdated object` - User was removed from organization. + Organization SSO group role mappings were updated. - - `type: optional "org_user_deleted"` + - `type: optional "org_sso_group_role_mappings_updated"` - default: org_user_deleted + default: org_sso_group_role_mappings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89437,14 +89207,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `deleted_user_email: optional string or null` - - Email address of the member who was removed, when known. - - - `deleted_user_id: optional string or null` - - Tagged ID of the member who was removed from the organization, e.g. "user_01HX...". - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -89453,13 +89215,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteAccepted object` + - `OrgSSOProvisioningModeChanged object` - Organization user invite was accepted. + Organization SSO provisioning mode was changed. - - `type: optional "org_user_invite_accepted"` + - `type: optional "org_sso_provisioning_mode_changed"` - default: org_user_invite_accepted + default: org_sso_provisioning_mode_changed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89677,9 +89439,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` + - `new_mode: optional string or null` - Tagged ID of the invite that was accepted. + The SSO provisioning mode after this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - `organization_id: optional string or null` @@ -89689,17 +89451,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `rbac_group_ids: optional array of string or null` + - `previous_mode: optional string or null` - RBAC group IDs the user was added to on acceptance, as confirmed by the group service (absent on rows written before this was recorded, and when the invite carried no groups) + The SSO provisioning mode before this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - `OrgUserInviteDeleted object` + - `OrgSSOScimWelcomeEmailToggled object` - Organization user invite was deleted. + Organization SCIM-provisioned welcome email was toggled. - - `type: optional "org_user_invite_deleted"` + - `type: optional "org_sso_scim_welcome_email_toggled"` - default: org_user_invite_deleted + default: org_sso_scim_welcome_email_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89907,6 +89669,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether the SCIM welcome email is enabled after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -89917,10 +89683,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` - - Tagged ID of the invite that was deleted. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -89929,13 +89691,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteReSent object` + - `previous_enabled: optional boolean or null` - Organization user invite was re-sent. + Whether the SCIM welcome email was enabled before this change. - - `type: optional "org_user_invite_re_sent"` + - `OrgSSOSeatTierAssignmentToggled object` - default: org_user_invite_re_sent + Organization SSO seat tier assignment was toggled. + + - `type: optional "org_sso_seat_tier_assignment_toggled"` + + default: org_sso_seat_tier_assignment_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90143,6 +89909,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether SSO seat tier assignment is enabled after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -90153,18 +89923,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invited_email: optional string or null` - - Email address the invite was re-sent to. - - - `invited_role: optional string or null` - - Role the invited user will receive on joining - - - `invited_seat_tier: optional string or null` - - Seat tier the invited user will receive on joining - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -90173,13 +89931,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteRejected object` + - `previous_enabled: optional boolean or null` - Organization user invite was rejected. + Whether SSO seat tier assignment was enabled before this change. - - `type: optional "org_user_invite_rejected"` + - `OrgSSOSeatTierMappingsUpdated object` - default: org_user_invite_rejected + Organization SSO seat tier mappings were updated. + + - `type: optional "org_sso_seat_tier_mappings_updated"` + + default: org_sso_seat_tier_mappings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90397,9 +90159,17 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invite_id: optional string or null` + - `current_mappings: optional array of object or null` - Tagged ID of the invite that was rejected. + Identity provider group to seat tier mappings after this change. + + - `idp_group_name: string` + + Name of the identity provider group. + + - `seat_tier: optional string or null` + + Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. - `organization_id: optional string or null` @@ -90409,13 +90179,25 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserInviteSent object` + - `previous_mappings: optional array of object or null` - Organization user invite was sent. + Identity provider group to seat tier mappings before this change. - - `type: optional "org_user_invite_sent"` + - `idp_group_name: string` - default: org_user_invite_sent + Name of the identity provider group. + + - `seat_tier: optional string or null` + + Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + + - `OrgSSOToggled object` + + Organization SSO was toggled on or off. + + - `type: optional "org_sso_toggled"` + + default: org_sso_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90623,6 +90405,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `enabled: boolean` + + Whether SSO login is enforced after this change. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -90633,22 +90419,6 @@ compliance activities that can be filtered by various criteria. format: date-time - - `invited_email: optional string or null` - - Email address the invite was sent to. - - - `invited_rbac_group_ids: optional array of string or null` - - RBAC group IDs the invited user will be added to on joining - - - `invited_role: optional string or null` - - Role the invited user will receive on joining. - - - `invited_seat_tier: optional string or null` - - Seat tier the invited user will receive on joining - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -90657,13 +90427,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserLeft object` + - `OrgSyncDeletingSynchronizedFilesStarted object` - User removed themselves from organization. + Organization started deleting synchronized files. - - `type: optional "org_user_left"` + - `type: optional "org_sync_deleting_synchronized_files_started"` - default: org_user_left + default: org_sync_deleting_synchronized_files_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90889,17 +90659,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_role: optional string or null` - - The role the member held in the organization before leaving, e.g. "user" or "admin". - - - `OrgUserSharesRetained object` + - `OrgSyncSynchronizedFilesDeleted object` - A member left or was removed from the organization while projects, skills, plugins, or chats they had shared were still shared, and those shares were kept. + Organization synchronized files were deleted. - - `type: optional "org_user_shares_retained"` + - `type: optional "org_sync_synchronized_files_deleted"` - default: org_user_shares_retained + default: org_sync_synchronized_files_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91107,34 +90873,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `resource_count: number` - - Number of distinct resources the member had shared that are still shared, counted up to a fixed limit, so a lower bound when `truncated` is true; it can exceed the number of IDs listed below. - - - `share_count: number` - - Number of shares kept across those resources (one per audience a resource is shared with), counted up to the same limit, so a lower bound when `truncated` is true. - - - `truncated: boolean` - - True when the ID lists do not include every still-shared resource or the counts stopped at their limit. - - - `user_id: string` - - Tagged ID of the member who left or was removed. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_chat_ids: optional array of string` - - Tagged IDs of chats among those resources. - - - `claude_project_ids: optional array of string` - - Tagged IDs of projects among those resources; the four ID lists hold at most the first 50 resources between them. - - `created_at: optional string` When this activity occurred. @@ -91149,21 +90891,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `plugin_ids: optional array of string` - - Tagged IDs of plugins among those resources. - - - `skill_ids: optional array of string` - - Tagged IDs of skills among those resources. - - - `OrgUserTrustedDevicesRevoked object` + - `OrgTaintAdded object` - An organization admin revoked a member's trusted devices and signed the member out of all active sessions. + A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. - - `type: optional "org_user_trusted_devices_revoked"` + - `type: optional "org_taint_added"` - default: org_user_trusted_devices_revoked + default: org_taint_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91371,22 +91105,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `completed: boolean` - - Whether the operation completed fully. False records an attempt that revoked the counted credentials but failed before finishing. - - - `devices_revoked_count: number` - - Number of trusted devices revoked - - - `sessions_revoked_count: number` - - Number of active sessions the member was signed out of - - - `user_id: string` - - Tagged ID of the member whose trusted devices were revoked - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -91405,13 +91123,21 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUserViewed object` + - `taint: optional string or null` - An organization user was viewed. + The marker that was added, for example the HIPAA marker. - - `type: optional "org_user_viewed"` + - `workspace_id: optional string or null` - default: org_user_viewed + Tagged ID of the workspace the marker was applied to. Unset when applied at organization scope. + + - `OrgTaintRemoved object` + + A compliance marker (taint) was removed from an organization. + + - `type: optional "org_taint_removed"` + + default: org_taint_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91619,10 +91345,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the viewed user - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -91641,13 +91363,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgUsersListed object` + - `taint: optional string or null` - Organization users were listed. + The marker that was removed, for example the HIPAA marker. - - `type: optional "org_users_listed"` + - `OrgUserDeleted object` - default: org_users_listed + User was removed from organization. + + - `type: optional "org_user_deleted"` + + default: org_user_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91865,6 +91591,14 @@ compliance activities that can be filtered by various criteria. format: date-time + - `deleted_user_email: optional string or null` + + Email address of the member who was removed, when known. + + - `deleted_user_id: optional string or null` + + Tagged ID of the member who was removed from the organization, e.g. "user_01HX...". + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -91873,13 +91607,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgWorkAcrossAppsDisabled object` + - `OrgUserInviteAccepted object` - The organization's "Let Claude work across apps" setting was turned off. + Organization user invite was accepted. - - `type: optional "org_work_across_apps_disabled"` + - `type: optional "org_user_invite_accepted"` - default: org_work_across_apps_disabled + default: org_user_invite_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92097,9 +91831,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `invite_id: optional string or null` - Setting value immediately after this change + Tagged ID of the invite that was accepted. - `organization_id: optional string or null` @@ -92109,17 +91843,17 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` + - `rbac_group_ids: optional array of string or null` - Setting value immediately before this change + RBAC group IDs the user was added to on acceptance, as confirmed by the group service (absent on rows written before this was recorded, and when the invite carried no groups) - - `OrgWorkAcrossAppsEnabled object` + - `OrgUserInviteDeleted object` - The organization's "Let Claude work across apps" setting was turned on. + Organization user invite was deleted. - - `type: optional "org_work_across_apps_enabled"` + - `type: optional "org_user_invite_deleted"` - default: org_work_across_apps_enabled + default: org_user_invite_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92337,9 +92071,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `invite_id: optional string or null` - Setting value immediately after this change + Tagged ID of the invite that was deleted. - `organization_id: optional string or null` @@ -92349,17 +92083,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `OrganizationAddressUpdated object` + - `OrgUserInviteReSent object` - The organization's billing or shipping address was updated. + Organization user invite was re-sent. - - `type: optional "organization_address_updated"` + - `type: optional "org_user_invite_re_sent"` - default: organization_address_updated + default: org_user_invite_re_sent - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92571,19 +92301,23 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `billing_address_updated: optional boolean or null` + - `created_at: optional string` - Whether the billing address was updated. + When this activity occurred. - - `billing_name_updated: optional boolean or null` + format: date-time - Whether the billing name was updated. + - `invited_email: optional string or null` - - `created_at: optional string` + Email address the invite was re-sent to. - When this activity occurred. + - `invited_role: optional string or null` - format: date-time + Role the invited user will receive on joining + + - `invited_seat_tier: optional string or null` + + Seat tier the invited user will receive on joining - `organization_id: optional string or null` @@ -92593,21 +92327,2441 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `shipping_address_updated: optional boolean or null` - - Whether the shipping address was updated. - - - `shipping_name_updated: optional boolean or null` - - Whether the shipping name was updated. - - - `OrganizationIconDeleted object` + - `OrgUserInviteRejected object` - Organization's custom icon deleted. + Organization user invite was rejected. - - `type: optional "organization_icon_deleted"` + - `type: optional "org_user_invite_rejected"` - default: organization_icon_deleted + default: org_user_invite_rejected + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `invite_id: optional string or null` + + Tagged ID of the invite that was rejected. + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUserInviteSent object` + + Organization user invite was sent. + + - `type: optional "org_user_invite_sent"` + + default: org_user_invite_sent + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `invited_email: optional string or null` + + Email address the invite was sent to. + + - `invited_rbac_group_ids: optional array of string or null` + + RBAC group IDs the invited user will be added to on joining + + - `invited_role: optional string or null` + + Role the invited user will receive on joining. + + - `invited_seat_tier: optional string or null` + + Seat tier the invited user will receive on joining + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUserLeft object` + + User removed themselves from organization. + + - `type: optional "org_user_left"` + + default: org_user_left + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_role: optional string or null` + + The role the member held in the organization before leaving, e.g. "user" or "admin". + + - `OrgUserSharesRetained object` + + A member left or was removed from the organization while projects, skills, plugins, or chats they had shared were still shared, and those shares were kept. + + - `type: optional "org_user_shares_retained"` + + default: org_user_shares_retained + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `resource_count: number` + + Number of distinct resources the member had shared that are still shared, counted up to a fixed limit, so a lower bound when `truncated` is true; it can exceed the number of IDs listed below. + + - `share_count: number` + + Number of shares kept across those resources (one per audience a resource is shared with), counted up to the same limit, so a lower bound when `truncated` is true. + + - `truncated: boolean` + + True when the ID lists do not include every still-shared resource or the counts stopped at their limit. + + - `user_id: string` + + Tagged ID of the member who left or was removed. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `claude_chat_ids: optional array of string` + + Tagged IDs of chats among those resources. + + - `claude_project_ids: optional array of string` + + Tagged IDs of projects among those resources; the four ID lists hold at most the first 50 resources between them. + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `plugin_ids: optional array of string` + + Tagged IDs of plugins among those resources. + + - `skill_ids: optional array of string` + + Tagged IDs of skills among those resources. + + - `OrgUserTrustedDevicesRevoked object` + + An organization admin revoked a member's trusted devices and signed the member out of all active sessions. + + - `type: optional "org_user_trusted_devices_revoked"` + + default: org_user_trusted_devices_revoked + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `completed: boolean` + + Whether the operation completed fully. False records an attempt that revoked the counted credentials but failed before finishing. + + - `devices_revoked_count: number` + + Number of trusted devices revoked + + - `sessions_revoked_count: number` + + Number of active sessions the member was signed out of + + - `user_id: string` + + Tagged ID of the member whose trusted devices were revoked + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUserViewed object` + + An organization user was viewed. + + - `type: optional "org_user_viewed"` + + default: org_user_viewed + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `user_id: string` + + Tagged ID of the viewed user + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgUsersListed object` + + Organization users were listed. + + - `type: optional "org_users_listed"` + + default: org_users_listed + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `OrgWorkAcrossAppsDisabled object` + + The organization's "Let Claude work across apps" setting was turned off. + + - `type: optional "org_work_across_apps_disabled"` + + default: org_work_across_apps_disabled + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `OrgWorkAcrossAppsEnabled object` + + The organization's "Let Claude work across apps" setting was turned on. + + - `type: optional "org_work_across_apps_enabled"` + + default: org_work_across_apps_enabled + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `previous_value: optional boolean or null` + + Setting value immediately before this change + + - `OrganizationAddressUpdated object` + + The organization's billing or shipping address was updated. + + - `type: optional "organization_address_updated"` + + default: organization_address_updated + + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + + - `APIActor object` + + - `type: optional "api_actor"` + + default: api_actor + + - `api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `UserActor object` + + - `type: optional "user_actor"` + + default: user_actor + + - `email_address: string` + + format: email + + - `ip_address: string` + + - `user_agent: string` + + - `user_id: string` + + - `UnauthenticatedUserActor object` + + - `type: optional "unauthenticated_user_actor"` + + default: unauthenticated_user_actor + + - `ip_address: string` + + - `user_agent: string` + + - `unauthenticated_email_address: optional string or null` + + format: email + + - `AnthropicActor object` + + - `type: optional "anthropic_actor"` + + default: anthropic_actor + + - `email_address: optional string or null` + + format: email + + - `SystemActor object` + + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. + + - `type: optional "system_actor"` + + default: system_actor + + - `service: optional string or null` + + Name of the automated process that performed the action, when known. + + - `AdminAPIKeyActor object` + + - `type: optional "admin_api_key_actor"` + + default: admin_api_key_actor + + - `admin_api_key_id: string` + + - `ip_address: string` + + - `user_agent: string` + + - `ServiceAccountActor object` + + - `type: optional "service_account_actor"` + + default: service_account_actor + + - `ip_address: string` + + - `service_account_id: string` + + - `user_agent: string` + + - `ScimDirectorySyncActor object` + + - `type: optional "scim_directory_sync_actor"` + + default: scim_directory_sync_actor + + - `directory_id: string` + + - `workos_event_id: string` + + - `idp_connection_type: optional string or null` + + - `FederatedIdentityActor object` + + A federated external workload authenticated via a verified OIDC token. + + Carries the verified issuer, subject, and audience claims from the + presented JWT. + + - `type: optional "federated_identity_actor"` + + default: federated_identity_actor + + - `issuer: string` + + - `subject: string` + + - `audience: optional array of string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `FederatedActor object` + + An external identity asserted by a trusted provider — a cloud-provider + gateway or a customer-registered federation issuer — acting without an + Anthropic-provisioned account or service account. + + - `type: optional "federated_actor"` + + default: federated_actor + + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` + + - `FederatedActorAwsProvider object` + + Asserting party: the AWS account the organization is bound to. + + - `type: optional "aws"` + + default: aws + + - `account_id: string` + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that requested the token. + + - `FederatedActorAzureProvider object` + + Asserting party: the Azure subscription the organization is bound to. + + - `type: optional "azure"` + + default: azure + + - `subscription_id: string` + + - `FederatedActorGcpProvider object` + + Asserting party: the GCP project the organization is bound to. + + - `type: optional "gcp"` + + default: gcp + + - `project_number: string` + + - `FederatedActorOidcProvider object` + + Asserting party: a customer-registered OIDC federation issuer. + + - `type: optional "oidc"` + + default: oidc + + - `issuer: optional string or null` + + The federation issuer's URL. Null when the presented credential failed verification. + + - `ip_address: optional string or null` + + - `subject: optional string or null` + + The provider's verified identifier for the caller; its form depends on the provider. + + - `user_agent: optional string or null` + + - `AttestedDeviceActor object` + + An attested mobile device authenticated via Apple App Attest. + + - `type: optional "attested_device_actor"` + + default: attested_device_actor + + - `external_client_id: string` + + - `kid_hash: string` + + - `ip_address: optional string or null` + + - `user_agent: optional string or null` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `billing_address_updated: optional boolean or null` + + Whether the billing address was updated. + + - `billing_name_updated: optional boolean or null` + + Whether the billing name was updated. + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `organization_id: optional string or null` + + Organization ID this activity is associated with + + - `organization_uuid: optional string or null` + + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + + - `shipping_address_updated: optional boolean or null` + + Whether the shipping address was updated. + + - `shipping_name_updated: optional boolean or null` + + Whether the shipping name was updated. + + - `OrganizationIconDeleted object` + + Organization's custom icon deleted. + + - `type: optional "organization_icon_deleted"` + + default: organization_icon_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -93279,7 +95433,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `updates: array of Name or Capabilities or RedactContent or 105 more` + - `updates: array of Name or Capabilities or RedactContent or 107 more` - `Name object` @@ -95214,6 +97368,38 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change. Null means the organization had never opted in or out. + - `ArtifactOrganizationWideSharingEnabled object` + + The artifact organization-wide sharing setting was changed for the organization. + + - `type: optional "artifact_organization_wide_sharing_enabled"` + + default: artifact_organization_wide_sharing_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + + - `ArtifactOutsideOrganizationInvitesEnabled object` + + The setting that allows email invitations to an artifact for people outside the organization was changed for the organization. + + - `type: optional "artifact_outside_organization_invites_enabled"` + + default: artifact_outside_organization_invites_enabled + + - `current_value: optional boolean or null` + + Setting value immediately after this change + + - `previous_value: optional boolean or null` + + Setting value immediately before this change. Null means the setting had not been set for the organization, so the plan default applied. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' diff --git a/content/en/api/compliance/apps.md b/content/en/api/compliance/apps.md index 578d017063..250d350deb 100644 --- a/content/en/api/compliance/apps.md +++ b/content/en/api/compliance/apps.md @@ -3188,7 +3188,7 @@ malformed session identifier returns 400. - `sent_by_user_id: string or null` - Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. + Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. Can also be null on an agent-owned session, where several people may take part, when the turn cannot be attributed to one human account (for example, no sender was recorded). - `next_page: string or null` diff --git a/content/en/api/compliance/apps/sessions.md b/content/en/api/compliance/apps/sessions.md index 40797f1f51..e94992ee53 100644 --- a/content/en/api/compliance/apps/sessions.md +++ b/content/en/api/compliance/apps/sessions.md @@ -986,7 +986,7 @@ malformed session identifier returns 400. - `sent_by_user_id: string or null` - Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. + Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. Can also be null on an agent-owned session, where several people may take part, when the turn cannot be attributed to one human account (for example, no sender was recorded). - `next_page: string or null` diff --git a/content/en/api/compliance/apps/sessions/remote.md b/content/en/api/compliance/apps/sessions/remote.md index 2f4727108b..6a45fb4545 100644 --- a/content/en/api/compliance/apps/sessions/remote.md +++ b/content/en/api/compliance/apps/sessions/remote.md @@ -453,7 +453,7 @@ malformed session identifier returns 400. - `sent_by_user_id: string or null` - Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. + Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. Can also be null on an agent-owned session, where several people may take part, when the turn cannot be attributed to one human account (for example, no sender was recorded). - `next_page: string or null` diff --git a/content/en/api/compliance/apps/sessions/remote/messages.md b/content/en/api/compliance/apps/sessions/remote/messages.md index db2f3dc6a3..adeafa74da 100644 --- a/content/en/api/compliance/apps/sessions/remote/messages.md +++ b/content/en/api/compliance/apps/sessions/remote/messages.md @@ -198,7 +198,7 @@ malformed session identifier returns 400. - `sent_by_user_id: string or null` - Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. + Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. Can also be null on an agent-owned session, where several people may take part, when the turn cannot be attributed to one human account (for example, no sender was recorded). - `next_page: string or null` @@ -441,4 +441,4 @@ curl https://api.anthropic.com/v1/compliance/apps/sessions/remote/$CLAUDE_REMOTE - `sent_by_user_id: string or null` - Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. + Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. Can also be null on an agent-owned session, where several people may take part, when the turn cannot be attributed to one human account (for example, no sender was recorded). diff --git a/content/en/api/compliance/apps/sessions/remote/messages/list.md b/content/en/api/compliance/apps/sessions/remote/messages/list.md index 53c340c69c..417f6e4f26 100644 --- a/content/en/api/compliance/apps/sessions/remote/messages/list.md +++ b/content/en/api/compliance/apps/sessions/remote/messages/list.md @@ -196,7 +196,7 @@ malformed session identifier returns 400. - `sent_by_user_id: string or null` - Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. + Identifier of the human account that sent this turn on an agent-owned session. Null on user-owned sessions, where every user-role turn was sent by the session's `user`. Can also be null on an agent-owned session, where several people may take part, when the turn cannot be attributed to one human account (for example, no sender was recorded). - `next_page: string or null` diff --git a/content/en/api/csharp/beta.md b/content/en/api/csharp/beta.md index e3b737c90a..f66d104ac3 100644 --- a/content/en/api/csharp/beta.md +++ b/content/en/api/csharp/beta.md @@ -373,6 +373,10 @@ The Models API response can be used to determine which models are available for - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -702,7 +706,7 @@ await foreach (var item in page.Paginate()) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -841,6 +845,10 @@ The Models API response can be used to determine information about a specific mo - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1166,7 +1174,7 @@ Console.WriteLine(betaModelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -4823,6 +4831,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=csharp#configuring-thinking) for each model's behavior. + - `BetaMessageThreadParam? thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `BetaToolChoice toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -5080,6 +5092,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -13000,6 +13016,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -17027,6 +17047,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `BetaMessageThreadParam? Thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonElement Type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonElement Type = "continue"` + + - `required string PreviousMessageID` + + The `id` of the previous response in this Thread. + - `BetaToolChoice ToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -17338,6 +17378,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -17590,6 +17634,7 @@ BatchCreateParams parameters = new() }, Display = Messages::Display.Summarized, }, + Thread = new Messages::BetaThreadCreateParams(), ToolChoice = new Messages::BetaToolChoiceAuto() { DisableParallelToolUse = true @@ -17789,6 +17834,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18067,6 +18116,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18344,6 +18397,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18612,6 +18669,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18782,6 +18843,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23563,6 +23628,10 @@ Create Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -24620,6 +24689,10 @@ List Agents - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -25664,6 +25737,10 @@ Get Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27544,6 +27621,10 @@ Update Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28578,6 +28659,10 @@ Archive Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29624,6 +29709,10 @@ List Agent Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30777,6 +30866,10 @@ Create a new environment with the specified configuration. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31109,6 +31202,10 @@ List environments with pagination support. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31436,6 +31533,10 @@ Retrieve a specific environment by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31873,6 +31974,10 @@ Update an existing environment's configuration. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32196,6 +32301,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32363,6 +32472,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32692,6 +32805,10 @@ Retrieve detailed information about a specific work item. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32956,6 +33073,10 @@ Long poll for work items in the queue. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string anthropicWorkerID` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -33207,6 +33328,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -33463,6 +33588,10 @@ Record a heartbeat for a work item to maintain the lease. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -33658,6 +33787,10 @@ Stop a work item, initiating graceful or forced shutdown. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33920,6 +34053,10 @@ List work items in an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -34178,6 +34315,10 @@ Update work item metadata with merge semantics. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34430,6 +34571,10 @@ Get statistics about the work queue for an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35792,6 +35937,10 @@ Create Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37359,6 +37508,10 @@ List Sessions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -38848,6 +39001,10 @@ Get Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -40354,6 +40511,10 @@ Update Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -41838,6 +41999,10 @@ Delete Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -42001,6 +42166,10 @@ Archive Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43613,6 +43782,10 @@ List Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -47077,6 +47250,10 @@ Send Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -47704,6 +47881,10 @@ Stream Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -50855,6 +51036,10 @@ Add Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51049,6 +51234,10 @@ List Session Resources - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51333,6 +51522,10 @@ Get Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51611,6 +51804,10 @@ Update Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51884,6 +52081,10 @@ Delete Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52074,6 +52275,10 @@ List Session Threads - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53156,6 +53361,10 @@ Get Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -54232,6 +54441,10 @@ Archive Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -55316,6 +55529,10 @@ List Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -58429,6 +58646,10 @@ Stream Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -61937,6 +62158,10 @@ Create Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -62712,6 +62937,10 @@ List Deployments - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -63449,6 +63678,10 @@ Get Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -64554,6 +64787,10 @@ Update Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -65287,6 +65524,10 @@ Archive Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66020,6 +66261,10 @@ Run Deployment Now - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66415,6 +66660,10 @@ Pause Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67148,6 +67397,10 @@ Unpause Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67925,6 +68178,10 @@ List Deployment Runs - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68324,6 +68581,10 @@ Get Deployment Run - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68727,6 +68988,10 @@ Create a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68934,6 +69199,10 @@ List Vaults - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69138,6 +69407,10 @@ Retrieve a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69348,6 +69621,10 @@ Update a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69548,6 +69825,10 @@ Delete a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69715,6 +69996,10 @@ Archive a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70093,6 +70378,10 @@ Create a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70435,6 +70724,10 @@ List Credentials - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70769,6 +71062,10 @@ Retrieve a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71237,6 +71534,10 @@ Update a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71565,6 +71866,10 @@ Delete a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71737,6 +72042,10 @@ Archive a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72065,6 +72374,10 @@ Validate an MCP OAuth Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72363,6 +72676,10 @@ Create a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72595,6 +72912,10 @@ List Memory Stores - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72810,6 +73131,10 @@ Retrieve a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73045,6 +73370,10 @@ Update a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73260,6 +73589,10 @@ Delete a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73429,6 +73762,10 @@ Archive a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73664,6 +74001,10 @@ Create a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73925,6 +74266,10 @@ List Memories - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74182,6 +74527,10 @@ Retrieve a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74438,6 +74787,10 @@ Update a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74676,6 +75029,10 @@ Delete a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74902,6 +75259,10 @@ List Memory Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75229,6 +75590,10 @@ Retrieve a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75544,6 +75909,10 @@ Redact a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75865,6 +76234,10 @@ Upload File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76109,6 +76482,10 @@ List Files - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76340,6 +76717,10 @@ Download File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76483,6 +76864,10 @@ Get File Metadata - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76707,6 +77092,10 @@ Delete File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76883,6 +77272,10 @@ Create Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77136,6 +77529,10 @@ List Skills - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77372,6 +77769,10 @@ Get Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77601,6 +78002,10 @@ Delete Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77779,6 +78184,10 @@ Create Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77997,6 +78406,10 @@ List Skill Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78208,6 +78621,10 @@ Download a skill version's content as a zip archive. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78363,6 +78780,10 @@ Get Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78571,6 +78992,10 @@ Delete Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78778,6 +79203,10 @@ Create User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79109,6 +79538,10 @@ List User Profiles - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79415,6 +79848,10 @@ Get User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79755,6 +80192,10 @@ Update User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80057,6 +80498,10 @@ Delete User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80224,6 +80669,10 @@ Create Enrollment URL - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80406,6 +80855,10 @@ Create Action URL - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80665,6 +81118,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81145,6 +81602,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81567,6 +82028,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81982,6 +82447,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82397,6 +82866,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82814,6 +83287,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83004,6 +83481,10 @@ Fetches a tunnel by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83204,6 +83685,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83401,6 +83886,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83591,6 +84080,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83768,6 +84261,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83947,6 +84444,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84152,6 +84653,10 @@ Fetches a tunnel certificate by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84367,6 +84872,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84575,6 +85084,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86344,6 +86857,10 @@ matched as the JWT's `iss` claim and is not fetched. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -86666,6 +87183,10 @@ Archived issuers are excluded unless `include_archived=true`. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -86979,6 +87500,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -87371,6 +87896,10 @@ session. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -87685,6 +88214,10 @@ issuer cannot be changed), or recreate them against another issuer. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -88054,6 +88587,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -88401,6 +88938,10 @@ unless `include_archived=true`. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -88720,6 +89261,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -89095,6 +89640,10 @@ Console session. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -89415,6 +89964,10 @@ other scopes require a Console session. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -89745,6 +90298,10 @@ other scopes require a Console session. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRuleWorkspace` @@ -89945,6 +90502,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRuleWorkspace` @@ -90144,6 +90705,10 @@ Console session. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class WorkspaceRemoveResponse` @@ -90827,6 +91392,10 @@ accounts. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccount` @@ -91059,6 +91628,10 @@ archived service accounts. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccount` @@ -91284,245 +91857,253 @@ Retrieve a service account by its ID (`svac_...`). - `Webhooks2026_10_07("webhooks-2026-10-07")` -#### Returns - -- `class BetaServiceAccount` - - Named non-human identity within the caller's organization. - - A service account is a pure identity: name + org. Authorization lives on - whatever references it (federation rules). - - - `JsonElement Type = "service_account"` - - - `required string ID` - - Tagged ID of the service account. - - - `required DateTimeOffset? ArchivedAt` - - If set, this service account is archived. - - format: date-time - - - `required string? ArchivedByActorID` - - Tagged ID (`user_`/`svac_`) of the actor that archived this service account. - - - `required DateTimeOffset CreatedAt` - - When this service account was created. - - format: date-time - - - `required string? CreatedByActorID` - - Tagged ID (`user_`/`svac_`) of the actor that created this service account. - - - `required string? Description` - - Optional free-text description. - - - `required string Name` - - Admin-chosen slug identifier. - - - `required OrganizationRole OrganizationRole` - - Org-level role. A federation rule may only be created or retargeted to grant `org:admin` scope when this is `admin`. A rule granting `org:admin` whose target is later demoted to `developer` is rejected at token exchange. Rules granting `org:admin` are managed in the Console. - - - `Admin("admin")` - - - `Developer("developer")` - - - `required DateTimeOffset UpdatedAt` - - When this service account was last updated. - - format: date-time - - - `required string? UpdatedByActorID` - - Tagged ID (`user_`/`svac_`) of the actor that last updated this service account. - -#### Example - -```csharp -using System; -using Anthropic.Models.Beta.Organization.ServiceAccounts; - -ServiceAccountRetrieveParams parameters = new() -{ - ServiceAccountID = "service_account_id" -}; - -var betaServiceAccount = await client.Beta.Organization.ServiceAccounts.Retrieve(parameters); - -Console.WriteLine(betaServiceAccount); -``` - -##### Response (200) - -```json -{ - "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", - "archived_at": "2019-12-27T18:11:19.117Z", - "archived_by_actor_id": "archived_by_actor_id", - "created_at": "2024-10-30T23:58:27.427722Z", - "created_by_actor_id": "created_by_actor_id", - "description": "description", - "name": "ci-deploy-bot", - "organization_role": "admin", - "type": "service_account", - "updated_at": "2024-10-30T23:58:27.427722Z", - "updated_by_actor_id": "updated_by_actor_id" -} -``` - -### Update Service Account - -`BetaServiceAccount Beta.Organization.ServiceAccounts.Update(parameters, cancellationToken = default)` - -**POST** `/v1/organizations/service_accounts/{service_account_id}` - -**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=csharp). - -Update a service account. - -Only `description` and `organization_role` are mutable; `name` cannot be -changed. Archived service accounts cannot be updated; this returns 400. -Setting `organization_role` to `admin` (even when unchanged) requires an -interactive credential (a user OAuth token or a Console session). - -#### Parameters - -- `ServiceAccountUpdateParams parameters` - - - `required string serviceAccountID` (path parameter) - - ID of the service account to update. - - - `string? description` - - Replaces the description. Omit to leave unchanged; send `null` to clear (the field is stored as an empty string). - - maxLength: 2000 - - - `OrganizationRole? organizationRole` - - Replaces the org-level role. Omit or send `null` to leave unchanged. - - - `Admin("admin")` - - - `Developer("developer")` - - - `IReadOnlyList betas` (header parameter) - - Optional header to specify the beta version(s) you want to use. - - - `MessageBatches2024_09_24("message-batches-2024-09-24")` - - - `PromptCaching2024_07_31("prompt-caching-2024-07-31")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` - - `ComputerUse2024_10_22("computer-use-2024-10-22")` - - - `ComputerUse2025_01_24("computer-use-2025-01-24")` - - - `Pdfs2024_09_25("pdfs-2024-09-25")` - - - `TokenCounting2024_11_01("token-counting-2024-11-01")` - - - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")` - - - `Output128k2025_02_19("output-128k-2025-02-19")` - - - `FilesApi2025_04_14("files-api-2025-04-14")` - - - `McpClient2025_04_04("mcp-client-2025-04-04")` - - - `McpClient2025_11_20("mcp-client-2025-11-20")` - - - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")` - - - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")` - - - `CodeExecution2025_05_22("code-execution-2025-05-22")` - - - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")` - - - `Context1m2025_08_07("context-1m-2025-08-07")` - - - `ContextManagement2025_06_27("context-management-2025-06-27")` - - - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")` - - - `Skills2025_10_02("skills-2025-10-02")` - - - `FastMode2026_02_01("fast-mode-2026-02-01")` - - - `Output300k2026_03_24("output-300k-2026-03-24")` - - - `UserProfiles2026_03_24("user-profiles-2026-03-24")` - - - `UserProfiles2026_08_18("user-profiles-2026-08-18")` - - - `UserProfiles2026_09_04("user-profiles-2026-09-04")` - - - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")` - - - `ManagedAgents2026_04_01("managed-agents-2026-04-01")` - - - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")` - - - `Dreaming2026_04_21("dreaming-2026-04-21")` - - - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")` - - - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")` - - - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")` - - - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")` - - - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")` - - - `AgentMemory2026_07_22("agent-memory-2026-07-22")` - - - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")` - - - `Compact2026_01_12("compact-2026-01-12")` - - - `ComputerUse2025_11_24("computer-use-2025-11-24")` - - - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")` - - - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")` - - - `TaskBudgets2026_03_13("task-budgets-2026-03-13")` - - - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")` - - - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")` - - - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")` - - - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")` - - - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")` - - - `Compact2026_09_04("compact-2026-09-04")` - - - `InlineTools2026_09_15("inline-tools-2026-09-15")` - - - `McpClient2026_09_15("mcp-client-2026-09-15")` - - - `CEPlugins2026_09_01("ce-plugins-2026-09-01")` - - - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")` - - - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")` - - - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + +#### Returns + +- `class BetaServiceAccount` + + Named non-human identity within the caller's organization. + + A service account is a pure identity: name + org. Authorization lives on + whatever references it (federation rules). + + - `JsonElement Type = "service_account"` + + - `required string ID` + + Tagged ID of the service account. + + - `required DateTimeOffset? ArchivedAt` + + If set, this service account is archived. + + format: date-time + + - `required string? ArchivedByActorID` + + Tagged ID (`user_`/`svac_`) of the actor that archived this service account. + + - `required DateTimeOffset CreatedAt` + + When this service account was created. + + format: date-time + + - `required string? CreatedByActorID` + + Tagged ID (`user_`/`svac_`) of the actor that created this service account. + + - `required string? Description` + + Optional free-text description. + + - `required string Name` + + Admin-chosen slug identifier. + + - `required OrganizationRole OrganizationRole` + + Org-level role. A federation rule may only be created or retargeted to grant `org:admin` scope when this is `admin`. A rule granting `org:admin` whose target is later demoted to `developer` is rejected at token exchange. Rules granting `org:admin` are managed in the Console. + + - `Admin("admin")` + + - `Developer("developer")` + + - `required DateTimeOffset UpdatedAt` + + When this service account was last updated. + + format: date-time + + - `required string? UpdatedByActorID` + + Tagged ID (`user_`/`svac_`) of the actor that last updated this service account. + +#### Example + +```csharp +using System; +using Anthropic.Models.Beta.Organization.ServiceAccounts; + +ServiceAccountRetrieveParams parameters = new() +{ + ServiceAccountID = "service_account_id" +}; + +var betaServiceAccount = await client.Beta.Organization.ServiceAccounts.Retrieve(parameters); + +Console.WriteLine(betaServiceAccount); +``` + +##### Response (200) + +```json +{ + "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", + "archived_at": "2019-12-27T18:11:19.117Z", + "archived_by_actor_id": "archived_by_actor_id", + "created_at": "2024-10-30T23:58:27.427722Z", + "created_by_actor_id": "created_by_actor_id", + "description": "description", + "name": "ci-deploy-bot", + "organization_role": "admin", + "type": "service_account", + "updated_at": "2024-10-30T23:58:27.427722Z", + "updated_by_actor_id": "updated_by_actor_id" +} +``` + +### Update Service Account + +`BetaServiceAccount Beta.Organization.ServiceAccounts.Update(parameters, cancellationToken = default)` + +**POST** `/v1/organizations/service_accounts/{service_account_id}` + +**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=csharp). + +Update a service account. + +Only `description` and `organization_role` are mutable; `name` cannot be +changed. Archived service accounts cannot be updated; this returns 400. +Setting `organization_role` to `admin` (even when unchanged) requires an +interactive credential (a user OAuth token or a Console session). + +#### Parameters + +- `ServiceAccountUpdateParams parameters` + + - `required string serviceAccountID` (path parameter) + + ID of the service account to update. + + - `string? description` + + Replaces the description. Omit to leave unchanged; send `null` to clear (the field is stored as an empty string). + + maxLength: 2000 + + - `OrganizationRole? organizationRole` + + Replaces the org-level role. Omit or send `null` to leave unchanged. + + - `Admin("admin")` + + - `Developer("developer")` + + - `IReadOnlyList betas` (header parameter) + + Optional header to specify the beta version(s) you want to use. + + - `MessageBatches2024_09_24("message-batches-2024-09-24")` + + - `PromptCaching2024_07_31("prompt-caching-2024-07-31")` + + - `ComputerUse2024_10_22("computer-use-2024-10-22")` + + - `ComputerUse2025_01_24("computer-use-2025-01-24")` + + - `Pdfs2024_09_25("pdfs-2024-09-25")` + + - `TokenCounting2024_11_01("token-counting-2024-11-01")` + + - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")` + + - `Output128k2025_02_19("output-128k-2025-02-19")` + + - `FilesApi2025_04_14("files-api-2025-04-14")` + + - `McpClient2025_04_04("mcp-client-2025-04-04")` + + - `McpClient2025_11_20("mcp-client-2025-11-20")` + + - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")` + + - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")` + + - `CodeExecution2025_05_22("code-execution-2025-05-22")` + + - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")` + + - `Context1m2025_08_07("context-1m-2025-08-07")` + + - `ContextManagement2025_06_27("context-management-2025-06-27")` + + - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `Skills2025_10_02("skills-2025-10-02")` + + - `FastMode2026_02_01("fast-mode-2026-02-01")` + + - `Output300k2026_03_24("output-300k-2026-03-24")` + + - `UserProfiles2026_03_24("user-profiles-2026-03-24")` + + - `UserProfiles2026_08_18("user-profiles-2026-08-18")` + + - `UserProfiles2026_09_04("user-profiles-2026-09-04")` + + - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")` + + - `ManagedAgents2026_04_01("managed-agents-2026-04-01")` + + - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")` + + - `Dreaming2026_04_21("dreaming-2026-04-21")` + + - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")` + + - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")` + + - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")` + + - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")` + + - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")` + + - `AgentMemory2026_07_22("agent-memory-2026-07-22")` + + - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `Compact2026_01_12("compact-2026-01-12")` + + - `ComputerUse2025_11_24("computer-use-2025-11-24")` + + - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")` + + - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")` + + - `TaskBudgets2026_03_13("task-budgets-2026-03-13")` + + - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")` + + - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")` + + - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `Compact2026_09_04("compact-2026-09-04")` + + - `InlineTools2026_09_15("inline-tools-2026-09-15")` + + - `McpClient2026_09_15("mcp-client-2026-09-15")` + + - `CEPlugins2026_09_01("ce-plugins-2026-09-01")` + + - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")` + + - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")` + + - `Webhooks2026_10_07("webhooks-2026-10-07")` + + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` #### Returns @@ -91750,6 +92331,10 @@ those rules first or change their target to another service account. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccount` @@ -91988,6 +92573,10 @@ rejected. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -92206,6 +92795,10 @@ page to recover. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -92416,6 +93009,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class WorkspaceRemoveResponse` @@ -93172,6 +93769,10 @@ Create Workspace - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaWorkspace` @@ -94800,6 +95401,10 @@ omitted from the results. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -95012,6 +95617,10 @@ accounts cannot be added and are rejected. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -95217,6 +95826,10 @@ account returns 404. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -95424,6 +96037,10 @@ rejected. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -95628,6 +96245,10 @@ membership. Archived workspaces return 400. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class ServiceAccountRemoveResponse` @@ -98036,24 +98657,27 @@ await foreach (var item in page.Paginate()) } ``` -## Beta › Organization › Analytics › Usage Report +## Beta › Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -`UsageReportListPage Beta.Organization.Analytics.UsageReport.List(parameters, cancellationToken = default)` +`UsageListPage Beta.Organization.Analytics.Usage.List(parameters, cancellationToken = default)` -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Parameters -- `UsageReportListParams parameters` +- `UsageListParams parameters` - `required DateTimeOffset startingAt` (query parameter) @@ -98061,19 +98685,41 @@ key with the `read:analytics` scope. format: date-time - - `BucketWidth bucketWidth` (query parameter) + - `IReadOnlyList? actorIds` (query parameter) - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - - `Day("1d")` + maxItems: 100 - - `Hour("1h")` + - `IReadOnlyList? actorTypes` (query parameter) - - `Minute("1m")` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `ApiActor("api_actor")` + + - `FederatedActor("federated_actor")` + + - `ServiceAccountActor("service_account_actor")` + + - `UserActor("user_actor")` + + - `IReadOnlyList? agentIds` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `IReadOnlyList? apiKeyIds` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `IReadOnlyList? claudeTagCategories` (query parameter) - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -98103,24 +98749,52 @@ key with the `read:analytics` scope. - `From200kTo1M("200k-1M")` + - `IReadOnlyList? deploymentIds` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `DateTimeOffset? endingAt` (query parameter) - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time - - `IReadOnlyList? groupBy` (query parameter) + - `IReadOnlyList? environmentIds` (query parameter) - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. maxItems: 100 + - `bool excludeDeletedUsers` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + - `IReadOnlyList? groupBy` (query parameter) + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `Actor("actor")` + + - `ActorType("actor_type")` + + - `AgentID("agent_id")` + + - `ApiKeyID("api_key_id")` + - `ClaudeTagCategory("claude_tag_category")` - `ClaudeTagUserID("claude_tag_user_id")` - `ContextWindow("context_window")` + - `DeploymentID("deployment_id")` + + - `EnvironmentID("environment_id")` + - `InferenceGeo("inference_geo")` - `Model("model")` @@ -98129,10 +98803,18 @@ key with the `read:analytics` scope. - `RbacGroupID("rbac_group_id")` + - `ServiceTier("service_tier")` + + - `SessionID("session_id")` + - `SlackChannelID("slack_channel_id")` - `Speed("speed")` + - `UserProfileID("user_profile_id")` + + - `WorkspaceID("workspace_id")` + - `IReadOnlyList? inferenceGeos` (query parameter) Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -98145,11 +98827,11 @@ key with the `read:analytics` scope. - `Us("us")` - - `long? limit` (query parameter) + - `long limit` (query parameter) - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + minimum: 1, maximum: 1000 - `IReadOnlyList? models` (query parameter) @@ -98157,13 +98839,21 @@ key with the `read:analytics` scope. maxItems: 100 + - `BetaAnalyticsUsageCostSortOrder order` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `BetaAnalyticsUsageOrderBy orderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + - `string? page` (query parameter) Opaque cursor from a previous response's `next_page` field. - - `IReadOnlyList? products` (query parameter) + - `IReadOnlyList? products` (query parameter) - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 @@ -98171,16 +98861,24 @@ key with the `read:analytics` scope. - `ChatCoworkUnified("chat_cowork_unified")` - - `ClaudeTag("claude-tag")` - - `ClaudeCode("claude_code")` + - `ClaudeConsole("claude_console")` + - `ClaudeDesign("claude_design")` - `ClaudeInChrome("claude_in_chrome")` + - `ClaudeTag("claude_tag")` + - `Cowork("cowork")` + - `ManagedAgentsApi("managed_agents_api")` + + - `MessageBatchesApi("message_batches_api")` + + - `MessagesApi("messages_api")` + - `OfficeAgent("office_agent")` - `IReadOnlyList? rbacGroupIds` (query parameter) @@ -98189,13 +98887,37 @@ key with the `read:analytics` scope. maxItems: 100 + - `IReadOnlyList? serviceTiers` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `Batch("batch")` + + - `Flex("flex")` + + - `FlexDiscount("flex_discount")` + + - `Priority("priority")` + + - `PriorityOnDemand("priority_on_demand")` + + - `Standard("standard")` + + - `IReadOnlyList? sessionIds` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `IReadOnlyList? slackChannelIds` (query parameter) Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 - - `IReadOnlyList? speeds` (query parameter) + - `IReadOnlyList? speeds` (query parameter) Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -98205,49 +98927,1433 @@ key with the `read:analytics` scope. - `Standard("standard")` - - `IReadOnlyList? userIds` (query parameter) + - `BetaAnalyticsTimeBucketWidth? timeBucketWidth` (query parameter) - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `IReadOnlyList? userProfileIds` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `IReadOnlyList? workspaceIds` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. maxItems: 100 + - `IReadOnlyList betas` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `MessageBatches2024_09_24("message-batches-2024-09-24")` + + - `PromptCaching2024_07_31("prompt-caching-2024-07-31")` + + - `ComputerUse2024_10_22("computer-use-2024-10-22")` + + - `ComputerUse2025_01_24("computer-use-2025-01-24")` + + - `Pdfs2024_09_25("pdfs-2024-09-25")` + + - `TokenCounting2024_11_01("token-counting-2024-11-01")` + + - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")` + + - `Output128k2025_02_19("output-128k-2025-02-19")` + + - `FilesApi2025_04_14("files-api-2025-04-14")` + + - `McpClient2025_04_04("mcp-client-2025-04-04")` + + - `McpClient2025_11_20("mcp-client-2025-11-20")` + + - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")` + + - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")` + + - `CodeExecution2025_05_22("code-execution-2025-05-22")` + + - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")` + + - `Context1m2025_08_07("context-1m-2025-08-07")` + + - `ContextManagement2025_06_27("context-management-2025-06-27")` + + - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `Skills2025_10_02("skills-2025-10-02")` + + - `FastMode2026_02_01("fast-mode-2026-02-01")` + + - `Output300k2026_03_24("output-300k-2026-03-24")` + + - `UserProfiles2026_03_24("user-profiles-2026-03-24")` + + - `UserProfiles2026_08_18("user-profiles-2026-08-18")` + + - `UserProfiles2026_09_04("user-profiles-2026-09-04")` + + - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")` + + - `ManagedAgents2026_04_01("managed-agents-2026-04-01")` + + - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")` + + - `Dreaming2026_04_21("dreaming-2026-04-21")` + + - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")` + + - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")` + + - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")` + + - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")` + + - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")` + + - `AgentMemory2026_07_22("agent-memory-2026-07-22")` + + - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `Compact2026_01_12("compact-2026-01-12")` + + - `ComputerUse2025_11_24("computer-use-2025-11-24")` + + - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")` + + - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")` + + - `TaskBudgets2026_03_13("task-budgets-2026-03-13")` + + - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")` + + - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")` + + - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `Compact2026_09_04("compact-2026-09-04")` + + - `InlineTools2026_09_15("inline-tools-2026-09-15")` + + - `McpClient2026_09_15("mcp-client-2026-09-15")` + + - `CEPlugins2026_09_01("ce-plugins-2026-09-01")` + + - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")` + + - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")` + + - `Webhooks2026_10_07("webhooks-2026-10-07")` + + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns -- `class BetaAnalyticsUsageReportTimeBucket` +- `class BetaAnalyticsUsageItem` - `required DateTimeOffset EndingAt` - End of the time bucket (exclusive) in RFC 3339 format. + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `required IReadOnlyList Results` + - `required BetaAnalyticsUsageGroup Group` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + The dimension values this row's usage is broken out by. - - `required BetaCacheCreation CacheCreation` + - `required BetaAnalyticsActor? Actor` - The number of input tokens for cache creation. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `required long Ephemeral1hInputTokens` + - `class BetaAnalyticsReportUserActor` - The number of input tokens used to create the 1 hour cache entry. + - `JsonElement Type = "user_actor"` - minimum: 0 + Actor type. Always `"user_actor"`. - - `required long Ephemeral5mInputTokens` + - `required bool Deleted` - The number of input tokens used to create the 5 minute cache entry. + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - minimum: 0 + - `required string? EmailAddress` - - `required long CacheReadInputTokens` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - The number of input tokens read from the cache. + - `required string? Name` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `required string UserID` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `JsonElement Type = "service_account_actor"` + + - `required string ServiceAccountID` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `JsonElement Type = "federated_actor"` + + - `required BetaAnalyticsFederatedActorProvider Provider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAwsProvider` + + - `JsonElement Type = "aws"` + + - `required string AccountID` + + The AWS account the organization is bound to. + + - `required string SignedPrincipal` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `JsonElement Type = "azure"` + + - `required string SubscriptionID` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGcpProvider` + + - `JsonElement Type = "gcp"` + + - `required string ProjectNumber` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOidcProvider` + + - `JsonElement Type = "oidc"` + + - `required string? Issuer` + + The federation issuer's URL. + + - `required string? Subject` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsApiActor` + + - `JsonElement Type = "api_actor"` + + - `required string ApiKeyID` + + Tagged API key ID. + + - `required BetaAnalyticsActorType? ActorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `ApiActor("api_actor")` + + - `FederatedActor("federated_actor")` + + - `ServiceAccountActor("service_account_actor")` + + - `UserActor("user_actor")` + + - `required string? AgentID` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `required string? ApiKeyID` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - `required BetaAnalyticsClaudeTagCategory? ClaudeTagCategory` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `Dm("dm")` + + - `Engaged("engaged")` + + - `Monitoring("monitoring")` + + - `Proactive("proactive")` + + - `Scheduled("scheduled")` + + - `required string? ClaudeTagUserID` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `required BetaAnalyticsContextWindow? ContextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `From0To200k("0-200k")` + + - `From200kTo1M("200k-1M")` + + - `required string? DeploymentID` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `required string? EnvironmentID` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `required BetaAnalyticsUsageCostInferenceGeo? InferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `Global("global")` + + - `Us("us")` + + - `required string? Model` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `required string? Product` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `required string? RbacGroupID` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `required BetaAnalyticsServiceTier? ServiceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `Batch("batch")` + + - `Flex("flex")` + + - `FlexDiscount("flex_discount")` + + - `Priority("priority")` + + - `PriorityOnDemand("priority_on_demand")` + + - `Standard("standard")` + + - `required string? SessionID` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `required string? SlackChannelID` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `required BetaAnalyticsSpeed? Speed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `Fast("fast")` + + - `Standard("standard")` + + - `required string? UserProfileID` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `required string? WorkspaceID` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `required DateTimeOffset StartingAt` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `required BetaAnalyticsUsageMetrics Usage` + + Token usage for this row. + + - `required BetaCacheCreation CacheCreation` + + The number of input tokens for cache creation. + + - `required long Ephemeral1hInputTokens` + + The number of input tokens used to create the 1 hour cache entry. + + minimum: 0 + + - `required long Ephemeral5mInputTokens` + + The number of input tokens used to create the 5 minute cache entry. + + minimum: 0 + + - `required long CacheReadInputTokens` + + The number of input tokens read from the cache. + + - `required long OutputTokens` + + The number of output tokens generated. + + - `required long? Requests` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `required BetaAnalyticsServerToolUse ServerToolUse` + + Server-side tool usage metrics. + + - `required long WebSearchRequests` + + The number of web search requests made. + + - `required long TotalTokens` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `required long UncachedInputTokens` + + The number of uncached input tokens processed. + +#### Example + +```csharp +using System; +using Anthropic.Models.Beta.Organization.Analytics.Usage; + +UsageListParams parameters = new() +{ + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z") +}; + +var page = await client.Beta.Organization.Analytics.Usage.List(parameters); +await foreach (var item in page.Paginate()) +{ + Console.WriteLine(item); +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`CostListPage Beta.Organization.Analytics.Cost.List(parameters, cancellationToken = default)` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `CostListParams parameters` + + - `required DateTimeOffset startingAt` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `IReadOnlyList? actorIds` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + + - `IReadOnlyList? actorTypes` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `ApiActor("api_actor")` + + - `FederatedActor("federated_actor")` + + - `ServiceAccountActor("service_account_actor")` + + - `UserActor("user_actor")` + + - `IReadOnlyList? agentIds` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `IReadOnlyList? apiKeyIds` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + + - `IReadOnlyList? claudeTagCategories` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `Dm("dm")` + + - `Engaged("engaged")` + + - `Monitoring("monitoring")` + + - `Proactive("proactive")` + + - `Scheduled("scheduled")` + + - `IReadOnlyList? claudeTagUserIds` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `IReadOnlyList? contextWindows` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `From0To200k("0-200k")` + + - `From200kTo1M("200k-1M")` + + - `IReadOnlyList? deploymentIds` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `DateTimeOffset? endingAt` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `IReadOnlyList? environmentIds` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `bool excludeDeletedUsers` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + - `IReadOnlyList? groupBy` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `Actor("actor")` + + - `ActorType("actor_type")` + + - `AgentID("agent_id")` + + - `ApiKeyID("api_key_id")` + + - `ClaudeTagCategory("claude_tag_category")` + + - `ClaudeTagUserID("claude_tag_user_id")` + + - `ContextWindow("context_window")` + + - `CostType("cost_type")` + + - `DeploymentID("deployment_id")` + + - `EnvironmentID("environment_id")` + + - `InferenceGeo("inference_geo")` + + - `Model("model")` + + - `Product("product")` + + - `RbacGroupID("rbac_group_id")` + + - `ServiceTier("service_tier")` + + - `SessionID("session_id")` + + - `SlackChannelID("slack_channel_id")` + + - `Speed("speed")` + + - `TokenType("token_type")` + + - `UserProfileID("user_profile_id")` + + - `WorkspaceID("workspace_id")` + + - `IReadOnlyList? inferenceGeos` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `Global("global")` + + - `NotAvailable("not_available")` + + - `Us("us")` + + - `long limit` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + + - `IReadOnlyList? models` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `BetaAnalyticsUsageCostSortOrder order` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `BetaAnalyticsCostOrderBy orderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `string? page` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `IReadOnlyList? products` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `Chat("chat")` + + - `ChatCoworkUnified("chat_cowork_unified")` + + - `ClaudeCode("claude_code")` + + - `ClaudeConsole("claude_console")` + + - `ClaudeDesign("claude_design")` + + - `ClaudeInChrome("claude_in_chrome")` + + - `ClaudeTag("claude_tag")` + + - `Cowork("cowork")` + + - `ManagedAgentsApi("managed_agents_api")` + + - `MessageBatchesApi("message_batches_api")` + + - `MessagesApi("messages_api")` + + - `OfficeAgent("office_agent")` + + - `IReadOnlyList? rbacGroupIds` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `IReadOnlyList? serviceTiers` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `Batch("batch")` + + - `Flex("flex")` + + - `FlexDiscount("flex_discount")` + + - `Priority("priority")` + + - `PriorityOnDemand("priority_on_demand")` + + - `Standard("standard")` + + - `IReadOnlyList? sessionIds` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `IReadOnlyList? slackChannelIds` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `IReadOnlyList? speeds` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `Fast("fast")` + + - `Standard("standard")` + + - `BetaAnalyticsTimeBucketWidth? timeBucketWidth` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `IReadOnlyList? userProfileIds` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `IReadOnlyList? workspaceIds` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `IReadOnlyList betas` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `MessageBatches2024_09_24("message-batches-2024-09-24")` + + - `PromptCaching2024_07_31("prompt-caching-2024-07-31")` + + - `ComputerUse2024_10_22("computer-use-2024-10-22")` + + - `ComputerUse2025_01_24("computer-use-2025-01-24")` + + - `Pdfs2024_09_25("pdfs-2024-09-25")` + + - `TokenCounting2024_11_01("token-counting-2024-11-01")` + + - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")` + + - `Output128k2025_02_19("output-128k-2025-02-19")` + + - `FilesApi2025_04_14("files-api-2025-04-14")` + + - `McpClient2025_04_04("mcp-client-2025-04-04")` + + - `McpClient2025_11_20("mcp-client-2025-11-20")` + + - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")` + + - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")` + + - `CodeExecution2025_05_22("code-execution-2025-05-22")` + + - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")` + + - `Context1m2025_08_07("context-1m-2025-08-07")` + + - `ContextManagement2025_06_27("context-management-2025-06-27")` + + - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `Skills2025_10_02("skills-2025-10-02")` + + - `FastMode2026_02_01("fast-mode-2026-02-01")` + + - `Output300k2026_03_24("output-300k-2026-03-24")` + + - `UserProfiles2026_03_24("user-profiles-2026-03-24")` + + - `UserProfiles2026_08_18("user-profiles-2026-08-18")` + + - `UserProfiles2026_09_04("user-profiles-2026-09-04")` + + - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")` + + - `ManagedAgents2026_04_01("managed-agents-2026-04-01")` + + - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")` + + - `Dreaming2026_04_21("dreaming-2026-04-21")` + + - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")` + + - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")` + + - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")` + + - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")` + + - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")` + + - `AgentMemory2026_07_22("agent-memory-2026-07-22")` + + - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `Compact2026_01_12("compact-2026-01-12")` + + - `ComputerUse2025_11_24("computer-use-2025-11-24")` + + - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")` + + - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")` + + - `TaskBudgets2026_03_13("task-budgets-2026-03-13")` + + - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")` + + - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")` + + - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `Compact2026_09_04("compact-2026-09-04")` + + - `InlineTools2026_09_15("inline-tools-2026-09-15")` + + - `McpClient2026_09_15("mcp-client-2026-09-15")` + + - `CEPlugins2026_09_01("ce-plugins-2026-09-01")` + + - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")` + + - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")` + + - `Webhooks2026_10_07("webhooks-2026-10-07")` + + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + +#### Returns + +- `class BetaAnalyticsCostItem` + + - `required BetaAnalyticsCostMetrics Cost` + + Cost for this row. + + - `required string Amount` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `required string Currency` + + Currency code for the cost amount. Currently always `"USD"`. + + - `required string ListAmount` + + List-price amount (pre-discount) in fractional cents. + + - `required long? Requests` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `required DateTimeOffset EndingAt` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `required BetaAnalyticsCostGroup Group` + + The dimension values this row's cost is broken out by. + + - `required BetaAnalyticsActor? Actor` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `class BetaAnalyticsReportUserActor` + + - `JsonElement Type = "user_actor"` + + Actor type. Always `"user_actor"`. + + - `required bool Deleted` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `required string? EmailAddress` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `required string? Name` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `required string UserID` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `JsonElement Type = "service_account_actor"` + + - `required string ServiceAccountID` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `JsonElement Type = "federated_actor"` + + - `required BetaAnalyticsFederatedActorProvider Provider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAwsProvider` + + - `JsonElement Type = "aws"` + + - `required string AccountID` + + The AWS account the organization is bound to. + + - `required string SignedPrincipal` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `JsonElement Type = "azure"` + + - `required string SubscriptionID` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGcpProvider` + + - `JsonElement Type = "gcp"` + + - `required string ProjectNumber` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOidcProvider` + + - `JsonElement Type = "oidc"` + + - `required string? Issuer` + + The federation issuer's URL. + + - `required string? Subject` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsApiActor` + + - `JsonElement Type = "api_actor"` + + - `required string ApiKeyID` + + Tagged API key ID. + + - `required BetaAnalyticsActorType? ActorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `ApiActor("api_actor")` + + - `FederatedActor("federated_actor")` + + - `ServiceAccountActor("service_account_actor")` + + - `UserActor("user_actor")` + + - `required string? AgentID` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `required string? ApiKeyID` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `required BetaAnalyticsClaudeTagCategory? ClaudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `Dm("dm")` + + - `Engaged("engaged")` + + - `Monitoring("monitoring")` + + - `Proactive("proactive")` + + - `Scheduled("scheduled")` + + - `required string? ClaudeTagUserID` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `required BetaAnalyticsContextWindow? ContextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `From0To200k("0-200k")` + + - `From200kTo1M("200k-1M")` + + - `required BetaAnalyticsGroupedCostType? CostType` + + Cost component breakdown; null when returning the combined total. + + - `CodeExecution("code_execution")` + + - `SessionUsage("session_usage")` + + - `Tokens("tokens")` + + - `WebSearch("web_search")` + + - `required string? DeploymentID` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `required string? EnvironmentID` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `required BetaAnalyticsUsageCostInferenceGeo? InferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `Global("global")` + + - `Us("us")` + + - `required string? Model` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `required string? Product` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `required string? RbacGroupID` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `required BetaAnalyticsServiceTier? ServiceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `Batch("batch")` + + - `Flex("flex")` + + - `FlexDiscount("flex_discount")` + + - `Priority("priority")` + + - `PriorityOnDemand("priority_on_demand")` + + - `Standard("standard")` + + - `required string? SessionID` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `required string? SlackChannelID` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `required BetaAnalyticsSpeed? Speed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `Fast("fast")` + + - `Standard("standard")` + + - `required BetaAnalyticsTokenType? TokenType` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `CacheCreationEphemeral1hInputTokens("cache_creation.ephemeral_1h_input_tokens")` + + - `CacheCreationEphemeral5mInputTokens("cache_creation.ephemeral_5m_input_tokens")` + + - `CacheReadInputTokens("cache_read_input_tokens")` + + - `OutputTokens("output_tokens")` + + - `UncachedInputTokens("uncached_input_tokens")` + + - `required string? UserProfileID` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `required string? WorkspaceID` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `required DateTimeOffset StartingAt` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +#### Example + +```csharp +using System; +using Anthropic.Models.Beta.Organization.Analytics.Cost; + +CostListParams parameters = new() +{ + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z") +}; + +var page = await client.Beta.Organization.Analytics.Cost.List(parameters); +await foreach (var item in page.Paginate()) +{ + Console.WriteLine(item); +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +`UsageReportListPage Beta.Organization.Analytics.UsageReport.List(parameters, cancellationToken = default)` + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=csharp) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=csharp#migrate-from-enterprise-analytics-reports). + +#### Parameters + +- `UsageReportListParams parameters` + + - `required DateTimeOffset startingAt` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `BucketWidth bucketWidth` (query parameter) + + Time bucket granularity. + + - `Day("1d")` + + - `Hour("1h")` + + - `Minute("1m")` + + - `IReadOnlyList? claudeTagCategories` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `Dm("dm")` + + - `Engaged("engaged")` + + - `Monitoring("monitoring")` + + - `Proactive("proactive")` + + - `Scheduled("scheduled")` + + - `IReadOnlyList? claudeTagUserIds` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `IReadOnlyList? contextWindows` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `From0To200k("0-200k")` + + - `From200kTo1M("200k-1M")` + + - `DateTimeOffset? endingAt` (query parameter) + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `IReadOnlyList? groupBy` (query parameter) + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `ClaudeTagCategory("claude_tag_category")` + + - `ClaudeTagUserID("claude_tag_user_id")` + + - `ContextWindow("context_window")` + + - `InferenceGeo("inference_geo")` + + - `Model("model")` + + - `Product("product")` + + - `RbacGroupID("rbac_group_id")` + + - `SlackChannelID("slack_channel_id")` + + - `Speed("speed")` + + - `IReadOnlyList? inferenceGeos` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `Global("global")` + + - `NotAvailable("not_available")` + + - `Us("us")` + + - `long? limit` (query parameter) + + Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + + minimum: 1 + + - `IReadOnlyList? models` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `string? page` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `IReadOnlyList? products` (query parameter) + + Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + + maxItems: 100 + + - `Chat("chat")` + + - `ChatCoworkUnified("chat_cowork_unified")` + + - `ClaudeTag("claude-tag")` + + - `ClaudeCode("claude_code")` + + - `ClaudeDesign("claude_design")` + + - `ClaudeInChrome("claude_in_chrome")` + + - `Cowork("cowork")` + + - `OfficeAgent("office_agent")` + + - `IReadOnlyList? rbacGroupIds` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `IReadOnlyList? slackChannelIds` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `IReadOnlyList? speeds` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `Fast("fast")` + + - `Standard("standard")` + + - `IReadOnlyList? userIds` (query parameter) + + Filter to specific users by tagged user ID. + + maxItems: 100 + +#### Returns + +- `class BetaAnalyticsUsageReportTimeBucket` + + - `required DateTimeOffset EndingAt` + + End of the time bucket (exclusive) in RFC 3339 format. + + format: date-time + + - `required IReadOnlyList Results` + + Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + + - `required BetaCacheCreation CacheCreation` + + The number of input tokens for cache creation. + + - `required long Ephemeral1hInputTokens` + + The number of input tokens used to create the 1 hour cache entry. + + minimum: 0 + + - `required long Ephemeral5mInputTokens` + + The number of input tokens used to create the 5 minute cache entry. + + minimum: 0 + + - `required long CacheReadInputTokens` + + The number of input tokens read from the cache. + + - `required BetaAnalyticsClaudeTagCategory? ClaudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. - `Dm("dm")` @@ -98396,15 +100502,11 @@ await foreach (var item in page.Paginate()) **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=csharp) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=csharp#migrate-from-enterprise-analytics-reports). #### Parameters @@ -98803,12 +100905,11 @@ await foreach (var item in page.Paginate()) **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=csharp) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=csharp#migrate-from-enterprise-analytics-reports). #### Parameters @@ -99154,15 +101255,11 @@ await foreach (var item in page.Paginate()) **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=csharp) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=csharp#migrate-from-enterprise-analytics-reports). #### Parameters @@ -99711,6 +101808,10 @@ Anthropic account team. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSpendLimit` @@ -100229,6 +102330,10 @@ come in a fixed order that is not creation order. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSpendLimit` @@ -103050,6 +105155,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPlugin` @@ -103436,6 +105545,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPlugin` @@ -103838,6 +105951,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPlugin` @@ -104277,6 +106394,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPlugin` @@ -104670,6 +106791,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedPlugin` @@ -104863,6 +106988,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginVersion` @@ -105200,6 +107329,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginVersion` @@ -105523,6 +107656,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginVersion` @@ -105859,6 +107996,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Example ```csharp @@ -106037,6 +108178,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginInstallationSetting` @@ -106298,6 +108443,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginInstallationSetting` @@ -106549,244 +108698,252 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` -#### Returns - -- `class BetaDeletedPluginInstallationSetting` - - Confirmation that one target's installation setting was removed, naming - the Plugin and the target in place of an ID. - - - `JsonElement Type = "plugin_installation_setting_deleted"` - - Always `plugin_installation_setting_deleted`. - - - `required string PluginID` - - The Plugin's ID. - - - `required Target Target` - - Whose setting was removed. - - - `class BetaPluginTargetOrganization` - - - `JsonElement Type = "organization"` - - Every member of the organization. - - - `class BetaPluginTargetRbacGroup` - - - `JsonElement Type = "rbac_group"` - - An RBAC Group. - - - `required string RbacGroupID` - - The RBAC Group's ID. - - - `class BetaPluginTargetOrganizationMember` - - - `JsonElement Type = "organization_member"` - - One member of the organization. - - - `required string UserID` - - The member's User ID. + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + +#### Returns + +- `class BetaDeletedPluginInstallationSetting` + + Confirmation that one target's installation setting was removed, naming + the Plugin and the target in place of an ID. + + - `JsonElement Type = "plugin_installation_setting_deleted"` + + Always `plugin_installation_setting_deleted`. + + - `required string PluginID` + + The Plugin's ID. + + - `required Target Target` + + Whose setting was removed. + + - `class BetaPluginTargetOrganization` + + - `JsonElement Type = "organization"` + + Every member of the organization. + + - `class BetaPluginTargetRbacGroup` + + - `JsonElement Type = "rbac_group"` + + An RBAC Group. + + - `required string RbacGroupID` + + The RBAC Group's ID. + + - `class BetaPluginTargetOrganizationMember` + + - `JsonElement Type = "organization_member"` + + One member of the organization. + + - `required string UserID` + + The member's User ID. + +#### Example + +```csharp +using System; +using Anthropic.Models.Beta.Organization.Plugins.InstallationSettings; + +InstallationSettingRemoveParams parameters = new() +{ + PluginID = "plugin_id", + Target = "target", +}; + +var betaDeletedPluginInstallationSetting = await client.Beta.Organization.Plugins.InstallationSettings.Remove(parameters); + +Console.WriteLine(betaDeletedPluginInstallationSetting); +``` + +##### Response (200) + +```json +{ + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "target": { + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "type": "rbac_group" + }, + "type": "plugin_installation_setting_deleted" +} +``` + +## Beta › Organization › Plugins › Shares + +### List Plugin Shares + +`ShareListPage Beta.Organization.Plugins.Shares.List(parameters, cancellationToken = default)` + +**GET** `/v1/organizations/plugins/{plugin_id}/shares` + +List the shares the owner of a member-owned Plugin has given — to every member of +the organization, to an RBAC Group, or to one member — most recently granted first. + +Shares are read-only in this API: members give and withdraw them in claude.ai, and +who gave a share is recorded on the Compliance API activity feed rather than on the +share. An organization-owned Plugin has installation settings instead, so this path +returns 404 for one. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `ShareListParams parameters` + + - `required string pluginID` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + + - `long limit` (query parameter) + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `100`. + + minimum: 1, maximum: 100 + + - `string? organizationID` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + + - `string? page` (query parameter) + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + + - `TargetType? targetType` (query parameter) + + Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). + + - `Organization("organization")` + + - `OrganizationMember("organization_member")` + + - `RbacGroup("rbac_group")` + + - `IReadOnlyList betas` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `MessageBatches2024_09_24("message-batches-2024-09-24")` + + - `PromptCaching2024_07_31("prompt-caching-2024-07-31")` + + - `ComputerUse2024_10_22("computer-use-2024-10-22")` + + - `ComputerUse2025_01_24("computer-use-2025-01-24")` + + - `Pdfs2024_09_25("pdfs-2024-09-25")` + + - `TokenCounting2024_11_01("token-counting-2024-11-01")` + + - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")` + + - `Output128k2025_02_19("output-128k-2025-02-19")` + + - `FilesApi2025_04_14("files-api-2025-04-14")` + + - `McpClient2025_04_04("mcp-client-2025-04-04")` + + - `McpClient2025_11_20("mcp-client-2025-11-20")` + + - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")` + + - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")` + + - `CodeExecution2025_05_22("code-execution-2025-05-22")` + + - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")` + + - `Context1m2025_08_07("context-1m-2025-08-07")` + + - `ContextManagement2025_06_27("context-management-2025-06-27")` + + - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `Skills2025_10_02("skills-2025-10-02")` + + - `FastMode2026_02_01("fast-mode-2026-02-01")` + + - `Output300k2026_03_24("output-300k-2026-03-24")` + + - `UserProfiles2026_03_24("user-profiles-2026-03-24")` + + - `UserProfiles2026_08_18("user-profiles-2026-08-18")` + + - `UserProfiles2026_09_04("user-profiles-2026-09-04")` + + - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")` + + - `ManagedAgents2026_04_01("managed-agents-2026-04-01")` + + - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")` + + - `Dreaming2026_04_21("dreaming-2026-04-21")` + + - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")` + + - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")` + + - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")` + + - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")` + + - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")` + + - `AgentMemory2026_07_22("agent-memory-2026-07-22")` + + - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `Compact2026_01_12("compact-2026-01-12")` + + - `ComputerUse2025_11_24("computer-use-2025-11-24")` + + - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")` + + - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")` + + - `TaskBudgets2026_03_13("task-budgets-2026-03-13")` + + - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")` + + - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")` + + - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `Compact2026_09_04("compact-2026-09-04")` + + - `InlineTools2026_09_15("inline-tools-2026-09-15")` + + - `McpClient2026_09_15("mcp-client-2026-09-15")` + + - `CEPlugins2026_09_01("ce-plugins-2026-09-01")` + + - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")` + + - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")` + + - `Webhooks2026_10_07("webhooks-2026-10-07")` + + - `MessageThreads2026_08_12("message-threads-2026-08-12")` -#### Example - -```csharp -using System; -using Anthropic.Models.Beta.Organization.Plugins.InstallationSettings; - -InstallationSettingRemoveParams parameters = new() -{ - PluginID = "plugin_id", - Target = "target", -}; - -var betaDeletedPluginInstallationSetting = await client.Beta.Organization.Plugins.InstallationSettings.Remove(parameters); - -Console.WriteLine(betaDeletedPluginInstallationSetting); -``` - -##### Response (200) - -```json -{ - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "target": { - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "type": "rbac_group" - }, - "type": "plugin_installation_setting_deleted" -} -``` - -## Beta › Organization › Plugins › Shares - -### List Plugin Shares - -`ShareListPage Beta.Organization.Plugins.Shares.List(parameters, cancellationToken = default)` - -**GET** `/v1/organizations/plugins/{plugin_id}/shares` - -List the shares the owner of a member-owned Plugin has given — to every member of -the organization, to an RBAC Group, or to one member — most recently granted first. - -Shares are read-only in this API: members give and withdraw them in claude.ai, and -who gave a share is recorded on the Compliance API activity feed rather than on the -share. An organization-owned Plugin has installation settings instead, so this path -returns 404 for one. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `ShareListParams parameters` - - - `required string pluginID` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - - - `long limit` (query parameter) - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `100`. - - minimum: 1, maximum: 100 - - - `string? organizationID` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - - - `string? page` (query parameter) - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - - - `TargetType? targetType` (query parameter) - - Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). - - - `Organization("organization")` - - - `OrganizationMember("organization_member")` - - - `RbacGroup("rbac_group")` - - - `IReadOnlyList betas` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `MessageBatches2024_09_24("message-batches-2024-09-24")` - - - `PromptCaching2024_07_31("prompt-caching-2024-07-31")` - - - `ComputerUse2024_10_22("computer-use-2024-10-22")` - - - `ComputerUse2025_01_24("computer-use-2025-01-24")` - - - `Pdfs2024_09_25("pdfs-2024-09-25")` - - - `TokenCounting2024_11_01("token-counting-2024-11-01")` - - - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")` - - - `Output128k2025_02_19("output-128k-2025-02-19")` - - - `FilesApi2025_04_14("files-api-2025-04-14")` - - - `McpClient2025_04_04("mcp-client-2025-04-04")` - - - `McpClient2025_11_20("mcp-client-2025-11-20")` - - - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")` - - - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")` - - - `CodeExecution2025_05_22("code-execution-2025-05-22")` - - - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")` - - - `Context1m2025_08_07("context-1m-2025-08-07")` - - - `ContextManagement2025_06_27("context-management-2025-06-27")` - - - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")` - - - `Skills2025_10_02("skills-2025-10-02")` - - - `FastMode2026_02_01("fast-mode-2026-02-01")` - - - `Output300k2026_03_24("output-300k-2026-03-24")` - - - `UserProfiles2026_03_24("user-profiles-2026-03-24")` - - - `UserProfiles2026_08_18("user-profiles-2026-08-18")` - - - `UserProfiles2026_09_04("user-profiles-2026-09-04")` - - - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")` - - - `ManagedAgents2026_04_01("managed-agents-2026-04-01")` - - - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")` - - - `Dreaming2026_04_21("dreaming-2026-04-21")` - - - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")` - - - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")` - - - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")` - - - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")` - - - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")` - - - `AgentMemory2026_07_22("agent-memory-2026-07-22")` - - - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")` - - - `Compact2026_01_12("compact-2026-01-12")` - - - `ComputerUse2025_11_24("computer-use-2025-11-24")` - - - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")` - - - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")` - - - `TaskBudgets2026_03_13("task-budgets-2026-03-13")` - - - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")` - - - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")` - - - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")` - - - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")` - - - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")` - - - `Compact2026_09_04("compact-2026-09-04")` - - - `InlineTools2026_09_15("inline-tools-2026-09-15")` - - - `McpClient2026_09_15("mcp-client-2026-09-15")` - - - `CEPlugins2026_09_01("ce-plugins-2026-09-01")` - - - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")` - - - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")` - - - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` #### Returns @@ -107045,6 +109202,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginMarketplace` @@ -107310,6 +109471,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginMarketplace` @@ -107584,6 +109749,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginMarketplace` @@ -107865,6 +110034,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginMarketplaceValidationReport` @@ -108129,6 +110302,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginMarketplaceValidationReport` @@ -108407,6 +110584,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestination` @@ -108765,6 +110946,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestination` @@ -109114,6 +111299,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestination` @@ -109501,6 +111690,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestination` @@ -109848,6 +112041,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedTelemetryDestination` @@ -110009,6 +112206,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestinationTestResponse` @@ -110204,6 +112405,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -110393,6 +112598,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -110579,6 +112788,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedTelemetryDestinationWorkspace` @@ -110774,6 +112987,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaNewOrganizationWebhookEndpoint` @@ -111018,6 +113235,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -111241,6 +113462,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -111488,6 +113713,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -111705,6 +113934,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedOrganizationWebhookEndpoint` @@ -111873,6 +114106,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaOrganizationWebhookEndpointSigningSecret` diff --git a/content/en/api/csharp/beta/agents.md b/content/en/api/csharp/beta/agents.md index 0f6f092377..9824bdbc23 100644 --- a/content/en/api/csharp/beta/agents.md +++ b/content/en/api/csharp/beta/agents.md @@ -965,6 +965,10 @@ Create Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2022,6 +2026,10 @@ List Agents - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3066,6 +3074,10 @@ Get Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4946,6 +4958,10 @@ Update Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5980,6 +5996,10 @@ Archive Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -13326,6 +13346,10 @@ List Agent Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/agents/archive.md b/content/en/api/csharp/beta/agents/archive.md index ade2648460..f9a7d1f3e8 100644 --- a/content/en/api/csharp/beta/agents/archive.md +++ b/content/en/api/csharp/beta/agents/archive.md @@ -127,6 +127,10 @@ Archive Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/agents/create.md b/content/en/api/csharp/beta/agents/create.md index 3a3335faa3..2adb6360e5 100644 --- a/content/en/api/csharp/beta/agents/create.md +++ b/content/en/api/csharp/beta/agents/create.md @@ -963,6 +963,10 @@ Create Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/agents/list.md b/content/en/api/csharp/beta/agents/list.md index ccf4c40e0f..dd4d59b7e9 100644 --- a/content/en/api/csharp/beta/agents/list.md +++ b/content/en/api/csharp/beta/agents/list.md @@ -149,6 +149,10 @@ List Agents - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/agents/retrieve.md b/content/en/api/csharp/beta/agents/retrieve.md index c63f27358d..464b7b7afa 100644 --- a/content/en/api/csharp/beta/agents/retrieve.md +++ b/content/en/api/csharp/beta/agents/retrieve.md @@ -133,6 +133,10 @@ Get Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/agents/update.md b/content/en/api/csharp/beta/agents/update.md index d4161f2a4d..5c9b28e4c2 100644 --- a/content/en/api/csharp/beta/agents/update.md +++ b/content/en/api/csharp/beta/agents/update.md @@ -973,6 +973,10 @@ Update Agent - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/agents/versions.md b/content/en/api/csharp/beta/agents/versions.md index 6cd715e6cd..f325494cfc 100644 --- a/content/en/api/csharp/beta/agents/versions.md +++ b/content/en/api/csharp/beta/agents/versions.md @@ -139,6 +139,10 @@ List Agent Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/agents/versions/list.md b/content/en/api/csharp/beta/agents/versions/list.md index 3063d4ced1..a35317f7a1 100644 --- a/content/en/api/csharp/beta/agents/versions/list.md +++ b/content/en/api/csharp/beta/agents/versions/list.md @@ -137,6 +137,10 @@ List Agent Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployment_runs.md b/content/en/api/csharp/beta/deployment_runs.md index 123ab3cffd..04a1fb88cf 100644 --- a/content/en/api/csharp/beta/deployment_runs.md +++ b/content/en/api/csharp/beta/deployment_runs.md @@ -171,6 +171,10 @@ List Deployment Runs - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -570,6 +574,10 @@ Get Deployment Run - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployment_runs/list.md b/content/en/api/csharp/beta/deployment_runs/list.md index 37a5ab6bfc..edb8daf185 100644 --- a/content/en/api/csharp/beta/deployment_runs/list.md +++ b/content/en/api/csharp/beta/deployment_runs/list.md @@ -169,6 +169,10 @@ List Deployment Runs - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployment_runs/retrieve.md b/content/en/api/csharp/beta/deployment_runs/retrieve.md index 1d2ea1e675..d8816776bc 100644 --- a/content/en/api/csharp/beta/deployment_runs/retrieve.md +++ b/content/en/api/csharp/beta/deployment_runs/retrieve.md @@ -127,6 +127,10 @@ Get Deployment Run - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments.md b/content/en/api/csharp/beta/deployments.md index 4d53804a7d..3153aaaa2d 100644 --- a/content/en/api/csharp/beta/deployments.md +++ b/content/en/api/csharp/beta/deployments.md @@ -497,6 +497,10 @@ Create Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1272,6 +1276,10 @@ List Deployments - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2009,6 +2017,10 @@ Get Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3114,6 +3126,10 @@ Update Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3847,6 +3863,10 @@ Archive Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4580,6 +4600,10 @@ Run Deployment Now - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4975,6 +4999,10 @@ Pause Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5708,6 +5736,10 @@ Unpause Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/archive.md b/content/en/api/csharp/beta/deployments/archive.md index e576bd72c1..e08453cf0d 100644 --- a/content/en/api/csharp/beta/deployments/archive.md +++ b/content/en/api/csharp/beta/deployments/archive.md @@ -127,6 +127,10 @@ Archive Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/create.md b/content/en/api/csharp/beta/deployments/create.md index 83b7aa3d4f..aedd12d08e 100644 --- a/content/en/api/csharp/beta/deployments/create.md +++ b/content/en/api/csharp/beta/deployments/create.md @@ -495,6 +495,10 @@ Create Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/list.md b/content/en/api/csharp/beta/deployments/list.md index 616c5dc479..1c0f808928 100644 --- a/content/en/api/csharp/beta/deployments/list.md +++ b/content/en/api/csharp/beta/deployments/list.md @@ -157,6 +157,10 @@ List Deployments - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/pause.md b/content/en/api/csharp/beta/deployments/pause.md index 80a0284fc1..7e05f5cf5c 100644 --- a/content/en/api/csharp/beta/deployments/pause.md +++ b/content/en/api/csharp/beta/deployments/pause.md @@ -127,6 +127,10 @@ Pause Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/retrieve.md b/content/en/api/csharp/beta/deployments/retrieve.md index df1f647e0e..7bada1d263 100644 --- a/content/en/api/csharp/beta/deployments/retrieve.md +++ b/content/en/api/csharp/beta/deployments/retrieve.md @@ -127,6 +127,10 @@ Get Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/run.md b/content/en/api/csharp/beta/deployments/run.md index b3e8158e98..6a1bbab5ea 100644 --- a/content/en/api/csharp/beta/deployments/run.md +++ b/content/en/api/csharp/beta/deployments/run.md @@ -127,6 +127,10 @@ Run Deployment Now - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/unpause.md b/content/en/api/csharp/beta/deployments/unpause.md index 850023bd45..25e67ebc26 100644 --- a/content/en/api/csharp/beta/deployments/unpause.md +++ b/content/en/api/csharp/beta/deployments/unpause.md @@ -127,6 +127,10 @@ Unpause Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/deployments/update.md b/content/en/api/csharp/beta/deployments/update.md index 043c29d566..5e4eef1e98 100644 --- a/content/en/api/csharp/beta/deployments/update.md +++ b/content/en/api/csharp/beta/deployments/update.md @@ -499,6 +499,10 @@ Update Deployment - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments.md b/content/en/api/csharp/beta/environments.md index d95d0d44a6..e85b1e4399 100644 --- a/content/en/api/csharp/beta/environments.md +++ b/content/en/api/csharp/beta/environments.md @@ -239,6 +239,10 @@ Create a new environment with the specified configuration. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -571,6 +575,10 @@ List environments with pagination support. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -898,6 +906,10 @@ Retrieve a specific environment by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1335,6 +1347,10 @@ Update an existing environment's configuration. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1658,6 +1674,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1825,6 +1845,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2603,6 +2627,10 @@ Retrieve detailed information about a specific work item. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2867,6 +2895,10 @@ Long poll for work items in the queue. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string anthropicWorkerID` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -3118,6 +3150,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -3374,6 +3410,10 @@ Record a heartbeat for a work item to maintain the lease. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -3569,6 +3609,10 @@ Stop a work item, initiating graceful or forced shutdown. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3831,6 +3875,10 @@ List work items in an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -4089,6 +4137,10 @@ Update work item metadata with merge semantics. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4341,6 +4393,10 @@ Get statistics about the work queue for an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/archive.md b/content/en/api/csharp/beta/environments/archive.md index 3c177069eb..c8824ed402 100644 --- a/content/en/api/csharp/beta/environments/archive.md +++ b/content/en/api/csharp/beta/environments/archive.md @@ -125,6 +125,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/create.md b/content/en/api/csharp/beta/environments/create.md index 96f34880f9..b0313e617f 100644 --- a/content/en/api/csharp/beta/environments/create.md +++ b/content/en/api/csharp/beta/environments/create.md @@ -237,6 +237,10 @@ Create a new environment with the specified configuration. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/delete.md b/content/en/api/csharp/beta/environments/delete.md index 5acd8b3550..e44f091835 100644 --- a/content/en/api/csharp/beta/environments/delete.md +++ b/content/en/api/csharp/beta/environments/delete.md @@ -125,6 +125,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/list.md b/content/en/api/csharp/beta/environments/list.md index d8522c8ddd..532d6c7c97 100644 --- a/content/en/api/csharp/beta/environments/list.md +++ b/content/en/api/csharp/beta/environments/list.md @@ -137,6 +137,10 @@ List environments with pagination support. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/retrieve.md b/content/en/api/csharp/beta/environments/retrieve.md index 9858ef06cb..41d81a9983 100644 --- a/content/en/api/csharp/beta/environments/retrieve.md +++ b/content/en/api/csharp/beta/environments/retrieve.md @@ -125,6 +125,10 @@ Retrieve a specific environment by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/update.md b/content/en/api/csharp/beta/environments/update.md index 604ef02b13..0c934ec3e2 100644 --- a/content/en/api/csharp/beta/environments/update.md +++ b/content/en/api/csharp/beta/environments/update.md @@ -239,6 +239,10 @@ Update an existing environment's configuration. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/work.md b/content/en/api/csharp/beta/environments/work.md index 6743444799..33e63225d6 100644 --- a/content/en/api/csharp/beta/environments/work.md +++ b/content/en/api/csharp/beta/environments/work.md @@ -131,6 +131,10 @@ Retrieve detailed information about a specific work item. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -395,6 +399,10 @@ Long poll for work items in the queue. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string anthropicWorkerID` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -646,6 +654,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + ### Returns - `class BetaSelfHostedWork` @@ -902,6 +914,10 @@ Record a heartbeat for a work item to maintain the lease. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + ### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -1097,6 +1113,10 @@ Stop a work item, initiating graceful or forced shutdown. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1359,6 +1379,10 @@ List work items in an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + ### Returns - `class BetaSelfHostedWork` @@ -1617,6 +1641,10 @@ Update work item metadata with merge semantics. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1869,6 +1897,10 @@ Get statistics about the work queue for an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/work/ack.md b/content/en/api/csharp/beta/environments/work/ack.md index 3618968f80..345371a00c 100644 --- a/content/en/api/csharp/beta/environments/work/ack.md +++ b/content/en/api/csharp/beta/environments/work/ack.md @@ -129,6 +129,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/csharp/beta/environments/work/heartbeat.md b/content/en/api/csharp/beta/environments/work/heartbeat.md index fd94a5dbeb..ddf6b438ab 100644 --- a/content/en/api/csharp/beta/environments/work/heartbeat.md +++ b/content/en/api/csharp/beta/environments/work/heartbeat.md @@ -137,6 +137,10 @@ Record a heartbeat for a work item to maintain the lease. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + ## Returns - `class BetaSelfHostedWorkHeartbeatResponse` diff --git a/content/en/api/csharp/beta/environments/work/list.md b/content/en/api/csharp/beta/environments/work/list.md index f9ab1d067d..ce94c9dcf1 100644 --- a/content/en/api/csharp/beta/environments/work/list.md +++ b/content/en/api/csharp/beta/environments/work/list.md @@ -137,6 +137,10 @@ List work items in an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/csharp/beta/environments/work/poll.md b/content/en/api/csharp/beta/environments/work/poll.md index d26c197fe8..fbcfba9b4a 100644 --- a/content/en/api/csharp/beta/environments/work/poll.md +++ b/content/en/api/csharp/beta/environments/work/poll.md @@ -139,6 +139,10 @@ Long poll for work items in the queue. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string anthropicWorkerID` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console diff --git a/content/en/api/csharp/beta/environments/work/retrieve.md b/content/en/api/csharp/beta/environments/work/retrieve.md index c51db80496..a6bf39a36a 100644 --- a/content/en/api/csharp/beta/environments/work/retrieve.md +++ b/content/en/api/csharp/beta/environments/work/retrieve.md @@ -129,6 +129,10 @@ Retrieve detailed information about a specific work item. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/work/stats.md b/content/en/api/csharp/beta/environments/work/stats.md index 7965b023eb..3a92c3369c 100644 --- a/content/en/api/csharp/beta/environments/work/stats.md +++ b/content/en/api/csharp/beta/environments/work/stats.md @@ -125,6 +125,10 @@ Get statistics about the work queue for an environment. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/work/stop.md b/content/en/api/csharp/beta/environments/work/stop.md index 2b9801673d..9ac32c00ad 100644 --- a/content/en/api/csharp/beta/environments/work/stop.md +++ b/content/en/api/csharp/beta/environments/work/stop.md @@ -133,6 +133,10 @@ Stop a work item, initiating graceful or forced shutdown. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/environments/work/update.md b/content/en/api/csharp/beta/environments/work/update.md index 8ede4db8e1..fdfa422a52 100644 --- a/content/en/api/csharp/beta/environments/work/update.md +++ b/content/en/api/csharp/beta/environments/work/update.md @@ -133,6 +133,10 @@ Update work item metadata with merge semantics. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/files.md b/content/en/api/csharp/beta/files.md index 826eae2435..bc0f1c703d 100644 --- a/content/en/api/csharp/beta/files.md +++ b/content/en/api/csharp/beta/files.md @@ -137,6 +137,10 @@ Upload File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -381,6 +385,10 @@ List Files - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -612,6 +620,10 @@ Download File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -755,6 +767,10 @@ Get File Metadata - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -979,6 +995,10 @@ Delete File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/files/delete.md b/content/en/api/csharp/beta/files/delete.md index f43c84c5a8..e0cf7f3705 100644 --- a/content/en/api/csharp/beta/files/delete.md +++ b/content/en/api/csharp/beta/files/delete.md @@ -127,6 +127,10 @@ Delete File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/files/download.md b/content/en/api/csharp/beta/files/download.md index ce7a0b37fd..74c4a67168 100644 --- a/content/en/api/csharp/beta/files/download.md +++ b/content/en/api/csharp/beta/files/download.md @@ -127,6 +127,10 @@ Download File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/files/list.md b/content/en/api/csharp/beta/files/list.md index 4e65f90ae7..7ae8e49cd3 100644 --- a/content/en/api/csharp/beta/files/list.md +++ b/content/en/api/csharp/beta/files/list.md @@ -143,6 +143,10 @@ List Files - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/files/retrieve_metadata.md b/content/en/api/csharp/beta/files/retrieve_metadata.md index b0238727b7..a00672339b 100644 --- a/content/en/api/csharp/beta/files/retrieve_metadata.md +++ b/content/en/api/csharp/beta/files/retrieve_metadata.md @@ -127,6 +127,10 @@ Get File Metadata - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/files/upload.md b/content/en/api/csharp/beta/files/upload.md index 961babb420..b9d504a7d9 100644 --- a/content/en/api/csharp/beta/files/upload.md +++ b/content/en/api/csharp/beta/files/upload.md @@ -135,6 +135,10 @@ Upload File - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores.md b/content/en/api/csharp/beta/memory_stores.md index e6df6d054a..b0731b1f02 100644 --- a/content/en/api/csharp/beta/memory_stores.md +++ b/content/en/api/csharp/beta/memory_stores.md @@ -147,6 +147,10 @@ Create a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -379,6 +383,10 @@ List Memory Stores - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -594,6 +602,10 @@ Retrieve a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -829,6 +841,10 @@ Update a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1044,6 +1060,10 @@ Delete a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1213,6 +1233,10 @@ Archive a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1512,6 +1536,10 @@ Create a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1773,6 +1801,10 @@ List Memories - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2030,6 +2062,10 @@ Retrieve a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2286,6 +2322,10 @@ Update a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2524,6 +2564,10 @@ Delete a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2750,6 +2794,10 @@ List Memory Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3077,6 +3125,10 @@ Retrieve a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3392,6 +3444,10 @@ Redact a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/archive.md b/content/en/api/csharp/beta/memory_stores/archive.md index dd1c14bd56..6a52a6ff01 100644 --- a/content/en/api/csharp/beta/memory_stores/archive.md +++ b/content/en/api/csharp/beta/memory_stores/archive.md @@ -129,6 +129,10 @@ Archive a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/create.md b/content/en/api/csharp/beta/memory_stores/create.md index dc9fd566ae..ae71595aad 100644 --- a/content/en/api/csharp/beta/memory_stores/create.md +++ b/content/en/api/csharp/beta/memory_stores/create.md @@ -145,6 +145,10 @@ Create a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/delete.md b/content/en/api/csharp/beta/memory_stores/delete.md index 72ec36f048..ec6202c021 100644 --- a/content/en/api/csharp/beta/memory_stores/delete.md +++ b/content/en/api/csharp/beta/memory_stores/delete.md @@ -129,6 +129,10 @@ Delete a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/list.md b/content/en/api/csharp/beta/memory_stores/list.md index 6dfcb3db18..0581ff1465 100644 --- a/content/en/api/csharp/beta/memory_stores/list.md +++ b/content/en/api/csharp/beta/memory_stores/list.md @@ -149,6 +149,10 @@ List Memory Stores - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memories.md b/content/en/api/csharp/beta/memory_stores/memories.md index 742505bcd4..5db5c273f9 100644 --- a/content/en/api/csharp/beta/memory_stores/memories.md +++ b/content/en/api/csharp/beta/memory_stores/memories.md @@ -149,6 +149,10 @@ Create a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -410,6 +414,10 @@ List Memories - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -667,6 +675,10 @@ Retrieve a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -923,6 +935,10 @@ Update a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1161,6 +1177,10 @@ Delete a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memories/create.md b/content/en/api/csharp/beta/memory_stores/memories/create.md index db76cc6858..c69df7a5ef 100644 --- a/content/en/api/csharp/beta/memory_stores/memories/create.md +++ b/content/en/api/csharp/beta/memory_stores/memories/create.md @@ -147,6 +147,10 @@ Create a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memories/delete.md b/content/en/api/csharp/beta/memory_stores/memories/delete.md index 43b700e178..376a417da7 100644 --- a/content/en/api/csharp/beta/memory_stores/memories/delete.md +++ b/content/en/api/csharp/beta/memory_stores/memories/delete.md @@ -137,6 +137,10 @@ Delete a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memories/list.md b/content/en/api/csharp/beta/memory_stores/memories/list.md index 0ccb1a2bb8..7072b65759 100644 --- a/content/en/api/csharp/beta/memory_stores/memories/list.md +++ b/content/en/api/csharp/beta/memory_stores/memories/list.md @@ -159,6 +159,10 @@ List Memories - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memories/retrieve.md b/content/en/api/csharp/beta/memory_stores/memories/retrieve.md index 35e6955a11..8e57ecd7c9 100644 --- a/content/en/api/csharp/beta/memory_stores/memories/retrieve.md +++ b/content/en/api/csharp/beta/memory_stores/memories/retrieve.md @@ -137,6 +137,10 @@ Retrieve a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memories/update.md b/content/en/api/csharp/beta/memory_stores/memories/update.md index 5cc5333651..98f23aa3a5 100644 --- a/content/en/api/csharp/beta/memory_stores/memories/update.md +++ b/content/en/api/csharp/beta/memory_stores/memories/update.md @@ -155,6 +155,10 @@ Update a Memory - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memory_versions.md b/content/en/api/csharp/beta/memory_stores/memory_versions.md index 914a07cad3..3204dc0452 100644 --- a/content/en/api/csharp/beta/memory_stores/memory_versions.md +++ b/content/en/api/csharp/beta/memory_stores/memory_versions.md @@ -181,6 +181,10 @@ List Memory Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -508,6 +512,10 @@ Retrieve a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -823,6 +831,10 @@ Redact a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memory_versions/list.md b/content/en/api/csharp/beta/memory_stores/memory_versions/list.md index 2589f925bd..3001afd584 100644 --- a/content/en/api/csharp/beta/memory_stores/memory_versions/list.md +++ b/content/en/api/csharp/beta/memory_stores/memory_versions/list.md @@ -179,6 +179,10 @@ List Memory Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memory_versions/redact.md b/content/en/api/csharp/beta/memory_stores/memory_versions/redact.md index 8124822c3f..785f9e498d 100644 --- a/content/en/api/csharp/beta/memory_stores/memory_versions/redact.md +++ b/content/en/api/csharp/beta/memory_stores/memory_versions/redact.md @@ -131,6 +131,10 @@ Redact a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/memory_versions/retrieve.md b/content/en/api/csharp/beta/memory_stores/memory_versions/retrieve.md index df44b93c6e..77cea31f02 100644 --- a/content/en/api/csharp/beta/memory_stores/memory_versions/retrieve.md +++ b/content/en/api/csharp/beta/memory_stores/memory_versions/retrieve.md @@ -137,6 +137,10 @@ Retrieve a Memory Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/retrieve.md b/content/en/api/csharp/beta/memory_stores/retrieve.md index 08493f7b0a..39fda937ac 100644 --- a/content/en/api/csharp/beta/memory_stores/retrieve.md +++ b/content/en/api/csharp/beta/memory_stores/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/memory_stores/update.md b/content/en/api/csharp/beta/memory_stores/update.md index dbf0fbbebb..73a49987af 100644 --- a/content/en/api/csharp/beta/memory_stores/update.md +++ b/content/en/api/csharp/beta/memory_stores/update.md @@ -149,6 +149,10 @@ Update a Memory Store - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages.md b/content/en/api/csharp/beta/messages.md index 4df3fbbbae..410df8ed1c 100644 --- a/content/en/api/csharp/beta/messages.md +++ b/content/en/api/csharp/beta/messages.md @@ -3652,6 +3652,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=csharp#configuring-thinking) for each model's behavior. + - `BetaMessageThreadParam? thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `BetaToolChoice toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -3909,6 +3913,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -11829,6 +11837,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -49648,6 +49660,28 @@ Console.WriteLine(betaMessageTokensCount); - `Max("max")` +### Beta Message Thread Param + +- `class BetaMessageThreadParam: union` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonElement Type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonElement Type = "continue"` + + - `required string PreviousMessageID` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `class BetaMessageTokensCount` @@ -72279,6 +72313,26 @@ Console.WriteLine(betaMessageTokensCount); minimum: 1 +### Beta Thread Continue Params + +- `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonElement Type = "continue"` + + - `required string PreviousMessageID` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonElement Type = "create"` + ### Beta Token Task Budget - `class BetaTokenTaskBudget` @@ -91676,6 +91730,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `BetaMessageThreadParam? Thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonElement Type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonElement Type = "continue"` + + - `required string PreviousMessageID` + + The `id` of the previous response in this Thread. + - `BetaToolChoice ToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -91987,6 +92061,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -92239,6 +92317,7 @@ BatchCreateParams parameters = new() }, Display = Messages::Display.Summarized, }, + Thread = new Messages::BetaThreadCreateParams(), ToolChoice = new Messages::BetaToolChoiceAuto() { DisableParallelToolUse = true @@ -92438,6 +92517,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -92716,6 +92799,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -92993,6 +93080,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -93261,6 +93352,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -93431,6 +93526,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages/batches.md b/content/en/api/csharp/beta/messages/batches.md index 31ede1aa83..be5cc130fe 100644 --- a/content/en/api/csharp/beta/messages/batches.md +++ b/content/en/api/csharp/beta/messages/batches.md @@ -3964,6 +3964,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `BetaMessageThreadParam? Thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonElement Type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonElement Type = "continue"` + + - `required string PreviousMessageID` + + The `id` of the previous response in this Thread. + - `BetaToolChoice ToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4275,6 +4295,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4527,6 +4551,7 @@ BatchCreateParams parameters = new() }, Display = Messages::Display.Summarized, }, + Thread = new Messages::BetaThreadCreateParams(), ToolChoice = new Messages::BetaToolChoiceAuto() { DisableParallelToolUse = true @@ -4726,6 +4751,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5004,6 +5033,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5281,6 +5314,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5549,6 +5586,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5719,6 +5760,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages/batches/cancel.md b/content/en/api/csharp/beta/messages/batches/cancel.md index 55d3fa28fd..bf8f07bb41 100644 --- a/content/en/api/csharp/beta/messages/batches/cancel.md +++ b/content/en/api/csharp/beta/messages/batches/cancel.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages/batches/create.md b/content/en/api/csharp/beta/messages/batches/create.md index c522e7ab63..46ead81d11 100644 --- a/content/en/api/csharp/beta/messages/batches/create.md +++ b/content/en/api/csharp/beta/messages/batches/create.md @@ -3962,6 +3962,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `BetaMessageThreadParam? Thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonElement Type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonElement Type = "continue"` + + - `required string PreviousMessageID` + + The `id` of the previous response in this Thread. + - `BetaToolChoice ToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4273,6 +4293,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4525,6 +4549,7 @@ BatchCreateParams parameters = new() }, Display = Messages::Display.Summarized, }, + Thread = new Messages::BetaThreadCreateParams(), ToolChoice = new Messages::BetaToolChoiceAuto() { DisableParallelToolUse = true diff --git a/content/en/api/csharp/beta/messages/batches/delete.md b/content/en/api/csharp/beta/messages/batches/delete.md index 572d26a9ea..577e6b3f06 100644 --- a/content/en/api/csharp/beta/messages/batches/delete.md +++ b/content/en/api/csharp/beta/messages/batches/delete.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages/batches/list.md b/content/en/api/csharp/beta/messages/batches/list.md index 28d8ab2593..770146936a 100644 --- a/content/en/api/csharp/beta/messages/batches/list.md +++ b/content/en/api/csharp/beta/messages/batches/list.md @@ -141,6 +141,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages/batches/results.md b/content/en/api/csharp/beta/messages/batches/results.md index 39e47981ed..d2af9ca1ad 100644 --- a/content/en/api/csharp/beta/messages/batches/results.md +++ b/content/en/api/csharp/beta/messages/batches/results.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages/batches/retrieve.md b/content/en/api/csharp/beta/messages/batches/retrieve.md index 7cd11a7199..07d914c46b 100644 --- a/content/en/api/csharp/beta/messages/batches/retrieve.md +++ b/content/en/api/csharp/beta/messages/batches/retrieve.md @@ -129,6 +129,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/messages/count_tokens.md b/content/en/api/csharp/beta/messages/count_tokens.md index f21c2f7971..e3970402e5 100644 --- a/content/en/api/csharp/beta/messages/count_tokens.md +++ b/content/en/api/csharp/beta/messages/count_tokens.md @@ -3772,6 +3772,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/csharp/beta/messages/create.md b/content/en/api/csharp/beta/messages/create.md index 5ae3cbd674..486f82c016 100644 --- a/content/en/api/csharp/beta/messages/create.md +++ b/content/en/api/csharp/beta/messages/create.md @@ -3650,6 +3650,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=csharp#configuring-thinking) for each model's behavior. + - `BetaMessageThreadParam? thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `BetaToolChoice toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -3907,6 +3911,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string userProfileID` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/csharp/beta/models.md b/content/en/api/csharp/beta/models.md index d59a1d2cbf..d82d87449c 100644 --- a/content/en/api/csharp/beta/models.md +++ b/content/en/api/csharp/beta/models.md @@ -155,6 +155,10 @@ The Models API response can be used to determine which models are available for - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -484,7 +488,7 @@ await foreach (var item in page.Paginate()) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -623,6 +627,10 @@ The Models API response can be used to determine information about a specific mo - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -948,7 +956,7 @@ Console.WriteLine(betaModelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/csharp/beta/models/list.md b/content/en/api/csharp/beta/models/list.md index 9f95d07484..0a05484eb5 100644 --- a/content/en/api/csharp/beta/models/list.md +++ b/content/en/api/csharp/beta/models/list.md @@ -153,6 +153,10 @@ The Models API response can be used to determine which models are available for - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -482,7 +486,7 @@ await foreach (var item in page.Paginate()) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/csharp/beta/models/retrieve.md b/content/en/api/csharp/beta/models/retrieve.md index b54afc23cf..1175276ec3 100644 --- a/content/en/api/csharp/beta/models/retrieve.md +++ b/content/en/api/csharp/beta/models/retrieve.md @@ -129,6 +129,10 @@ The Models API response can be used to determine information about a specific mo - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -454,7 +458,7 @@ Console.WriteLine(betaModelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/csharp/beta/sessions.md b/content/en/api/csharp/beta/sessions.md index 04f8295584..b1bc3c9034 100644 --- a/content/en/api/csharp/beta/sessions.md +++ b/content/en/api/csharp/beta/sessions.md @@ -1303,6 +1303,10 @@ Create Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2870,6 +2874,10 @@ List Sessions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4359,6 +4367,10 @@ Get Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5865,6 +5877,10 @@ Update Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7349,6 +7365,10 @@ Delete Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7512,6 +7532,10 @@ Archive Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19354,6 +19378,10 @@ List Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -22818,6 +22846,10 @@ Send Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23445,6 +23477,10 @@ Stream Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26596,6 +26632,10 @@ Add Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26790,6 +26830,10 @@ List Session Resources - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27074,6 +27118,10 @@ Get Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27352,6 +27400,10 @@ Update Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27625,6 +27677,10 @@ Delete Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27815,6 +27871,10 @@ List Session Threads - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28897,6 +28957,10 @@ Get Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29973,6 +30037,10 @@ Archive Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31057,6 +31125,10 @@ List Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34170,6 +34242,10 @@ Stream Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/archive.md b/content/en/api/csharp/beta/sessions/archive.md index f6a7a8680e..8b8c4ded9d 100644 --- a/content/en/api/csharp/beta/sessions/archive.md +++ b/content/en/api/csharp/beta/sessions/archive.md @@ -125,6 +125,10 @@ Archive Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/create.md b/content/en/api/csharp/beta/sessions/create.md index b74f3424c4..a42d668365 100644 --- a/content/en/api/csharp/beta/sessions/create.md +++ b/content/en/api/csharp/beta/sessions/create.md @@ -1301,6 +1301,10 @@ Create Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/delete.md b/content/en/api/csharp/beta/sessions/delete.md index 64c1dc489a..48d105b30b 100644 --- a/content/en/api/csharp/beta/sessions/delete.md +++ b/content/en/api/csharp/beta/sessions/delete.md @@ -125,6 +125,10 @@ Delete Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/events.md b/content/en/api/csharp/beta/sessions/events.md index c5d4c32f03..b3bceb0114 100644 --- a/content/en/api/csharp/beta/sessions/events.md +++ b/content/en/api/csharp/beta/sessions/events.md @@ -253,6 +253,10 @@ List Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3717,6 +3721,10 @@ Send Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4344,6 +4352,10 @@ Stream Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/events/list.md b/content/en/api/csharp/beta/sessions/events/list.md index 98848eb151..7e9304f262 100644 --- a/content/en/api/csharp/beta/sessions/events/list.md +++ b/content/en/api/csharp/beta/sessions/events/list.md @@ -251,6 +251,10 @@ List Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/events/send.md b/content/en/api/csharp/beta/sessions/events/send.md index 3d44c27d25..558798138f 100644 --- a/content/en/api/csharp/beta/sessions/events/send.md +++ b/content/en/api/csharp/beta/sessions/events/send.md @@ -487,6 +487,10 @@ Send Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/events/stream.md b/content/en/api/csharp/beta/sessions/events/stream.md index 5024fa316e..61e0e5d8f3 100644 --- a/content/en/api/csharp/beta/sessions/events/stream.md +++ b/content/en/api/csharp/beta/sessions/events/stream.md @@ -133,6 +133,10 @@ Stream Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/list.md b/content/en/api/csharp/beta/sessions/list.md index ffb1216736..26277b700b 100644 --- a/content/en/api/csharp/beta/sessions/list.md +++ b/content/en/api/csharp/beta/sessions/list.md @@ -207,6 +207,10 @@ List Sessions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/resources.md b/content/en/api/csharp/beta/sessions/resources.md index 7feb821a70..f7620a3bd3 100644 --- a/content/en/api/csharp/beta/sessions/resources.md +++ b/content/en/api/csharp/beta/sessions/resources.md @@ -141,6 +141,10 @@ Add Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -335,6 +339,10 @@ List Session Resources - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -619,6 +627,10 @@ Get Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -897,6 +909,10 @@ Update Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1170,6 +1186,10 @@ Delete Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/resources/add.md b/content/en/api/csharp/beta/sessions/resources/add.md index 9fbef21fa2..d30928d4ca 100644 --- a/content/en/api/csharp/beta/sessions/resources/add.md +++ b/content/en/api/csharp/beta/sessions/resources/add.md @@ -139,6 +139,10 @@ Add Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/resources/delete.md b/content/en/api/csharp/beta/sessions/resources/delete.md index 607dbcfeee..a3875f97fd 100644 --- a/content/en/api/csharp/beta/sessions/resources/delete.md +++ b/content/en/api/csharp/beta/sessions/resources/delete.md @@ -127,6 +127,10 @@ Delete Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/resources/list.md b/content/en/api/csharp/beta/sessions/resources/list.md index 76f9b4179a..ec5fba46f0 100644 --- a/content/en/api/csharp/beta/sessions/resources/list.md +++ b/content/en/api/csharp/beta/sessions/resources/list.md @@ -135,6 +135,10 @@ List Session Resources - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/resources/retrieve.md b/content/en/api/csharp/beta/sessions/resources/retrieve.md index e43e90a188..9e2bc5cee7 100644 --- a/content/en/api/csharp/beta/sessions/resources/retrieve.md +++ b/content/en/api/csharp/beta/sessions/resources/retrieve.md @@ -127,6 +127,10 @@ Get Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/resources/update.md b/content/en/api/csharp/beta/sessions/resources/update.md index 98790227a2..a1dcefaec1 100644 --- a/content/en/api/csharp/beta/sessions/resources/update.md +++ b/content/en/api/csharp/beta/sessions/resources/update.md @@ -133,6 +133,10 @@ Update Session Resource - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/retrieve.md b/content/en/api/csharp/beta/sessions/retrieve.md index 77792ab0e9..3426f53d91 100644 --- a/content/en/api/csharp/beta/sessions/retrieve.md +++ b/content/en/api/csharp/beta/sessions/retrieve.md @@ -125,6 +125,10 @@ Get Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/threads.md b/content/en/api/csharp/beta/sessions/threads.md index 790a9260ce..cae11dbafc 100644 --- a/content/en/api/csharp/beta/sessions/threads.md +++ b/content/en/api/csharp/beta/sessions/threads.md @@ -151,6 +151,10 @@ List Session Threads - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1233,6 +1237,10 @@ Get Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2309,6 +2317,10 @@ Archive Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7937,6 +7949,10 @@ List Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -11050,6 +11066,10 @@ Stream Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/threads/archive.md b/content/en/api/csharp/beta/sessions/threads/archive.md index 402762b5a8..90141fde49 100644 --- a/content/en/api/csharp/beta/sessions/threads/archive.md +++ b/content/en/api/csharp/beta/sessions/threads/archive.md @@ -127,6 +127,10 @@ Archive Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/threads/events.md b/content/en/api/csharp/beta/sessions/threads/events.md index 80ff9a354c..498ca39166 100644 --- a/content/en/api/csharp/beta/sessions/threads/events.md +++ b/content/en/api/csharp/beta/sessions/threads/events.md @@ -135,6 +135,10 @@ List Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3248,6 +3252,10 @@ Stream Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/threads/events/list.md b/content/en/api/csharp/beta/sessions/threads/events/list.md index bdf3924128..be4f771211 100644 --- a/content/en/api/csharp/beta/sessions/threads/events/list.md +++ b/content/en/api/csharp/beta/sessions/threads/events/list.md @@ -133,6 +133,10 @@ List Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/threads/events/stream.md b/content/en/api/csharp/beta/sessions/threads/events/stream.md index b955032635..4f304ce12a 100644 --- a/content/en/api/csharp/beta/sessions/threads/events/stream.md +++ b/content/en/api/csharp/beta/sessions/threads/events/stream.md @@ -135,6 +135,10 @@ Stream Session Thread Events - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/threads/list.md b/content/en/api/csharp/beta/sessions/threads/list.md index a530cb8fb4..e98a3ad970 100644 --- a/content/en/api/csharp/beta/sessions/threads/list.md +++ b/content/en/api/csharp/beta/sessions/threads/list.md @@ -149,6 +149,10 @@ List Session Threads - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/threads/retrieve.md b/content/en/api/csharp/beta/sessions/threads/retrieve.md index 627cd11661..b554285671 100644 --- a/content/en/api/csharp/beta/sessions/threads/retrieve.md +++ b/content/en/api/csharp/beta/sessions/threads/retrieve.md @@ -127,6 +127,10 @@ Get Session Thread - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/sessions/update.md b/content/en/api/csharp/beta/sessions/update.md index e6f2a83875..852d71a57f 100644 --- a/content/en/api/csharp/beta/sessions/update.md +++ b/content/en/api/csharp/beta/sessions/update.md @@ -147,6 +147,10 @@ Update Session - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills.md b/content/en/api/csharp/beta/skills.md index 0e574d2679..1374e40e6c 100644 --- a/content/en/api/csharp/beta/skills.md +++ b/content/en/api/csharp/beta/skills.md @@ -137,6 +137,10 @@ Create Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -390,6 +394,10 @@ List Skills - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -626,6 +634,10 @@ Get Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -855,6 +867,10 @@ Delete Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1142,6 +1158,10 @@ Create Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1360,6 +1380,10 @@ List Skill Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1571,6 +1595,10 @@ Download a skill version's content as a zip archive. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1726,6 +1754,10 @@ Get Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1934,6 +1966,10 @@ Delete Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/create.md b/content/en/api/csharp/beta/skills/create.md index 2af522a176..acaf13c105 100644 --- a/content/en/api/csharp/beta/skills/create.md +++ b/content/en/api/csharp/beta/skills/create.md @@ -135,6 +135,10 @@ Create Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/delete.md b/content/en/api/csharp/beta/skills/delete.md index 7715d040df..f00804015c 100644 --- a/content/en/api/csharp/beta/skills/delete.md +++ b/content/en/api/csharp/beta/skills/delete.md @@ -129,6 +129,10 @@ Delete Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/list.md b/content/en/api/csharp/beta/skills/list.md index a1458d134e..16aaf434d5 100644 --- a/content/en/api/csharp/beta/skills/list.md +++ b/content/en/api/csharp/beta/skills/list.md @@ -146,6 +146,10 @@ List Skills - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/retrieve.md b/content/en/api/csharp/beta/skills/retrieve.md index 88d66d9914..342db1c154 100644 --- a/content/en/api/csharp/beta/skills/retrieve.md +++ b/content/en/api/csharp/beta/skills/retrieve.md @@ -129,6 +129,10 @@ Get Skill - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/versions.md b/content/en/api/csharp/beta/skills/versions.md index 1ba07082f1..1e39a8c9ee 100644 --- a/content/en/api/csharp/beta/skills/versions.md +++ b/content/en/api/csharp/beta/skills/versions.md @@ -137,6 +137,10 @@ Create Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -355,6 +359,10 @@ List Skill Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -566,6 +574,10 @@ Download a skill version's content as a zip archive. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -721,6 +733,10 @@ Get Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -929,6 +945,10 @@ Delete Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/versions/create.md b/content/en/api/csharp/beta/skills/versions/create.md index 3ac4fa2329..500c92039a 100644 --- a/content/en/api/csharp/beta/skills/versions/create.md +++ b/content/en/api/csharp/beta/skills/versions/create.md @@ -135,6 +135,10 @@ Create Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/versions/delete.md b/content/en/api/csharp/beta/skills/versions/delete.md index 86f7f3316e..0c43396494 100644 --- a/content/en/api/csharp/beta/skills/versions/delete.md +++ b/content/en/api/csharp/beta/skills/versions/delete.md @@ -135,6 +135,10 @@ Delete Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/versions/download.md b/content/en/api/csharp/beta/skills/versions/download.md index abb56d73ca..cf3a0a1824 100644 --- a/content/en/api/csharp/beta/skills/versions/download.md +++ b/content/en/api/csharp/beta/skills/versions/download.md @@ -135,6 +135,10 @@ Download a skill version's content as a zip archive. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/versions/list.md b/content/en/api/csharp/beta/skills/versions/list.md index e9323124f4..eb0703156f 100644 --- a/content/en/api/csharp/beta/skills/versions/list.md +++ b/content/en/api/csharp/beta/skills/versions/list.md @@ -141,6 +141,10 @@ List Skill Versions - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/skills/versions/retrieve.md b/content/en/api/csharp/beta/skills/versions/retrieve.md index 66c6c5471d..75a4e74602 100644 --- a/content/en/api/csharp/beta/skills/versions/retrieve.md +++ b/content/en/api/csharp/beta/skills/versions/retrieve.md @@ -135,6 +135,10 @@ Get Skill Version - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels.md b/content/en/api/csharp/beta/tunnels.md index e3b8e1e8d7..fe360adc42 100644 --- a/content/en/api/csharp/beta/tunnels.md +++ b/content/en/api/csharp/beta/tunnels.md @@ -133,6 +133,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -323,6 +327,10 @@ Fetches a tunnel by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -523,6 +531,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -720,6 +732,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -910,6 +926,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1087,6 +1107,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1316,6 +1340,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1521,6 +1549,10 @@ Fetches a tunnel certificate by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1736,6 +1768,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1944,6 +1980,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/archive.md b/content/en/api/csharp/beta/tunnels/archive.md index 70ab0ecd09..a87fcf212a 100644 --- a/content/en/api/csharp/beta/tunnels/archive.md +++ b/content/en/api/csharp/beta/tunnels/archive.md @@ -129,6 +129,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/certificates.md b/content/en/api/csharp/beta/tunnels/certificates.md index d1c2c7e58d..5525671809 100644 --- a/content/en/api/csharp/beta/tunnels/certificates.md +++ b/content/en/api/csharp/beta/tunnels/certificates.md @@ -137,6 +137,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -342,6 +346,10 @@ Fetches a tunnel certificate by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -557,6 +565,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -765,6 +777,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/certificates/archive.md b/content/en/api/csharp/beta/tunnels/certificates/archive.md index 3c21d329d7..c5a9f00c06 100644 --- a/content/en/api/csharp/beta/tunnels/certificates/archive.md +++ b/content/en/api/csharp/beta/tunnels/certificates/archive.md @@ -133,6 +133,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/certificates/create.md b/content/en/api/csharp/beta/tunnels/certificates/create.md index 6c3aef3d20..4fed75ed76 100644 --- a/content/en/api/csharp/beta/tunnels/certificates/create.md +++ b/content/en/api/csharp/beta/tunnels/certificates/create.md @@ -135,6 +135,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/certificates/list.md b/content/en/api/csharp/beta/tunnels/certificates/list.md index 2be5dfc81c..42c7cba1f0 100644 --- a/content/en/api/csharp/beta/tunnels/certificates/list.md +++ b/content/en/api/csharp/beta/tunnels/certificates/list.md @@ -143,6 +143,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/certificates/retrieve.md b/content/en/api/csharp/beta/tunnels/certificates/retrieve.md index 2b0f3b7cf2..540efef092 100644 --- a/content/en/api/csharp/beta/tunnels/certificates/retrieve.md +++ b/content/en/api/csharp/beta/tunnels/certificates/retrieve.md @@ -133,6 +133,10 @@ Fetches a tunnel certificate by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/create.md b/content/en/api/csharp/beta/tunnels/create.md index 5c80639771..ac761f654b 100644 --- a/content/en/api/csharp/beta/tunnels/create.md +++ b/content/en/api/csharp/beta/tunnels/create.md @@ -131,6 +131,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/list.md b/content/en/api/csharp/beta/tunnels/list.md index c0366d6bd1..67ade34512 100644 --- a/content/en/api/csharp/beta/tunnels/list.md +++ b/content/en/api/csharp/beta/tunnels/list.md @@ -139,6 +139,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/retrieve.md b/content/en/api/csharp/beta/tunnels/retrieve.md index 5b932f9211..afde0b8c46 100644 --- a/content/en/api/csharp/beta/tunnels/retrieve.md +++ b/content/en/api/csharp/beta/tunnels/retrieve.md @@ -129,6 +129,10 @@ Fetches a tunnel by ID. - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/reveal_token.md b/content/en/api/csharp/beta/tunnels/reveal_token.md index f06f0af70b..8de3b4bdef 100644 --- a/content/en/api/csharp/beta/tunnels/reveal_token.md +++ b/content/en/api/csharp/beta/tunnels/reveal_token.md @@ -129,6 +129,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/tunnels/rotate_token.md b/content/en/api/csharp/beta/tunnels/rotate_token.md index 22e07e131d..3addca37a5 100644 --- a/content/en/api/csharp/beta/tunnels/rotate_token.md +++ b/content/en/api/csharp/beta/tunnels/rotate_token.md @@ -135,6 +135,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/user_profiles.md b/content/en/api/csharp/beta/user_profiles.md index 1ee587fcf1..005556f3b5 100644 --- a/content/en/api/csharp/beta/user_profiles.md +++ b/content/en/api/csharp/beta/user_profiles.md @@ -163,6 +163,10 @@ Create User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -494,6 +498,10 @@ List User Profiles - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -800,6 +808,10 @@ Get User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1140,6 +1152,10 @@ Update User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1442,6 +1458,10 @@ Delete User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1609,6 +1629,10 @@ Create Enrollment URL - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2083,6 +2107,10 @@ Create Action URL - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/user_profiles/create.md b/content/en/api/csharp/beta/user_profiles/create.md index 4219de952d..351fa05a10 100644 --- a/content/en/api/csharp/beta/user_profiles/create.md +++ b/content/en/api/csharp/beta/user_profiles/create.md @@ -161,6 +161,10 @@ Create User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/user_profiles/create_enrollment_url.md b/content/en/api/csharp/beta/user_profiles/create_enrollment_url.md index 2bf837cd51..afb496fe73 100644 --- a/content/en/api/csharp/beta/user_profiles/create_enrollment_url.md +++ b/content/en/api/csharp/beta/user_profiles/create_enrollment_url.md @@ -127,6 +127,10 @@ Create Enrollment URL - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/user_profiles/list.md b/content/en/api/csharp/beta/user_profiles/list.md index 5962f8d11c..a68e09bdcf 100644 --- a/content/en/api/csharp/beta/user_profiles/list.md +++ b/content/en/api/csharp/beta/user_profiles/list.md @@ -159,6 +159,10 @@ List User Profiles - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/user_profiles/retrieve.md b/content/en/api/csharp/beta/user_profiles/retrieve.md index 29b391bb43..20e4ce9527 100644 --- a/content/en/api/csharp/beta/user_profiles/retrieve.md +++ b/content/en/api/csharp/beta/user_profiles/retrieve.md @@ -127,6 +127,10 @@ Get User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/user_profiles/update.md b/content/en/api/csharp/beta/user_profiles/update.md index 950a7e40ab..5ca2055ea7 100644 --- a/content/en/api/csharp/beta/user_profiles/update.md +++ b/content/en/api/csharp/beta/user_profiles/update.md @@ -165,6 +165,10 @@ Update User Profile - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults.md b/content/en/api/csharp/beta/vaults.md index dbcf6b8d26..8cb58fdb01 100644 --- a/content/en/api/csharp/beta/vaults.md +++ b/content/en/api/csharp/beta/vaults.md @@ -135,6 +135,10 @@ Create a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -342,6 +346,10 @@ List Vaults - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -546,6 +554,10 @@ Retrieve a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -756,6 +768,10 @@ Update a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -956,6 +972,10 @@ Delete a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1123,6 +1143,10 @@ Archive a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1553,6 +1577,10 @@ Create a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1895,6 +1923,10 @@ List Credentials - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2229,6 +2261,10 @@ Retrieve a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2697,6 +2733,10 @@ Update a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3025,6 +3065,10 @@ Delete a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3197,6 +3241,10 @@ Archive a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3525,6 +3573,10 @@ Validate an MCP OAuth Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/archive.md b/content/en/api/csharp/beta/vaults/archive.md index d82d2fddbc..c0cb78f69e 100644 --- a/content/en/api/csharp/beta/vaults/archive.md +++ b/content/en/api/csharp/beta/vaults/archive.md @@ -127,6 +127,10 @@ Archive a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/create.md b/content/en/api/csharp/beta/vaults/create.md index f105281709..511bc04822 100644 --- a/content/en/api/csharp/beta/vaults/create.md +++ b/content/en/api/csharp/beta/vaults/create.md @@ -133,6 +133,10 @@ Create a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials.md b/content/en/api/csharp/beta/vaults/credentials.md index fdd6b744e2..792a5bd310 100644 --- a/content/en/api/csharp/beta/vaults/credentials.md +++ b/content/en/api/csharp/beta/vaults/credentials.md @@ -305,6 +305,10 @@ Create a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -647,6 +651,10 @@ List Credentials - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -981,6 +989,10 @@ Retrieve a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1449,6 +1461,10 @@ Update a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1777,6 +1793,10 @@ Delete a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1949,6 +1969,10 @@ Archive a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2277,6 +2301,10 @@ Validate an MCP OAuth Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials/archive.md b/content/en/api/csharp/beta/vaults/credentials/archive.md index 390a8dc8c8..04551d13b4 100644 --- a/content/en/api/csharp/beta/vaults/credentials/archive.md +++ b/content/en/api/csharp/beta/vaults/credentials/archive.md @@ -131,6 +131,10 @@ Archive a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials/create.md b/content/en/api/csharp/beta/vaults/credentials/create.md index 58451a2077..88ce6a8d94 100644 --- a/content/en/api/csharp/beta/vaults/credentials/create.md +++ b/content/en/api/csharp/beta/vaults/credentials/create.md @@ -303,6 +303,10 @@ Create a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials/delete.md b/content/en/api/csharp/beta/vaults/credentials/delete.md index d3a589a75f..cf5f599867 100644 --- a/content/en/api/csharp/beta/vaults/credentials/delete.md +++ b/content/en/api/csharp/beta/vaults/credentials/delete.md @@ -131,6 +131,10 @@ Delete a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials/list.md b/content/en/api/csharp/beta/vaults/credentials/list.md index 6789d68256..bcce145176 100644 --- a/content/en/api/csharp/beta/vaults/credentials/list.md +++ b/content/en/api/csharp/beta/vaults/credentials/list.md @@ -141,6 +141,10 @@ List Credentials - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate.md index 498c39268e..f233581189 100644 --- a/content/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate.md @@ -131,6 +131,10 @@ Validate an MCP OAuth Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials/retrieve.md b/content/en/api/csharp/beta/vaults/credentials/retrieve.md index 474dd26c0b..bbb29d88a4 100644 --- a/content/en/api/csharp/beta/vaults/credentials/retrieve.md +++ b/content/en/api/csharp/beta/vaults/credentials/retrieve.md @@ -131,6 +131,10 @@ Retrieve a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/credentials/update.md b/content/en/api/csharp/beta/vaults/credentials/update.md index f72f65201f..4923cd5fee 100644 --- a/content/en/api/csharp/beta/vaults/credentials/update.md +++ b/content/en/api/csharp/beta/vaults/credentials/update.md @@ -271,6 +271,10 @@ Update a Credential - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/delete.md b/content/en/api/csharp/beta/vaults/delete.md index 19ecad5237..501b3f28f6 100644 --- a/content/en/api/csharp/beta/vaults/delete.md +++ b/content/en/api/csharp/beta/vaults/delete.md @@ -127,6 +127,10 @@ Delete a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/list.md b/content/en/api/csharp/beta/vaults/list.md index f8222dfcf1..2b4990a487 100644 --- a/content/en/api/csharp/beta/vaults/list.md +++ b/content/en/api/csharp/beta/vaults/list.md @@ -137,6 +137,10 @@ List Vaults - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/retrieve.md b/content/en/api/csharp/beta/vaults/retrieve.md index fe94070806..8ab4653e57 100644 --- a/content/en/api/csharp/beta/vaults/retrieve.md +++ b/content/en/api/csharp/beta/vaults/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/beta/vaults/update.md b/content/en/api/csharp/beta/vaults/update.md index 930ca1a6ee..f45e383225 100644 --- a/content/en/api/csharp/beta/vaults/update.md +++ b/content/en/api/csharp/beta/vaults/update.md @@ -137,6 +137,10 @@ Update a Vault - `Webhooks2026_10_07("webhooks-2026-10-07")` + - `MessageThreads2026_08_12("message-threads-2026-08-12")` + + - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")` + - `string workspaceID` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/csharp/completions.md b/content/en/api/csharp/completions.md index dbc9bfba27..7757f8b543 100644 --- a/content/en/api/csharp/completions.md +++ b/content/en/api/csharp/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/csharp/completions/create.md b/content/en/api/csharp/completions/create.md index 71a2b01a47..5650ccc052 100644 --- a/content/en/api/csharp/completions/create.md +++ b/content/en/api/csharp/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/csharp/models.md b/content/en/api/csharp/models.md index 10d87b5d6f..810a5d004b 100644 --- a/content/en/api/csharp/models.md +++ b/content/en/api/csharp/models.md @@ -351,7 +351,7 @@ await foreach (var item in page.Paginate()) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -682,7 +682,7 @@ Console.WriteLine(modelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/csharp/models/list.md b/content/en/api/csharp/models/list.md index 2519f2e5d6..96c2685da6 100644 --- a/content/en/api/csharp/models/list.md +++ b/content/en/api/csharp/models/list.md @@ -349,7 +349,7 @@ await foreach (var item in page.Paginate()) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/csharp/models/retrieve.md b/content/en/api/csharp/models/retrieve.md index 0a680eecb7..1b5c5fc232 100644 --- a/content/en/api/csharp/models/retrieve.md +++ b/content/en/api/csharp/models/retrieve.md @@ -321,7 +321,7 @@ Console.WriteLine(modelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/errors.md b/content/en/api/errors.md index d2f77278ed..062ec169e4 100644 --- a/content/en/api/errors.md +++ b/content/en/api/errors.md @@ -538,15 +538,15 @@ On the Claude API and Claude Models on Google Cloud (Google managed), Claude Opu The API returns the same message for any Anthropic-defined tool type that the requested model doesn’t support. Declare `{"type": "computer_toolset_20260801"}` without the beta header and update your agent loop as described in [Migrate from `computer_20251124`](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#migrate-from-computer-20251124). To move from `computer_20250124`, see [Move computer use to the toolset](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#computer-use-toolset) in the Claude Haiku 5.5 migration guide. Earlier models that support the toolset keep accepting `computer_20251124`, as do Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 on Amazon Bedrock. -### Thinking block no longer matches the conversation +### Thinking block bound to a different conversation -On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, the API accepts a replayed thinking block only while the `system` prompt, `tools`, and messages that preceded it are unchanged. For new accounts created on or after August 31, 2026, and for any request that sets `thinking.block_binding.prefix_mismatch_behavior` to `"error"`, a replayed block whose earlier history changed is rejected with a 400 `invalid_request_error` (with `"drop_block"`, the API drops the block and the request succeeds). The message starts with the position of the first failing block: +This 400 `invalid_request_error` usually means a thinking block you sent back failed the prefix check: something before the block changed after the block was produced, such as the `system` prompt, `tools`, or an earlier message. Claude 5.1 and later models run this check. For requests that don’t set `prefix_mismatch_behavior`, [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) shows which ones get this error. The message starts with the position of the first failing block: ```text wrap messages.{i}.content.{j}: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". ``` -Without the `thinking-binding-controls-2026-08-01` beta header, the message also names that header. Keep the conversation history append-only, or send the beta header with `prefix_mismatch_behavior: "drop_block"` to drop the block and continue. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With `between_tools` on Claude Sonnet 5.5, or `thinking: {"type": "disabled"}` on Claude Haiku 5.5, keep the history append-only, or strip the thinking blocks from the edited turn on. A block from a model the target model can’t read is dropped rather than rejected. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check) and the [fix for an invalid thinking block signature](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#error-thinking-block-signature) in Troubleshooting thinking. +Without the `thinking-binding-controls-2026-08-01` beta header, the message also names that header. Resending the same history fails the same way, even after you fix the code that made the edit. To continue the conversation, send the beta header with `prefix_mismatch_behavior: "drop_block"` on the retry and on every later request. Alternatively, strip the block the error names and every later `thinking` and `redacted_thinking` block, then retry once. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`, so with any other thinking setting, strip the blocks. To stop new conversations from failing, keep the history append-only. A block from a model the target model can’t read is dropped rather than rejected. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check) and the [fix for an invalid thinking block signature](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#error-thinking-block-signature) in Troubleshooting thinking. Sending `thinking.block_binding` without the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers) returns a 400 `invalid_request_error` whose message ends in: diff --git a/content/en/api/go/beta.md b/content/en/api/go/beta.md index 9c2a6c1481..eb891184c6 100644 --- a/content/en/api/go/beta.md +++ b/content/en/api/go/beta.md @@ -115,6 +115,10 @@ url: https://platform.claude.com/docs/en/api/go/beta - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + ### Beta API Error - `type BetaAPIError` @@ -589,6 +593,10 @@ The Models API response can be used to determine which models are available for - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -932,7 +940,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1071,6 +1079,10 @@ The Models API response can be used to determine information about a specific mo - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1416,7 +1428,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -5065,6 +5077,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=go#configuring-thinking) for each model's behavior. + - `Thread BetaMessageThreadParamUnion Optional` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `ToolChoice BetaToolChoiceUnionParam Optional` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -5322,6 +5338,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -13402,6 +13422,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -17436,6 +17460,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `type BetaThinkingConfigAdaptiveParam` + - `Thread BetaMessageThreadParamUnion Optional` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `type BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `Type Create` + + - `type BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `Type Continue` + + - `PreviousMessageID string` + + The `id` of the previous response in this Thread. + - `ToolChoice BetaToolChoiceUnionParam Optional` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -17747,6 +17791,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -18058,6 +18106,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18364,6 +18416,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18663,6 +18719,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18959,6 +19019,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19147,6 +19211,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -24068,6 +24136,10 @@ Create Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -25138,6 +25210,10 @@ List Agents - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26192,6 +26268,10 @@ Get Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28011,6 +28091,10 @@ Update Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29060,6 +29144,10 @@ Archive Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30119,6 +30207,10 @@ List Agent Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31285,6 +31377,10 @@ Create a new environment with the specified configuration. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31635,6 +31731,10 @@ List environments with pagination support. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31976,6 +32076,10 @@ Retrieve a specific environment by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32432,6 +32536,10 @@ Update an existing environment's configuration. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32772,6 +32880,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32954,6 +33066,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33300,6 +33416,10 @@ Retrieve detailed information about a specific work item. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33580,6 +33700,10 @@ Long poll for work items in the queue. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `AnthropicWorkerID param.Opt[string] Optional` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -33846,6 +33970,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSelfHostedWork` @@ -34118,6 +34246,10 @@ Record a heartbeat for a work item to maintain the lease. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSelfHostedWorkHeartbeatResponse` @@ -34329,6 +34461,10 @@ Stop a work item, initiating graceful or forced shutdown. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34608,6 +34744,10 @@ List work items in an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSelfHostedWork` @@ -34879,6 +35019,10 @@ Update work item metadata with merge semantics. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35150,6 +35294,10 @@ Get statistics about the work queue for an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -36455,6 +36603,10 @@ Create Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -38044,6 +38196,10 @@ List Sessions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -39543,6 +39699,10 @@ Get Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -41062,6 +41222,10 @@ Update Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -42559,6 +42723,10 @@ Delete Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -42735,6 +42903,10 @@ Archive Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -44360,6 +44532,10 @@ List Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -47835,6 +48011,10 @@ Send Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -48476,6 +48656,10 @@ Stream Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51632,6 +51816,10 @@ Add Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51840,6 +52028,10 @@ List Session Resources - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52135,6 +52327,10 @@ Get Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52427,6 +52623,10 @@ Update Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52714,6 +52914,10 @@ Delete Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52918,6 +53122,10 @@ List Session Threads - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -54011,6 +54219,10 @@ Get Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -55101,6 +55313,10 @@ Archive Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56199,6 +56415,10 @@ List Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -59324,6 +59544,10 @@ Stream Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -62848,6 +63072,10 @@ Create Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -63635,6 +63863,10 @@ List Deployments - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -64382,6 +64614,10 @@ Get Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -65500,6 +65736,10 @@ Update Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66246,6 +66486,10 @@ Archive Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66992,6 +67236,10 @@ Run Deployment Now - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67400,6 +67648,10 @@ Pause Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68146,6 +68398,10 @@ Unpause Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68936,6 +69192,10 @@ List Deployment Runs - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69345,6 +69605,10 @@ Get Deployment Run - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69761,6 +70025,10 @@ Create a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69982,6 +70250,10 @@ List Vaults - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70196,6 +70468,10 @@ Retrieve a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70419,6 +70695,10 @@ Update a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70632,6 +70912,10 @@ Delete a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70812,6 +71096,10 @@ Archive a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71203,6 +71491,10 @@ Create a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71560,6 +71852,10 @@ List Credentials - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71905,6 +72201,10 @@ Retrieve a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72387,6 +72687,10 @@ Update a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72729,6 +73033,10 @@ Delete a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72915,6 +73223,10 @@ Archive a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73257,6 +73569,10 @@ Validate an MCP OAuth Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73569,6 +73885,10 @@ Create a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73815,6 +74135,10 @@ List Memory Stores - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74040,6 +74364,10 @@ Retrieve a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74288,6 +74616,10 @@ Update a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74516,6 +74848,10 @@ Delete a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74698,6 +75034,10 @@ Archive a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74946,6 +75286,10 @@ Create a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75221,6 +75565,10 @@ List Memories - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75492,6 +75840,10 @@ Retrieve a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75762,6 +76114,10 @@ Update a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76014,6 +76370,10 @@ Delete a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76254,6 +76614,10 @@ List Memory Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76592,6 +76956,10 @@ Retrieve a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76921,6 +77289,10 @@ Redact a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77256,6 +77628,10 @@ Upload File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77514,6 +77890,10 @@ List Files - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77757,6 +78137,10 @@ Download File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77920,6 +78304,10 @@ Get File Metadata - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78162,6 +78550,10 @@ Delete File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78356,6 +78748,10 @@ Create Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78620,6 +79016,10 @@ List Skills - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78868,6 +79268,10 @@ Get Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79115,6 +79519,10 @@ Delete Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79311,6 +79719,10 @@ Create Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79543,6 +79955,10 @@ List Skill Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79770,6 +80186,10 @@ Download a skill version's content as a zip archive. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79943,6 +80363,10 @@ Get Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80167,6 +80591,10 @@ Delete Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80390,6 +80818,10 @@ Create User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80733,6 +81165,10 @@ List User Profiles - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81049,6 +81485,10 @@ Get User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81402,6 +81842,10 @@ Update User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81717,6 +82161,10 @@ Delete User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81897,6 +82345,10 @@ Create Enrollment URL - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82092,6 +82544,10 @@ Create Action URL - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82367,6 +82823,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82861,6 +83321,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83293,6 +83757,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83724,6 +84192,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84155,6 +84627,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84588,6 +85064,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84790,6 +85270,10 @@ Fetches a tunnel by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85006,6 +85490,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85213,6 +85701,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85419,6 +85911,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85612,6 +86108,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85807,6 +86307,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86026,6 +86530,10 @@ Fetches a tunnel certificate by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86255,6 +86763,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86477,6 +86989,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88418,6 +88934,10 @@ matched as the JWT's `iss` claim and is not fetched. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationIssuer` @@ -88753,6 +89273,10 @@ Archived issuers are excluded unless `include_archived=true`. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationIssuer` @@ -89078,6 +89602,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationIssuer` @@ -89485,6 +90013,10 @@ session. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationIssuer` @@ -89814,6 +90346,10 @@ issuer cannot be changed), or recreate them against another issuer. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationIssuer` @@ -90198,6 +90734,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationRule` @@ -90549,6 +91089,10 @@ unless `include_archived=true`. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationRule` @@ -90880,6 +91424,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationRule` @@ -91270,6 +91818,10 @@ Console session. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationRule` @@ -91608,6 +92160,10 @@ other scopes require a Console session. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationRule` @@ -91953,6 +92509,10 @@ other scopes require a Console session. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationRuleWorkspace` @@ -92169,6 +92729,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaFederationRuleWorkspace` @@ -92381,6 +92945,10 @@ Console session. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaOrganizationFederationRuleWorkspaceRemoveResponse` @@ -93129,6 +93697,10 @@ accounts. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccount` @@ -93377,242 +93949,250 @@ archived service accounts. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` -#### Returns - -- `type BetaServiceAccount` - - Named non-human identity within the caller's organization. - - A service account is a pure identity: name + org. Authorization lives on - whatever references it (federation rules). - - - `Type ServiceAccount` - - default: service_account - - - `ID string` - - Tagged ID of the service account. - - - `ArchivedAt Time` - - If set, this service account is archived. - - format: date-time - - - `ArchivedByActorID string` - - Tagged ID (`user_`/`svac_`) of the actor that archived this service account. - - - `CreatedAt Time` - - When this service account was created. - - format: date-time - - - `CreatedByActorID string` - - Tagged ID (`user_`/`svac_`) of the actor that created this service account. - - - `Description string` - - Optional free-text description. - - - `Name string` - - Admin-chosen slug identifier. - - - `OrganizationRole BetaServiceAccountOrganizationRole` - - Org-level role. A federation rule may only be created or retargeted to grant `org:admin` scope when this is `admin`. A rule granting `org:admin` whose target is later demoted to `developer` is rejected at token exchange. Rules granting `org:admin` are managed in the Console. - - - `const BetaServiceAccountOrganizationRoleAdmin BetaServiceAccountOrganizationRole = "admin"` - - - `const BetaServiceAccountOrganizationRoleDeveloper BetaServiceAccountOrganizationRole = "developer"` - - - `UpdatedAt Time` - - When this service account was last updated. - - format: date-time - - - `UpdatedByActorID string` - - Tagged ID (`user_`/`svac_`) of the actor that last updated this service account. - -#### Example - -```go -package main - -import ( - "context" - "fmt" - - "github.com/anthropics/anthropic-sdk-go/v2" - "github.com/anthropics/anthropic-sdk-go/v2/option" -) + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` -func main() { - client := anthropic.NewClient( - option.WithAPIKey("my-anthropic-api-key"), - ) - page, err := client.Beta.Organization.ServiceAccounts.List(context.TODO(), anthropic.BetaOrganizationServiceAccountListParams{}) - if err != nil { - panic(err.Error()) - } - fmt.Printf("%+v\n", page) -} -``` - -##### Response (200) - -```json -{ - "data": [ - { - "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", - "archived_at": "2019-12-27T18:11:19.117Z", - "archived_by_actor_id": "archived_by_actor_id", - "created_at": "2024-10-30T23:58:27.427722Z", - "created_by_actor_id": "created_by_actor_id", - "description": "description", - "name": "ci-deploy-bot", - "organization_role": "admin", - "type": "service_account", - "updated_at": "2024-10-30T23:58:27.427722Z", - "updated_by_actor_id": "updated_by_actor_id" - } - ], - "next_page": "next_page" -} -``` - -### Get Service Account - -`client.Beta.Organization.ServiceAccounts.Get(ctx, serviceAccountID, query) (*BetaServiceAccount, error)` - -**GET** `/v1/organizations/service_accounts/{service_account_id}` - -**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=go). - -Retrieve a service account by its ID (`svac_...`). - -#### Parameters - -- `serviceAccountID string` (path parameter) - - ID of the service account. - -- `query BetaOrganizationServiceAccountGetParams` - - - `Betas []AnthropicBeta Optional` (header parameter) - - Optional header to specify the beta version(s) you want to use. - - - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` - - - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` - - - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` - - - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` - - - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` - - - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` - - - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` - - - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` - - - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` - - - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` - - - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` - - - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` - - - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` - - - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` - - - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` - - - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` - - - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` - - - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` - - - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` - - - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` - - - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` - - - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` - - - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` - - - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` - - - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` - - - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` - - - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` - - - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` - - - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` - - - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` - - - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` - - - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` - - - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` - - - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` - - - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` - - - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` - - - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` - - - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` - - - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` - - - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` - - - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` - - - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` - - - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` - - - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` - - - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` - - - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` - - - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` - - - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` - - - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` - - - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + +#### Returns + +- `type BetaServiceAccount` + + Named non-human identity within the caller's organization. + + A service account is a pure identity: name + org. Authorization lives on + whatever references it (federation rules). + + - `Type ServiceAccount` + + default: service_account + + - `ID string` + + Tagged ID of the service account. + + - `ArchivedAt Time` + + If set, this service account is archived. + + format: date-time + + - `ArchivedByActorID string` + + Tagged ID (`user_`/`svac_`) of the actor that archived this service account. + + - `CreatedAt Time` + + When this service account was created. + + format: date-time + + - `CreatedByActorID string` + + Tagged ID (`user_`/`svac_`) of the actor that created this service account. + + - `Description string` + + Optional free-text description. + + - `Name string` + + Admin-chosen slug identifier. + + - `OrganizationRole BetaServiceAccountOrganizationRole` + + Org-level role. A federation rule may only be created or retargeted to grant `org:admin` scope when this is `admin`. A rule granting `org:admin` whose target is later demoted to `developer` is rejected at token exchange. Rules granting `org:admin` are managed in the Console. + + - `const BetaServiceAccountOrganizationRoleAdmin BetaServiceAccountOrganizationRole = "admin"` + + - `const BetaServiceAccountOrganizationRoleDeveloper BetaServiceAccountOrganizationRole = "developer"` + + - `UpdatedAt Time` + + When this service account was last updated. + + format: date-time + + - `UpdatedByActorID string` + + Tagged ID (`user_`/`svac_`) of the actor that last updated this service account. + +#### Example + +```go +package main + +import ( + "context" + "fmt" + + "github.com/anthropics/anthropic-sdk-go/v2" + "github.com/anthropics/anthropic-sdk-go/v2/option" +) + +func main() { + client := anthropic.NewClient( + option.WithAPIKey("my-anthropic-api-key"), + ) + page, err := client.Beta.Organization.ServiceAccounts.List(context.TODO(), anthropic.BetaOrganizationServiceAccountListParams{}) + if err != nil { + panic(err.Error()) + } + fmt.Printf("%+v\n", page) +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", + "archived_at": "2019-12-27T18:11:19.117Z", + "archived_by_actor_id": "archived_by_actor_id", + "created_at": "2024-10-30T23:58:27.427722Z", + "created_by_actor_id": "created_by_actor_id", + "description": "description", + "name": "ci-deploy-bot", + "organization_role": "admin", + "type": "service_account", + "updated_at": "2024-10-30T23:58:27.427722Z", + "updated_by_actor_id": "updated_by_actor_id" + } + ], + "next_page": "next_page" +} +``` + +### Get Service Account + +`client.Beta.Organization.ServiceAccounts.Get(ctx, serviceAccountID, query) (*BetaServiceAccount, error)` + +**GET** `/v1/organizations/service_accounts/{service_account_id}` + +**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=go). + +Retrieve a service account by its ID (`svac_...`). + +#### Parameters + +- `serviceAccountID string` (path parameter) + + ID of the service account. + +- `query BetaOrganizationServiceAccountGetParams` + + - `Betas []AnthropicBeta Optional` (header parameter) + + Optional header to specify the beta version(s) you want to use. + + - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` + + - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` + + - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` + + - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` + + - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` + + - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` + + - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` + + - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` + + - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` + + - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` + + - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` + + - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` + + - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` + + - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` + + - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` + + - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` + + - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` + + - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` + + - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` + + - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` + + - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` + + - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` + + - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` + + - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` + + - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` + + - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` + + - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` + + - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` + + - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` + + - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` + + - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` + + - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` + + - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` + + - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` + + - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` + + - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` + + - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` + + - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` + + - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` + + - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` + + - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` + + - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` + + - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` + + - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` + + - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` + + - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` + + - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` + + - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` + + - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` + + - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` #### Returns @@ -93869,6 +94449,10 @@ interactive credential (a user OAuth token or a Console session). - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccount` @@ -94110,6 +94694,10 @@ those rules first or change their target to another service account. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccount` @@ -94363,6 +94951,10 @@ rejected. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccountWorkspaceMember` @@ -94596,6 +95188,10 @@ page to recover. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccountWorkspaceMember` @@ -94819,6 +95415,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaOrganizationServiceAccountWorkspaceRemoveResponse` @@ -95655,6 +96255,10 @@ Create Workspace - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaWorkspace` @@ -97479,6 +98083,10 @@ omitted from the results. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccountWorkspaceMember` @@ -97707,6 +98315,10 @@ accounts cannot be added and are rejected. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccountWorkspaceMember` @@ -97927,6 +98539,10 @@ account returns 404. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccountWorkspaceMember` @@ -98150,6 +98766,10 @@ rejected. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaServiceAccountWorkspaceMember` @@ -98369,6 +98989,10 @@ membership. Archived workspaces return 400. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaOrganizationWorkspaceServiceAccountRemoveResponse` @@ -100930,24 +101554,27 @@ func main() { } ``` -## Beta › Organization › Analytics › Usage Report +## Beta › Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -`client.Beta.Organization.Analytics.UsageReport.List(ctx, query) (*ReportPageCursor[BetaAnalyticsUsageReportTimeBucket], error)` +`client.Beta.Organization.Analytics.Usage.List(ctx, params) (*ReportPageCursor[BetaAnalyticsUsageItem], error)` -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Parameters -- `query BetaOrganizationAnalyticsUsageReportListParams` +- `params BetaOrganizationAnalyticsUsageListParams` - `StartingAt Time` (query parameter) @@ -100955,19 +101582,41 @@ key with the `read:analytics` scope. format: date-time - - `BucketWidth BetaOrganizationAnalyticsUsageReportListParamsBucketWidth Optional` (query parameter) + - `ActorIDs []string Optional` (query parameter) - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - - `const BetaOrganizationAnalyticsUsageReportListParamsBucketWidthDay BetaOrganizationAnalyticsUsageReportListParamsBucketWidth = "1d"` + maxItems: 100 - - `const BetaOrganizationAnalyticsUsageReportListParamsBucketWidthHour BetaOrganizationAnalyticsUsageReportListParamsBucketWidth = "1h"` + - `ActorTypes []BetaAnalyticsActorType Optional` (query parameter) - - `const BetaOrganizationAnalyticsUsageReportListParamsBucketWidthMinute BetaOrganizationAnalyticsUsageReportListParamsBucketWidth = "1m"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `const BetaAnalyticsActorTypeAPIActor BetaAnalyticsActorType = "api_actor"` + + - `const BetaAnalyticsActorTypeFederatedActor BetaAnalyticsActorType = "federated_actor"` + + - `const BetaAnalyticsActorTypeServiceAccountActor BetaAnalyticsActorType = "service_account_actor"` + + - `const BetaAnalyticsActorTypeUserActor BetaAnalyticsActorType = "user_actor"` + + - `AgentIDs []string Optional` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `APIKeyIDs []string Optional` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `ClaudeTagCategories []BetaAnalyticsClaudeTagCategory Optional` (query parameter) - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -100997,35 +101646,71 @@ key with the `read:analytics` scope. - `const BetaAnalyticsContextWindowFrom200kTo1M BetaAnalyticsContextWindow = "200k-1M"` + - `DeploymentIDs []string Optional` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `EndingAt param.Opt[Time] Optional` (query parameter) - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time - - `GroupBy []string Optional` (query parameter) + - `EnvironmentIDs []string Optional` (query parameter) - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. maxItems: 100 - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByClaudeTagCategory BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "claude_tag_category"` + - `ExcludeDeletedUsers param.Opt[bool] Optional` (query parameter) - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByClaudeTagUserID BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "claude_tag_user_id"` + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByContextWindow BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "context_window"` + - `GroupBy []BetaAnalyticsUsageGroupBy Optional` (query parameter) - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByInferenceGeo BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "inference_geo"` + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByModel BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "model"` + maxItems: 100 - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByProduct BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "product"` + - `const BetaAnalyticsUsageGroupByActor BetaAnalyticsUsageGroupBy = "actor"` - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByRBACGroupID BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "rbac_group_id"` + - `const BetaAnalyticsUsageGroupByActorType BetaAnalyticsUsageGroupBy = "actor_type"` - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupBySlackChannelID BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "slack_channel_id"` + - `const BetaAnalyticsUsageGroupByAgentID BetaAnalyticsUsageGroupBy = "agent_id"` - - `const BetaOrganizationAnalyticsUsageReportListParamsGroupBySpeed BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "speed"` + - `const BetaAnalyticsUsageGroupByAPIKeyID BetaAnalyticsUsageGroupBy = "api_key_id"` + + - `const BetaAnalyticsUsageGroupByClaudeTagCategory BetaAnalyticsUsageGroupBy = "claude_tag_category"` + + - `const BetaAnalyticsUsageGroupByClaudeTagUserID BetaAnalyticsUsageGroupBy = "claude_tag_user_id"` + + - `const BetaAnalyticsUsageGroupByContextWindow BetaAnalyticsUsageGroupBy = "context_window"` + + - `const BetaAnalyticsUsageGroupByDeploymentID BetaAnalyticsUsageGroupBy = "deployment_id"` + + - `const BetaAnalyticsUsageGroupByEnvironmentID BetaAnalyticsUsageGroupBy = "environment_id"` + + - `const BetaAnalyticsUsageGroupByInferenceGeo BetaAnalyticsUsageGroupBy = "inference_geo"` + + - `const BetaAnalyticsUsageGroupByModel BetaAnalyticsUsageGroupBy = "model"` + + - `const BetaAnalyticsUsageGroupByProduct BetaAnalyticsUsageGroupBy = "product"` + + - `const BetaAnalyticsUsageGroupByRBACGroupID BetaAnalyticsUsageGroupBy = "rbac_group_id"` + + - `const BetaAnalyticsUsageGroupByServiceTier BetaAnalyticsUsageGroupBy = "service_tier"` + + - `const BetaAnalyticsUsageGroupBySessionID BetaAnalyticsUsageGroupBy = "session_id"` + + - `const BetaAnalyticsUsageGroupBySlackChannelID BetaAnalyticsUsageGroupBy = "slack_channel_id"` + + - `const BetaAnalyticsUsageGroupBySpeed BetaAnalyticsUsageGroupBy = "speed"` + + - `const BetaAnalyticsUsageGroupByUserProfileID BetaAnalyticsUsageGroupBy = "user_profile_id"` + + - `const BetaAnalyticsUsageGroupByWorkspaceID BetaAnalyticsUsageGroupBy = "workspace_id"` - `InferenceGeos []BetaAnalyticsInferenceGeoFilter Optional` (query parameter) @@ -101041,9 +101726,9 @@ key with the `read:analytics` scope. - `Limit param.Opt[int64] Optional` (query parameter) - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + minimum: 1, maximum: 1000 - `Models []string Optional` (query parameter) @@ -101051,31 +101736,47 @@ key with the `read:analytics` scope. maxItems: 100 + - `Order BetaAnalyticsUsageCostSortOrder Optional` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `OrderBy BetaAnalyticsUsageOrderBy Optional` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + - `Page param.Opt[string] Optional` (query parameter) Opaque cursor from a previous response's `next_page` field. - - `Products []BetaAnalyticsProductFilter Optional` (query parameter) + - `Products []BetaAnalyticsUsageCostProductFilter Optional` (query parameter) - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 - - `const BetaAnalyticsProductFilterChat BetaAnalyticsProductFilter = "chat"` + - `const BetaAnalyticsUsageCostProductFilterChat BetaAnalyticsUsageCostProductFilter = "chat"` - - `const BetaAnalyticsProductFilterChatCoworkUnified BetaAnalyticsProductFilter = "chat_cowork_unified"` + - `const BetaAnalyticsUsageCostProductFilterChatCoworkUnified BetaAnalyticsUsageCostProductFilter = "chat_cowork_unified"` - - `const BetaAnalyticsProductFilterClaudeTag BetaAnalyticsProductFilter = "claude-tag"` + - `const BetaAnalyticsUsageCostProductFilterClaudeCode BetaAnalyticsUsageCostProductFilter = "claude_code"` - - `const BetaAnalyticsProductFilterClaudeCode BetaAnalyticsProductFilter = "claude_code"` + - `const BetaAnalyticsUsageCostProductFilterClaudeConsole BetaAnalyticsUsageCostProductFilter = "claude_console"` - - `const BetaAnalyticsProductFilterClaudeDesign BetaAnalyticsProductFilter = "claude_design"` + - `const BetaAnalyticsUsageCostProductFilterClaudeDesign BetaAnalyticsUsageCostProductFilter = "claude_design"` - - `const BetaAnalyticsProductFilterClaudeInChrome BetaAnalyticsProductFilter = "claude_in_chrome"` + - `const BetaAnalyticsUsageCostProductFilterClaudeInChrome BetaAnalyticsUsageCostProductFilter = "claude_in_chrome"` - - `const BetaAnalyticsProductFilterCowork BetaAnalyticsProductFilter = "cowork"` + - `const BetaAnalyticsUsageCostProductFilterClaudeTag BetaAnalyticsUsageCostProductFilter = "claude_tag"` - - `const BetaAnalyticsProductFilterOfficeAgent BetaAnalyticsProductFilter = "office_agent"` + - `const BetaAnalyticsUsageCostProductFilterCowork BetaAnalyticsUsageCostProductFilter = "cowork"` + + - `const BetaAnalyticsUsageCostProductFilterManagedAgentsAPI BetaAnalyticsUsageCostProductFilter = "managed_agents_api"` + + - `const BetaAnalyticsUsageCostProductFilterMessageBatchesAPI BetaAnalyticsUsageCostProductFilter = "message_batches_api"` + + - `const BetaAnalyticsUsageCostProductFilterMessagesAPI BetaAnalyticsUsageCostProductFilter = "messages_api"` + + - `const BetaAnalyticsUsageCostProductFilterOfficeAgent BetaAnalyticsUsageCostProductFilter = "office_agent"` - `RBACGroupIDs []string Optional` (query parameter) @@ -101083,65 +101784,1495 @@ key with the `read:analytics` scope. maxItems: 100 + - `ServiceTiers []BetaAnalyticsServiceTier Optional` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `const BetaAnalyticsServiceTierBatch BetaAnalyticsServiceTier = "batch"` + + - `const BetaAnalyticsServiceTierFlex BetaAnalyticsServiceTier = "flex"` + + - `const BetaAnalyticsServiceTierFlexDiscount BetaAnalyticsServiceTier = "flex_discount"` + + - `const BetaAnalyticsServiceTierPriority BetaAnalyticsServiceTier = "priority"` + + - `const BetaAnalyticsServiceTierPriorityOnDemand BetaAnalyticsServiceTier = "priority_on_demand"` + + - `const BetaAnalyticsServiceTierStandard BetaAnalyticsServiceTier = "standard"` + + - `SessionIDs []string Optional` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `SlackChannelIDs []string Optional` (query parameter) Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 - - `Speeds []string Optional` (query parameter) + - `Speeds []BetaAnalyticsSpeed Optional` (query parameter) Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. maxItems: 100 - - `const BetaOrganizationAnalyticsUsageReportListParamsSpeedFast BetaOrganizationAnalyticsUsageReportListParamsSpeed = "fast"` + - `const BetaAnalyticsSpeedFast BetaAnalyticsSpeed = "fast"` - - `const BetaOrganizationAnalyticsUsageReportListParamsSpeedStandard BetaOrganizationAnalyticsUsageReportListParamsSpeed = "standard"` + - `const BetaAnalyticsSpeedStandard BetaAnalyticsSpeed = "standard"` - - `UserIDs []string Optional` (query parameter) + - `TimeBucketWidth BetaAnalyticsTimeBucketWidth Optional` (query parameter) - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `UserProfileIDs []string Optional` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. maxItems: 100 + - `WorkspaceIDs []string Optional` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `Betas []AnthropicBeta Optional` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` + + - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` + + - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` + + - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` + + - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` + + - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` + + - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` + + - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` + + - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` + + - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` + + - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` + + - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` + + - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` + + - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` + + - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` + + - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` + + - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` + + - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` + + - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` + + - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` + + - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` + + - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` + + - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` + + - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` + + - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` + + - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` + + - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` + + - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` + + - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` + + - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` + + - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` + + - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` + + - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` + + - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` + + - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` + + - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` + + - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` + + - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` + + - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` + + - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` + + - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` + + - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` + + - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` + + - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` + + - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` + + - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` + + - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` + + - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` + + - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` + + - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns -- `type BetaAnalyticsUsageReportTimeBucket` +- `type BetaAnalyticsUsageItem` - `EndingAt Time` - End of the time bucket (exclusive) in RFC 3339 format. + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `Results []BetaAnalyticsUsageBucketedResult` + - `Group BetaAnalyticsUsageGroup` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + The dimension values this row's usage is broken out by. - - `CacheCreation BetaCacheCreation` + - `Actor BetaAnalyticsActorUnion` - The number of input tokens for cache creation. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `Ephemeral1hInputTokens int64` + - `type BetaAnalyticsReportUserActor` - The number of input tokens used to create the 1 hour cache entry. + - `Type UserActor` - default: 0, minimum: 0 + Actor type. Always `"user_actor"`. - - `Ephemeral5mInputTokens int64` + - `Deleted bool` - The number of input tokens used to create the 5 minute cache entry. + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - default: 0, minimum: 0 + - `EmailAddress string` - - `CacheReadInputTokens int64` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - The number of input tokens read from the cache. + - `Name string` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `UserID string` + + Tagged user ID. + + - `type BetaAnalyticsServiceAccountActor` + + - `Type ServiceAccountActor` + + - `ServiceAccountID string` + + Tagged service account ID. + + - `type BetaAnalyticsFederatedActor` + + - `Type FederatedActor` + + - `Provider BetaAnalyticsFederatedActorProviderUnion` + + The trusted provider that asserted the caller's identity. + + - `type BetaAnalyticsFederatedActorAWSProvider` + + - `Type AWS` + + - `AccountID string` + + The AWS account the organization is bound to. + + - `SignedPrincipal string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `type BetaAnalyticsFederatedActorAzureProvider` + + - `Type Azure` + + - `SubscriptionID string` + + The Azure subscription the organization is bound to. + + - `type BetaAnalyticsFederatedActorGCPProvider` + + - `Type GCP` + + - `ProjectNumber string` + + The Google Cloud project the organization is bound to. + + - `type BetaAnalyticsFederatedActorOIDCProvider` + + - `Type OIDC` + + - `Issuer string` + + The federation issuer's URL. + + - `Subject string` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `type BetaAnalyticsAPIActor` + + - `Type APIActor` + + - `APIKeyID string` + + Tagged API key ID. + + - `ActorType BetaAnalyticsActorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `const BetaAnalyticsActorTypeAPIActor BetaAnalyticsActorType = "api_actor"` + + - `const BetaAnalyticsActorTypeFederatedActor BetaAnalyticsActorType = "federated_actor"` + + - `const BetaAnalyticsActorTypeServiceAccountActor BetaAnalyticsActorType = "service_account_actor"` + + - `const BetaAnalyticsActorTypeUserActor BetaAnalyticsActorType = "user_actor"` + + - `AgentID string` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `APIKeyID string` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - `ClaudeTagCategory BetaAnalyticsClaudeTagCategory` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `const BetaAnalyticsClaudeTagCategoryDm BetaAnalyticsClaudeTagCategory = "dm"` + + - `const BetaAnalyticsClaudeTagCategoryEngaged BetaAnalyticsClaudeTagCategory = "engaged"` + + - `const BetaAnalyticsClaudeTagCategoryMonitoring BetaAnalyticsClaudeTagCategory = "monitoring"` + + - `const BetaAnalyticsClaudeTagCategoryProactive BetaAnalyticsClaudeTagCategory = "proactive"` + + - `const BetaAnalyticsClaudeTagCategoryScheduled BetaAnalyticsClaudeTagCategory = "scheduled"` + + - `ClaudeTagUserID string` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `ContextWindow BetaAnalyticsContextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `const BetaAnalyticsContextWindowFrom0To200k BetaAnalyticsContextWindow = "0-200k"` + + - `const BetaAnalyticsContextWindowFrom200kTo1M BetaAnalyticsContextWindow = "200k-1M"` + + - `DeploymentID string` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `EnvironmentID string` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `InferenceGeo BetaAnalyticsUsageCostInferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `const BetaAnalyticsUsageCostInferenceGeoGlobal BetaAnalyticsUsageCostInferenceGeo = "global"` + + - `const BetaAnalyticsUsageCostInferenceGeoUs BetaAnalyticsUsageCostInferenceGeo = "us"` + + - `Model string` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `Product string` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `RBACGroupID string` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `ServiceTier BetaAnalyticsServiceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `const BetaAnalyticsServiceTierBatch BetaAnalyticsServiceTier = "batch"` + + - `const BetaAnalyticsServiceTierFlex BetaAnalyticsServiceTier = "flex"` + + - `const BetaAnalyticsServiceTierFlexDiscount BetaAnalyticsServiceTier = "flex_discount"` + + - `const BetaAnalyticsServiceTierPriority BetaAnalyticsServiceTier = "priority"` + + - `const BetaAnalyticsServiceTierPriorityOnDemand BetaAnalyticsServiceTier = "priority_on_demand"` + + - `const BetaAnalyticsServiceTierStandard BetaAnalyticsServiceTier = "standard"` + + - `SessionID string` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `SlackChannelID string` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `Speed BetaAnalyticsSpeed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `const BetaAnalyticsSpeedFast BetaAnalyticsSpeed = "fast"` + + - `const BetaAnalyticsSpeedStandard BetaAnalyticsSpeed = "standard"` + + - `UserProfileID string` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `WorkspaceID string` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `StartingAt Time` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `Usage BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `CacheCreation BetaCacheCreation` + + The number of input tokens for cache creation. + + - `Ephemeral1hInputTokens int64` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `Ephemeral5mInputTokens int64` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `CacheReadInputTokens int64` + + The number of input tokens read from the cache. + + - `OutputTokens int64` + + The number of output tokens generated. + + - `Requests int64` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ServerToolUse BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `WebSearchRequests int64` + + The number of web search requests made. + + - `TotalTokens int64` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `UncachedInputTokens int64` + + The number of uncached input tokens processed. + +#### Example + +```go +package main + +import ( + "context" + "fmt" + "time" + + "github.com/anthropics/anthropic-sdk-go/v2" + "github.com/anthropics/anthropic-sdk-go/v2/option" +) + +func main() { + client := anthropic.NewClient( + option.WithAPIKey("my-anthropic-api-key"), + ) + page, err := client.Beta.Organization.Analytics.Usage.List(context.TODO(), anthropic.BetaOrganizationAnalyticsUsageListParams{ + StartingAt: time.Now(), + }) + if err != nil { + panic(err.Error()) + } + fmt.Printf("%+v\n", page) +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`client.Beta.Organization.Analytics.Cost.List(ctx, params) (*ReportPageCursor[BetaAnalyticsCostItem], error)` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `params BetaOrganizationAnalyticsCostListParams` + + - `StartingAt Time` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `ActorIDs []string Optional` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + + - `ActorTypes []BetaAnalyticsActorType Optional` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `const BetaAnalyticsActorTypeAPIActor BetaAnalyticsActorType = "api_actor"` + + - `const BetaAnalyticsActorTypeFederatedActor BetaAnalyticsActorType = "federated_actor"` + + - `const BetaAnalyticsActorTypeServiceAccountActor BetaAnalyticsActorType = "service_account_actor"` + + - `const BetaAnalyticsActorTypeUserActor BetaAnalyticsActorType = "user_actor"` + + - `AgentIDs []string Optional` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `APIKeyIDs []string Optional` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + + - `ClaudeTagCategories []BetaAnalyticsClaudeTagCategory Optional` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `const BetaAnalyticsClaudeTagCategoryDm BetaAnalyticsClaudeTagCategory = "dm"` + + - `const BetaAnalyticsClaudeTagCategoryEngaged BetaAnalyticsClaudeTagCategory = "engaged"` + + - `const BetaAnalyticsClaudeTagCategoryMonitoring BetaAnalyticsClaudeTagCategory = "monitoring"` + + - `const BetaAnalyticsClaudeTagCategoryProactive BetaAnalyticsClaudeTagCategory = "proactive"` + + - `const BetaAnalyticsClaudeTagCategoryScheduled BetaAnalyticsClaudeTagCategory = "scheduled"` + + - `ClaudeTagUserIDs []string Optional` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `ContextWindows []BetaAnalyticsContextWindow Optional` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `const BetaAnalyticsContextWindowFrom0To200k BetaAnalyticsContextWindow = "0-200k"` + + - `const BetaAnalyticsContextWindowFrom200kTo1M BetaAnalyticsContextWindow = "200k-1M"` + + - `DeploymentIDs []string Optional` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `EndingAt param.Opt[Time] Optional` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `EnvironmentIDs []string Optional` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `ExcludeDeletedUsers param.Opt[bool] Optional` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + - `GroupBy []BetaAnalyticsCostGroupBy Optional` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `const BetaAnalyticsCostGroupByActor BetaAnalyticsCostGroupBy = "actor"` + + - `const BetaAnalyticsCostGroupByActorType BetaAnalyticsCostGroupBy = "actor_type"` + + - `const BetaAnalyticsCostGroupByAgentID BetaAnalyticsCostGroupBy = "agent_id"` + + - `const BetaAnalyticsCostGroupByAPIKeyID BetaAnalyticsCostGroupBy = "api_key_id"` + + - `const BetaAnalyticsCostGroupByClaudeTagCategory BetaAnalyticsCostGroupBy = "claude_tag_category"` + + - `const BetaAnalyticsCostGroupByClaudeTagUserID BetaAnalyticsCostGroupBy = "claude_tag_user_id"` + + - `const BetaAnalyticsCostGroupByContextWindow BetaAnalyticsCostGroupBy = "context_window"` + + - `const BetaAnalyticsCostGroupByCostType BetaAnalyticsCostGroupBy = "cost_type"` + + - `const BetaAnalyticsCostGroupByDeploymentID BetaAnalyticsCostGroupBy = "deployment_id"` + + - `const BetaAnalyticsCostGroupByEnvironmentID BetaAnalyticsCostGroupBy = "environment_id"` + + - `const BetaAnalyticsCostGroupByInferenceGeo BetaAnalyticsCostGroupBy = "inference_geo"` + + - `const BetaAnalyticsCostGroupByModel BetaAnalyticsCostGroupBy = "model"` + + - `const BetaAnalyticsCostGroupByProduct BetaAnalyticsCostGroupBy = "product"` + + - `const BetaAnalyticsCostGroupByRBACGroupID BetaAnalyticsCostGroupBy = "rbac_group_id"` + + - `const BetaAnalyticsCostGroupByServiceTier BetaAnalyticsCostGroupBy = "service_tier"` + + - `const BetaAnalyticsCostGroupBySessionID BetaAnalyticsCostGroupBy = "session_id"` + + - `const BetaAnalyticsCostGroupBySlackChannelID BetaAnalyticsCostGroupBy = "slack_channel_id"` + + - `const BetaAnalyticsCostGroupBySpeed BetaAnalyticsCostGroupBy = "speed"` + + - `const BetaAnalyticsCostGroupByTokenType BetaAnalyticsCostGroupBy = "token_type"` + + - `const BetaAnalyticsCostGroupByUserProfileID BetaAnalyticsCostGroupBy = "user_profile_id"` + + - `const BetaAnalyticsCostGroupByWorkspaceID BetaAnalyticsCostGroupBy = "workspace_id"` + + - `InferenceGeos []BetaAnalyticsInferenceGeoFilter Optional` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `const BetaAnalyticsInferenceGeoFilterGlobal BetaAnalyticsInferenceGeoFilter = "global"` + + - `const BetaAnalyticsInferenceGeoFilterNotAvailable BetaAnalyticsInferenceGeoFilter = "not_available"` + + - `const BetaAnalyticsInferenceGeoFilterUs BetaAnalyticsInferenceGeoFilter = "us"` + + - `Limit param.Opt[int64] Optional` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + + - `Models []string Optional` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `Order BetaAnalyticsUsageCostSortOrder Optional` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `OrderBy BetaAnalyticsCostOrderBy Optional` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `Page param.Opt[string] Optional` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `Products []BetaAnalyticsUsageCostProductFilter Optional` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `const BetaAnalyticsUsageCostProductFilterChat BetaAnalyticsUsageCostProductFilter = "chat"` + + - `const BetaAnalyticsUsageCostProductFilterChatCoworkUnified BetaAnalyticsUsageCostProductFilter = "chat_cowork_unified"` + + - `const BetaAnalyticsUsageCostProductFilterClaudeCode BetaAnalyticsUsageCostProductFilter = "claude_code"` + + - `const BetaAnalyticsUsageCostProductFilterClaudeConsole BetaAnalyticsUsageCostProductFilter = "claude_console"` + + - `const BetaAnalyticsUsageCostProductFilterClaudeDesign BetaAnalyticsUsageCostProductFilter = "claude_design"` + + - `const BetaAnalyticsUsageCostProductFilterClaudeInChrome BetaAnalyticsUsageCostProductFilter = "claude_in_chrome"` + + - `const BetaAnalyticsUsageCostProductFilterClaudeTag BetaAnalyticsUsageCostProductFilter = "claude_tag"` + + - `const BetaAnalyticsUsageCostProductFilterCowork BetaAnalyticsUsageCostProductFilter = "cowork"` + + - `const BetaAnalyticsUsageCostProductFilterManagedAgentsAPI BetaAnalyticsUsageCostProductFilter = "managed_agents_api"` + + - `const BetaAnalyticsUsageCostProductFilterMessageBatchesAPI BetaAnalyticsUsageCostProductFilter = "message_batches_api"` + + - `const BetaAnalyticsUsageCostProductFilterMessagesAPI BetaAnalyticsUsageCostProductFilter = "messages_api"` + + - `const BetaAnalyticsUsageCostProductFilterOfficeAgent BetaAnalyticsUsageCostProductFilter = "office_agent"` + + - `RBACGroupIDs []string Optional` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `ServiceTiers []BetaAnalyticsServiceTier Optional` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `const BetaAnalyticsServiceTierBatch BetaAnalyticsServiceTier = "batch"` + + - `const BetaAnalyticsServiceTierFlex BetaAnalyticsServiceTier = "flex"` + + - `const BetaAnalyticsServiceTierFlexDiscount BetaAnalyticsServiceTier = "flex_discount"` + + - `const BetaAnalyticsServiceTierPriority BetaAnalyticsServiceTier = "priority"` + + - `const BetaAnalyticsServiceTierPriorityOnDemand BetaAnalyticsServiceTier = "priority_on_demand"` + + - `const BetaAnalyticsServiceTierStandard BetaAnalyticsServiceTier = "standard"` + + - `SessionIDs []string Optional` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `SlackChannelIDs []string Optional` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `Speeds []BetaAnalyticsSpeed Optional` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `const BetaAnalyticsSpeedFast BetaAnalyticsSpeed = "fast"` + + - `const BetaAnalyticsSpeedStandard BetaAnalyticsSpeed = "standard"` + + - `TimeBucketWidth BetaAnalyticsTimeBucketWidth Optional` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `UserProfileIDs []string Optional` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `WorkspaceIDs []string Optional` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `Betas []AnthropicBeta Optional` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` + + - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` + + - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` + + - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` + + - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` + + - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` + + - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` + + - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` + + - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` + + - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` + + - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` + + - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` + + - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` + + - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` + + - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` + + - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` + + - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` + + - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` + + - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` + + - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` + + - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` + + - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` + + - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` + + - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` + + - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` + + - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` + + - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` + + - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` + + - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` + + - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` + + - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` + + - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` + + - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` + + - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` + + - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` + + - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` + + - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` + + - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` + + - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` + + - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` + + - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` + + - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` + + - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` + + - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` + + - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` + + - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` + + - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` + + - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` + + - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` + + - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + +#### Returns + +- `type BetaAnalyticsCostItem` + + - `Cost BetaAnalyticsCostMetrics` + + Cost for this row. + + - `Amount string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `Currency string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `ListAmount string` + + List-price amount (pre-discount) in fractional cents. + + - `Requests int64` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `EndingAt Time` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `Group BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `Actor BetaAnalyticsActorUnion` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `type BetaAnalyticsReportUserActor` + + - `Type UserActor` + + Actor type. Always `"user_actor"`. + + - `Deleted bool` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `EmailAddress string` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `Name string` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `UserID string` + + Tagged user ID. + + - `type BetaAnalyticsServiceAccountActor` + + - `Type ServiceAccountActor` + + - `ServiceAccountID string` + + Tagged service account ID. + + - `type BetaAnalyticsFederatedActor` + + - `Type FederatedActor` + + - `Provider BetaAnalyticsFederatedActorProviderUnion` + + The trusted provider that asserted the caller's identity. + + - `type BetaAnalyticsFederatedActorAWSProvider` + + - `Type AWS` + + - `AccountID string` + + The AWS account the organization is bound to. + + - `SignedPrincipal string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `type BetaAnalyticsFederatedActorAzureProvider` + + - `Type Azure` + + - `SubscriptionID string` + + The Azure subscription the organization is bound to. + + - `type BetaAnalyticsFederatedActorGCPProvider` + + - `Type GCP` + + - `ProjectNumber string` + + The Google Cloud project the organization is bound to. + + - `type BetaAnalyticsFederatedActorOIDCProvider` + + - `Type OIDC` + + - `Issuer string` + + The federation issuer's URL. + + - `Subject string` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `type BetaAnalyticsAPIActor` + + - `Type APIActor` + + - `APIKeyID string` + + Tagged API key ID. + + - `ActorType BetaAnalyticsActorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `const BetaAnalyticsActorTypeAPIActor BetaAnalyticsActorType = "api_actor"` + + - `const BetaAnalyticsActorTypeFederatedActor BetaAnalyticsActorType = "federated_actor"` + + - `const BetaAnalyticsActorTypeServiceAccountActor BetaAnalyticsActorType = "service_account_actor"` + + - `const BetaAnalyticsActorTypeUserActor BetaAnalyticsActorType = "user_actor"` + + - `AgentID string` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `APIKeyID string` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `ClaudeTagCategory BetaAnalyticsClaudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `const BetaAnalyticsClaudeTagCategoryDm BetaAnalyticsClaudeTagCategory = "dm"` + + - `const BetaAnalyticsClaudeTagCategoryEngaged BetaAnalyticsClaudeTagCategory = "engaged"` + + - `const BetaAnalyticsClaudeTagCategoryMonitoring BetaAnalyticsClaudeTagCategory = "monitoring"` + + - `const BetaAnalyticsClaudeTagCategoryProactive BetaAnalyticsClaudeTagCategory = "proactive"` + + - `const BetaAnalyticsClaudeTagCategoryScheduled BetaAnalyticsClaudeTagCategory = "scheduled"` + + - `ClaudeTagUserID string` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `ContextWindow BetaAnalyticsContextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `const BetaAnalyticsContextWindowFrom0To200k BetaAnalyticsContextWindow = "0-200k"` + + - `const BetaAnalyticsContextWindowFrom200kTo1M BetaAnalyticsContextWindow = "200k-1M"` + + - `CostType BetaAnalyticsGroupedCostType` + + Cost component breakdown; null when returning the combined total. + + - `const BetaAnalyticsGroupedCostTypeCodeExecution BetaAnalyticsGroupedCostType = "code_execution"` + + - `const BetaAnalyticsGroupedCostTypeSessionUsage BetaAnalyticsGroupedCostType = "session_usage"` + + - `const BetaAnalyticsGroupedCostTypeTokens BetaAnalyticsGroupedCostType = "tokens"` + + - `const BetaAnalyticsGroupedCostTypeWebSearch BetaAnalyticsGroupedCostType = "web_search"` + + - `DeploymentID string` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `EnvironmentID string` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `InferenceGeo BetaAnalyticsUsageCostInferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `const BetaAnalyticsUsageCostInferenceGeoGlobal BetaAnalyticsUsageCostInferenceGeo = "global"` + + - `const BetaAnalyticsUsageCostInferenceGeoUs BetaAnalyticsUsageCostInferenceGeo = "us"` + + - `Model string` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `Product string` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `RBACGroupID string` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `ServiceTier BetaAnalyticsServiceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `const BetaAnalyticsServiceTierBatch BetaAnalyticsServiceTier = "batch"` + + - `const BetaAnalyticsServiceTierFlex BetaAnalyticsServiceTier = "flex"` + + - `const BetaAnalyticsServiceTierFlexDiscount BetaAnalyticsServiceTier = "flex_discount"` + + - `const BetaAnalyticsServiceTierPriority BetaAnalyticsServiceTier = "priority"` + + - `const BetaAnalyticsServiceTierPriorityOnDemand BetaAnalyticsServiceTier = "priority_on_demand"` + + - `const BetaAnalyticsServiceTierStandard BetaAnalyticsServiceTier = "standard"` + + - `SessionID string` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `SlackChannelID string` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `Speed BetaAnalyticsSpeed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `const BetaAnalyticsSpeedFast BetaAnalyticsSpeed = "fast"` + + - `const BetaAnalyticsSpeedStandard BetaAnalyticsSpeed = "standard"` + + - `TokenType BetaAnalyticsTokenType` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `const BetaAnalyticsTokenTypeCacheCreationEphemeral1hInputTokens BetaAnalyticsTokenType = "cache_creation.ephemeral_1h_input_tokens"` + + - `const BetaAnalyticsTokenTypeCacheCreationEphemeral5mInputTokens BetaAnalyticsTokenType = "cache_creation.ephemeral_5m_input_tokens"` + + - `const BetaAnalyticsTokenTypeCacheReadInputTokens BetaAnalyticsTokenType = "cache_read_input_tokens"` + + - `const BetaAnalyticsTokenTypeOutputTokens BetaAnalyticsTokenType = "output_tokens"` + + - `const BetaAnalyticsTokenTypeUncachedInputTokens BetaAnalyticsTokenType = "uncached_input_tokens"` + + - `UserProfileID string` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `WorkspaceID string` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `StartingAt Time` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +#### Example + +```go +package main + +import ( + "context" + "fmt" + "time" + + "github.com/anthropics/anthropic-sdk-go/v2" + "github.com/anthropics/anthropic-sdk-go/v2/option" +) + +func main() { + client := anthropic.NewClient( + option.WithAPIKey("my-anthropic-api-key"), + ) + page, err := client.Beta.Organization.Analytics.Cost.List(context.TODO(), anthropic.BetaOrganizationAnalyticsCostListParams{ + StartingAt: time.Now(), + }) + if err != nil { + panic(err.Error()) + } + fmt.Printf("%+v\n", page) +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +`client.Beta.Organization.Analytics.UsageReport.List(ctx, query) (*ReportPageCursor[BetaAnalyticsUsageReportTimeBucket], error)` + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=go) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=go#migrate-from-enterprise-analytics-reports). + +#### Parameters + +- `query BetaOrganizationAnalyticsUsageReportListParams` + + - `StartingAt Time` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `BucketWidth BetaOrganizationAnalyticsUsageReportListParamsBucketWidth Optional` (query parameter) + + Time bucket granularity. + + - `const BetaOrganizationAnalyticsUsageReportListParamsBucketWidthDay BetaOrganizationAnalyticsUsageReportListParamsBucketWidth = "1d"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsBucketWidthHour BetaOrganizationAnalyticsUsageReportListParamsBucketWidth = "1h"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsBucketWidthMinute BetaOrganizationAnalyticsUsageReportListParamsBucketWidth = "1m"` + + - `ClaudeTagCategories []BetaAnalyticsClaudeTagCategory Optional` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `const BetaAnalyticsClaudeTagCategoryDm BetaAnalyticsClaudeTagCategory = "dm"` + + - `const BetaAnalyticsClaudeTagCategoryEngaged BetaAnalyticsClaudeTagCategory = "engaged"` + + - `const BetaAnalyticsClaudeTagCategoryMonitoring BetaAnalyticsClaudeTagCategory = "monitoring"` + + - `const BetaAnalyticsClaudeTagCategoryProactive BetaAnalyticsClaudeTagCategory = "proactive"` + + - `const BetaAnalyticsClaudeTagCategoryScheduled BetaAnalyticsClaudeTagCategory = "scheduled"` + + - `ClaudeTagUserIDs []string Optional` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `ContextWindows []BetaAnalyticsContextWindow Optional` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `const BetaAnalyticsContextWindowFrom0To200k BetaAnalyticsContextWindow = "0-200k"` + + - `const BetaAnalyticsContextWindowFrom200kTo1M BetaAnalyticsContextWindow = "200k-1M"` + + - `EndingAt param.Opt[Time] Optional` (query parameter) + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `GroupBy []string Optional` (query parameter) + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByClaudeTagCategory BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "claude_tag_category"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByClaudeTagUserID BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "claude_tag_user_id"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByContextWindow BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "context_window"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByInferenceGeo BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "inference_geo"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByModel BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "model"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByProduct BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "product"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupByRBACGroupID BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "rbac_group_id"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupBySlackChannelID BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "slack_channel_id"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsGroupBySpeed BetaOrganizationAnalyticsUsageReportListParamsGroupBy = "speed"` + + - `InferenceGeos []BetaAnalyticsInferenceGeoFilter Optional` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `const BetaAnalyticsInferenceGeoFilterGlobal BetaAnalyticsInferenceGeoFilter = "global"` + + - `const BetaAnalyticsInferenceGeoFilterNotAvailable BetaAnalyticsInferenceGeoFilter = "not_available"` + + - `const BetaAnalyticsInferenceGeoFilterUs BetaAnalyticsInferenceGeoFilter = "us"` + + - `Limit param.Opt[int64] Optional` (query parameter) + + Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + + minimum: 1 + + - `Models []string Optional` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `Page param.Opt[string] Optional` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `Products []BetaAnalyticsProductFilter Optional` (query parameter) + + Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + + maxItems: 100 + + - `const BetaAnalyticsProductFilterChat BetaAnalyticsProductFilter = "chat"` + + - `const BetaAnalyticsProductFilterChatCoworkUnified BetaAnalyticsProductFilter = "chat_cowork_unified"` + + - `const BetaAnalyticsProductFilterClaudeTag BetaAnalyticsProductFilter = "claude-tag"` + + - `const BetaAnalyticsProductFilterClaudeCode BetaAnalyticsProductFilter = "claude_code"` + + - `const BetaAnalyticsProductFilterClaudeDesign BetaAnalyticsProductFilter = "claude_design"` + + - `const BetaAnalyticsProductFilterClaudeInChrome BetaAnalyticsProductFilter = "claude_in_chrome"` + + - `const BetaAnalyticsProductFilterCowork BetaAnalyticsProductFilter = "cowork"` + + - `const BetaAnalyticsProductFilterOfficeAgent BetaAnalyticsProductFilter = "office_agent"` + + - `RBACGroupIDs []string Optional` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `SlackChannelIDs []string Optional` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `Speeds []string Optional` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `const BetaOrganizationAnalyticsUsageReportListParamsSpeedFast BetaOrganizationAnalyticsUsageReportListParamsSpeed = "fast"` + + - `const BetaOrganizationAnalyticsUsageReportListParamsSpeedStandard BetaOrganizationAnalyticsUsageReportListParamsSpeed = "standard"` + + - `UserIDs []string Optional` (query parameter) + + Filter to specific users by tagged user ID. + + maxItems: 100 + +#### Returns + +- `type BetaAnalyticsUsageReportTimeBucket` + + - `EndingAt Time` + + End of the time bucket (exclusive) in RFC 3339 format. + + format: date-time + + - `Results []BetaAnalyticsUsageBucketedResult` + + Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + + - `CacheCreation BetaCacheCreation` + + The number of input tokens for cache creation. + + - `Ephemeral1hInputTokens int64` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `Ephemeral5mInputTokens int64` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `CacheReadInputTokens int64` + + The number of input tokens read from the cache. + + - `ClaudeTagCategory BetaAnalyticsClaudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. - `const BetaAnalyticsClaudeTagCategoryDm BetaAnalyticsClaudeTagCategory = "dm"` @@ -101300,15 +103431,11 @@ func main() { **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=go) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=go#migrate-from-enterprise-analytics-reports). #### Parameters @@ -101717,12 +103844,11 @@ func main() { **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=go) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=go#migrate-from-enterprise-analytics-reports). #### Parameters @@ -102080,15 +104206,11 @@ func main() { **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=go) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=go#migrate-from-enterprise-analytics-reports). #### Parameters @@ -102655,6 +104777,10 @@ Anthropic account team. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSpendLimit` @@ -103242,6 +105368,10 @@ come in a fixed order that is not creation order. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSpendLimit` @@ -106421,6 +108551,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPlugin` @@ -106826,6 +108960,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPlugin` @@ -107254,6 +109392,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPlugin` @@ -107717,6 +109859,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPlugin` @@ -108130,6 +110276,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaDeletedPlugin` @@ -108341,360 +110491,368 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` -#### Returns - -- `type BetaPluginVersion` - - - `Type PluginVersion` - - Always `plugin_version`. - - default: plugin_version - - - `ID string` - - The version's ID. - - - `Components []BetaPluginComponent` - - What the version contains; null when not enumerated. - - - `Type BetaPluginComponentType` - - The kind of component. - - - `const BetaPluginComponentTypeAgent BetaPluginComponentType = "agent"` - - - `const BetaPluginComponentTypeCli BetaPluginComponentType = "cli"` - - - `const BetaPluginComponentTypeCommand BetaPluginComponentType = "command"` - - - `const BetaPluginComponentTypeHook BetaPluginComponentType = "hook"` - - - `const BetaPluginComponentTypeMCPServer BetaPluginComponentType = "mcp_server"` - - - `const BetaPluginComponentTypeSkill BetaPluginComponentType = "skill"` - - - `Description string` - - What the component declares about itself; always null for MCP servers, hooks, and CLIs. - - - `Name string` - - The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. - - - `ContentScan BetaPluginContentScan` - - This version's content scan; null when it has not been scanned. + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + +#### Returns + +- `type BetaPluginVersion` + + - `Type PluginVersion` + + Always `plugin_version`. + + default: plugin_version + + - `ID string` + + The version's ID. + + - `Components []BetaPluginComponent` + + What the version contains; null when not enumerated. + + - `Type BetaPluginComponentType` + + The kind of component. + + - `const BetaPluginComponentTypeAgent BetaPluginComponentType = "agent"` + + - `const BetaPluginComponentTypeCli BetaPluginComponentType = "cli"` + + - `const BetaPluginComponentTypeCommand BetaPluginComponentType = "command"` + + - `const BetaPluginComponentTypeHook BetaPluginComponentType = "hook"` + + - `const BetaPluginComponentTypeMCPServer BetaPluginComponentType = "mcp_server"` + + - `const BetaPluginComponentTypeSkill BetaPluginComponentType = "skill"` + + - `Description string` + + What the component declares about itself; always null for MCP servers, hooks, and CLIs. + + - `Name string` + + The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. + + - `ContentScan BetaPluginContentScan` + + This version's content scan; null when it has not been scanned. + + - `Assessment BetaPluginContentScanAssessment` + + The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. + + - `const BetaPluginContentScanAssessmentFail BetaPluginContentScanAssessment = "fail"` + + - `const BetaPluginContentScanAssessmentPass BetaPluginContentScanAssessment = "pass"` + + - `const BetaPluginContentScanAssessmentUnknown BetaPluginContentScanAssessment = "unknown"` + + - `const BetaPluginContentScanAssessmentWarn BetaPluginContentScanAssessment = "warn"` + + - `Reason string` + + The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. + + - `Status BetaPluginContentScanStatus` + + `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. + + - `const BetaPluginContentScanStatusCompleted BetaPluginContentScanStatus = "completed"` + + - `const BetaPluginContentScanStatusErrored BetaPluginContentScanStatus = "errored"` + + - `const BetaPluginContentScanStatusProcessing BetaPluginContentScanStatus = "processing"` + + - `CreatedAt Time` + + RFC 3339. + + format: date-time + + - `CreatedBy BetaPluginVersionCreatedByUnion` + + Who uploaded this version; null when not recorded. + + - `type BetaPluginUserActor` + + - `Type UserActor` + + A member of the organization. + + default: user_actor + + - `EmailAddress string` + + The member's email address; may be null, for example when they are no longer a member of the organization. + + - `UserID string` + + The member's User ID. + + - `type BetaPluginAPIActor` + + - `Type APIActor` + + An Admin API key, in the same form the Compliance API activity feed uses for it. + + default: api_actor + + - `APIKeyID string` + + The key's ID. + + - `Description string` + + The manifest's description; null when it declares none. + + - `DisplayName string` + + The manifest's display name; null when it declares none. + + - `ManifestVersion string` + + The manifest's `version`, normalized for display: one leading `v` or `V` is dropped, and the result is returned only if it is 1 to 64 characters, starts with a digit, and uses only ASCII letters, digits, `.`, `+`, and `-`; otherwise `null`. For example, `"v1.4.0"` is returned as `"1.4.0"`, and `"latest"` as `null`. For a synchronized plugin, the `version` of its `marketplace.json` entry can take the place of the manifest's `version`. It is also `null` for a version stored before claude.ai began recording this field (August 2026). + + - `PluginID string` + + The Plugin's ID. + + - `Reach BetaPluginVersionReach` + + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. + + - `const BetaPluginVersionReachContained BetaPluginVersionReach = "contained"` + + - `const BetaPluginVersionReachPrivileged BetaPluginVersionReach = "privileged"` + + - `const BetaPluginVersionReachRemote BetaPluginVersionReach = "remote"` + + - `ReleaseNotes string` + + As supplied with the upload; null when none were supplied. + +#### Example + +```go +package main + +import ( + "bytes" + "context" + "fmt" + "io" + + "github.com/anthropics/anthropic-sdk-go/v2" + "github.com/anthropics/anthropic-sdk-go/v2/option" +) + +func main() { + client := anthropic.NewClient( + option.WithAPIKey("my-anthropic-api-key"), + ) + betaPluginVersion, err := client.Beta.Organization.Plugins.Versions.New( + context.TODO(), + "plugin_id", + anthropic.BetaOrganizationPluginVersionNewParams{ + Files: []io.Reader{io.Reader(bytes.NewBuffer([]byte("Example data")))}, + }, + ) + if err != nil { + panic(err.Error()) + } + fmt.Printf("%+v\n", betaPluginVersion.ID) +} +``` + +##### Response (200) + +```json +{ + "id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", + "components": [ + { + "description": "description", + "name": "review-pr", + "type": "skill" + } + ], + "content_scan": { + "assessment": "warn", + "reason": "credential-exposure", + "status": "completed" + }, + "created_at": "2026-03-14T09:26:53.589793Z", + "created_by": { + "email_address": "user@example.com", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "description": "Reviews pull requests against your team's conventions.", + "display_name": "Code Review Helper", + "manifest_version": "1.2.0", + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "reach": "contained", + "release_notes": "Adds a review checklist for database migrations.", + "type": "plugin_version" +} +``` + +### List Plugin Versions + +`client.Beta.Organization.Plugins.Versions.List(ctx, pluginID, params) (*PageCursor[BetaPluginVersion], error)` + +**GET** `/v1/organizations/plugins/{plugin_id}/versions` + +List a Plugin's versions, newest first. + +The first item of the first page is the version the Plugin's `latest_version_id` +refers to. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `pluginID string` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + +- `params BetaOrganizationPluginVersionListParams` + + - `Limit param.Opt[int64] Optional` (query parameter) + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `1000`. + + minimum: 1, maximum: 1000 + + - `OrganizationID param.Opt[string] Optional` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + + - `Page param.Opt[string] Optional` (query parameter) + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + + - `Betas []AnthropicBeta Optional` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` + + - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` + + - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` + + - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` + + - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` + + - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` + + - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` + + - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` + + - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` + + - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` + + - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` + + - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` + + - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` + + - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` + + - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` + + - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` + + - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` + + - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` + + - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` + + - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` + + - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` + + - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` + + - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` + + - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` + + - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` + + - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` + + - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` + + - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` + + - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` + + - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` + + - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` + + - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` + + - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` + + - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` + + - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` + + - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` + + - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` + + - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` + + - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` + + - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` + + - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` + + - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` + + - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` + + - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` + + - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` + + - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` + + - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` + + - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` + + - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` + + - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` - - `Assessment BetaPluginContentScanAssessment` - - The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. - - - `const BetaPluginContentScanAssessmentFail BetaPluginContentScanAssessment = "fail"` - - - `const BetaPluginContentScanAssessmentPass BetaPluginContentScanAssessment = "pass"` - - - `const BetaPluginContentScanAssessmentUnknown BetaPluginContentScanAssessment = "unknown"` - - - `const BetaPluginContentScanAssessmentWarn BetaPluginContentScanAssessment = "warn"` - - - `Reason string` - - The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. - - - `Status BetaPluginContentScanStatus` - - `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. - - - `const BetaPluginContentScanStatusCompleted BetaPluginContentScanStatus = "completed"` - - - `const BetaPluginContentScanStatusErrored BetaPluginContentScanStatus = "errored"` - - - `const BetaPluginContentScanStatusProcessing BetaPluginContentScanStatus = "processing"` - - - `CreatedAt Time` - - RFC 3339. - - format: date-time - - - `CreatedBy BetaPluginVersionCreatedByUnion` - - Who uploaded this version; null when not recorded. - - - `type BetaPluginUserActor` - - - `Type UserActor` - - A member of the organization. - - default: user_actor - - - `EmailAddress string` - - The member's email address; may be null, for example when they are no longer a member of the organization. - - - `UserID string` - - The member's User ID. - - - `type BetaPluginAPIActor` - - - `Type APIActor` - - An Admin API key, in the same form the Compliance API activity feed uses for it. - - default: api_actor - - - `APIKeyID string` - - The key's ID. - - - `Description string` - - The manifest's description; null when it declares none. - - - `DisplayName string` - - The manifest's display name; null when it declares none. - - - `ManifestVersion string` - - The manifest's `version`, normalized for display: one leading `v` or `V` is dropped, and the result is returned only if it is 1 to 64 characters, starts with a digit, and uses only ASCII letters, digits, `.`, `+`, and `-`; otherwise `null`. For example, `"v1.4.0"` is returned as `"1.4.0"`, and `"latest"` as `null`. For a synchronized plugin, the `version` of its `marketplace.json` entry can take the place of the manifest's `version`. It is also `null` for a version stored before claude.ai began recording this field (August 2026). - - - `PluginID string` - - The Plugin's ID. - - - `Reach BetaPluginVersionReach` - - How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - - - `const BetaPluginVersionReachContained BetaPluginVersionReach = "contained"` - - - `const BetaPluginVersionReachPrivileged BetaPluginVersionReach = "privileged"` - - - `const BetaPluginVersionReachRemote BetaPluginVersionReach = "remote"` - - - `ReleaseNotes string` - - As supplied with the upload; null when none were supplied. - -#### Example - -```go -package main - -import ( - "bytes" - "context" - "fmt" - "io" - - "github.com/anthropics/anthropic-sdk-go/v2" - "github.com/anthropics/anthropic-sdk-go/v2/option" -) - -func main() { - client := anthropic.NewClient( - option.WithAPIKey("my-anthropic-api-key"), - ) - betaPluginVersion, err := client.Beta.Organization.Plugins.Versions.New( - context.TODO(), - "plugin_id", - anthropic.BetaOrganizationPluginVersionNewParams{ - Files: []io.Reader{io.Reader(bytes.NewBuffer([]byte("Example data")))}, - }, - ) - if err != nil { - panic(err.Error()) - } - fmt.Printf("%+v\n", betaPluginVersion.ID) -} -``` - -##### Response (200) - -```json -{ - "id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", - "components": [ - { - "description": "description", - "name": "review-pr", - "type": "skill" - } - ], - "content_scan": { - "assessment": "warn", - "reason": "credential-exposure", - "status": "completed" - }, - "created_at": "2026-03-14T09:26:53.589793Z", - "created_by": { - "email_address": "user@example.com", - "type": "user_actor", - "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" - }, - "description": "Reviews pull requests against your team's conventions.", - "display_name": "Code Review Helper", - "manifest_version": "1.2.0", - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "reach": "contained", - "release_notes": "Adds a review checklist for database migrations.", - "type": "plugin_version" -} -``` - -### List Plugin Versions - -`client.Beta.Organization.Plugins.Versions.List(ctx, pluginID, params) (*PageCursor[BetaPluginVersion], error)` - -**GET** `/v1/organizations/plugins/{plugin_id}/versions` - -List a Plugin's versions, newest first. - -The first item of the first page is the version the Plugin's `latest_version_id` -refers to. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `pluginID string` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - -- `params BetaOrganizationPluginVersionListParams` - - - `Limit param.Opt[int64] Optional` (query parameter) - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `1000`. - - minimum: 1, maximum: 1000 - - - `OrganizationID param.Opt[string] Optional` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - - - `Page param.Opt[string] Optional` (query parameter) - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - - - `Betas []AnthropicBeta Optional` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` - - - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` - - - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` - - - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` - - - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` - - - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` - - - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` - - - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` - - - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` - - - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` - - - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` - - - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` - - - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` - - - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` - - - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` - - - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` - - - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` - - - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` - - - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` - - - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` - - - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` - - - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` - - - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` - - - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` - - - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` - - - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` - - - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` - - - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` - - - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` - - - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` - - - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` - - - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` - - - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` - - - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` - - - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` - - - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` - - - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` - - - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` - - - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` - - - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` - - - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` - - - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` - - - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` - - - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` - - - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` - - - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` - - - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` - - - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` - - - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` - - - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` #### Returns @@ -109039,6 +111197,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginVersion` @@ -109395,6 +111557,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaOrganizationPluginVersionDownloadResponse interface{…}` @@ -109591,6 +111757,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginInstallationSetting` @@ -109874,6 +112044,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginInstallationSetting` @@ -110147,266 +112321,274 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` -#### Returns - -- `type BetaDeletedPluginInstallationSetting` - - Confirmation that one target's installation setting was removed, naming - the Plugin and the target in place of an ID. - - - `Type PluginInstallationSettingDeleted` - - Always `plugin_installation_setting_deleted`. - - default: plugin_installation_setting_deleted - - - `PluginID string` - - The Plugin's ID. - - - `Target BetaDeletedPluginInstallationSettingTargetUnion` - - Whose setting was removed. - - - `type BetaPluginTargetOrganization` - - - `Type Organization` - - Every member of the organization. - - default: organization - - - `type BetaPluginTargetRBACGroup` - - - `Type RBACGroup` - - An RBAC Group. - - default: rbac_group + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + +#### Returns + +- `type BetaDeletedPluginInstallationSetting` + + Confirmation that one target's installation setting was removed, naming + the Plugin and the target in place of an ID. + + - `Type PluginInstallationSettingDeleted` + + Always `plugin_installation_setting_deleted`. + + default: plugin_installation_setting_deleted + + - `PluginID string` + + The Plugin's ID. + + - `Target BetaDeletedPluginInstallationSettingTargetUnion` + + Whose setting was removed. + + - `type BetaPluginTargetOrganization` + + - `Type Organization` + + Every member of the organization. + + default: organization + + - `type BetaPluginTargetRBACGroup` + + - `Type RBACGroup` + + An RBAC Group. + + default: rbac_group + + - `RBACGroupID string` + + The RBAC Group's ID. + + - `type BetaPluginTargetOrganizationMember` + + - `Type OrganizationMember` + + One member of the organization. + + default: organization_member + + - `UserID string` + + The member's User ID. + +#### Example + +```go +package main + +import ( + "context" + "fmt" + + "github.com/anthropics/anthropic-sdk-go/v2" + "github.com/anthropics/anthropic-sdk-go/v2/option" +) + +func main() { + client := anthropic.NewClient( + option.WithAPIKey("my-anthropic-api-key"), + ) + betaDeletedPluginInstallationSetting, err := client.Beta.Organization.Plugins.InstallationSettings.Remove( + context.TODO(), + "target", + anthropic.BetaOrganizationPluginInstallationSettingRemoveParams{ + PluginID: "plugin_id", + }, + ) + if err != nil { + panic(err.Error()) + } + fmt.Printf("%+v\n", betaDeletedPluginInstallationSetting.PluginID) +} +``` + +##### Response (200) + +```json +{ + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "target": { + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "type": "rbac_group" + }, + "type": "plugin_installation_setting_deleted" +} +``` + +## Beta › Organization › Plugins › Shares + +### List Plugin Shares + +`client.Beta.Organization.Plugins.Shares.List(ctx, pluginID, params) (*PageCursor[BetaPluginShare], error)` + +**GET** `/v1/organizations/plugins/{plugin_id}/shares` + +List the shares the owner of a member-owned Plugin has given — to every member of +the organization, to an RBAC Group, or to one member — most recently granted first. + +Shares are read-only in this API: members give and withdraw them in claude.ai, and +who gave a share is recorded on the Compliance API activity feed rather than on the +share. An organization-owned Plugin has installation settings instead, so this path +returns 404 for one. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `pluginID string` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + +- `params BetaOrganizationPluginShareListParams` + + - `Limit param.Opt[int64] Optional` (query parameter) + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `100`. + + minimum: 1, maximum: 100 + + - `OrganizationID param.Opt[string] Optional` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + + - `Page param.Opt[string] Optional` (query parameter) + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + + - `TargetType BetaOrganizationPluginShareListParamsTargetType Optional` (query parameter) + + Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). + + - `const BetaOrganizationPluginShareListParamsTargetTypeOrganization BetaOrganizationPluginShareListParamsTargetType = "organization"` + + - `const BetaOrganizationPluginShareListParamsTargetTypeOrganizationMember BetaOrganizationPluginShareListParamsTargetType = "organization_member"` + + - `const BetaOrganizationPluginShareListParamsTargetTypeRBACGroup BetaOrganizationPluginShareListParamsTargetType = "rbac_group"` + + - `Betas []AnthropicBeta Optional` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` + + - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` + + - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` + + - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` + + - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` + + - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` + + - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` + + - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` + + - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` + + - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` + + - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` + + - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` + + - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` + + - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` + + - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` + + - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` + + - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` + + - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` + + - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` + + - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` + + - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` + + - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` + + - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` + + - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` + + - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` + + - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` + + - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` + + - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` + + - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` + + - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` + + - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` + + - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` + + - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` + + - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` + + - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` + + - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` + + - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` + + - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` + + - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` + + - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` + + - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` + + - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` + + - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` + + - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` + + - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` + + - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` + + - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` + + - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` + + - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` + + - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` - - `RBACGroupID string` - - The RBAC Group's ID. - - - `type BetaPluginTargetOrganizationMember` - - - `Type OrganizationMember` - - One member of the organization. - - default: organization_member - - - `UserID string` - - The member's User ID. - -#### Example - -```go -package main - -import ( - "context" - "fmt" - - "github.com/anthropics/anthropic-sdk-go/v2" - "github.com/anthropics/anthropic-sdk-go/v2/option" -) - -func main() { - client := anthropic.NewClient( - option.WithAPIKey("my-anthropic-api-key"), - ) - betaDeletedPluginInstallationSetting, err := client.Beta.Organization.Plugins.InstallationSettings.Remove( - context.TODO(), - "target", - anthropic.BetaOrganizationPluginInstallationSettingRemoveParams{ - PluginID: "plugin_id", - }, - ) - if err != nil { - panic(err.Error()) - } - fmt.Printf("%+v\n", betaDeletedPluginInstallationSetting.PluginID) -} -``` - -##### Response (200) - -```json -{ - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "target": { - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "type": "rbac_group" - }, - "type": "plugin_installation_setting_deleted" -} -``` - -## Beta › Organization › Plugins › Shares - -### List Plugin Shares - -`client.Beta.Organization.Plugins.Shares.List(ctx, pluginID, params) (*PageCursor[BetaPluginShare], error)` - -**GET** `/v1/organizations/plugins/{plugin_id}/shares` - -List the shares the owner of a member-owned Plugin has given — to every member of -the organization, to an RBAC Group, or to one member — most recently granted first. - -Shares are read-only in this API: members give and withdraw them in claude.ai, and -who gave a share is recorded on the Compliance API activity feed rather than on the -share. An organization-owned Plugin has installation settings instead, so this path -returns 404 for one. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `pluginID string` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - -- `params BetaOrganizationPluginShareListParams` - - - `Limit param.Opt[int64] Optional` (query parameter) - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `100`. - - minimum: 1, maximum: 100 - - - `OrganizationID param.Opt[string] Optional` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - - - `Page param.Opt[string] Optional` (query parameter) - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - - - `TargetType BetaOrganizationPluginShareListParamsTargetType Optional` (query parameter) - - Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). - - - `const BetaOrganizationPluginShareListParamsTargetTypeOrganization BetaOrganizationPluginShareListParamsTargetType = "organization"` - - - `const BetaOrganizationPluginShareListParamsTargetTypeOrganizationMember BetaOrganizationPluginShareListParamsTargetType = "organization_member"` - - - `const BetaOrganizationPluginShareListParamsTargetTypeRBACGroup BetaOrganizationPluginShareListParamsTargetType = "rbac_group"` - - - `Betas []AnthropicBeta Optional` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` - - - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` - - - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` - - - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` - - - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` - - - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` - - - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` - - - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` - - - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` - - - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` - - - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` - - - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` - - - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` - - - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` - - - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` - - - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` - - - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` - - - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` - - - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` - - - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` - - - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` - - - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` - - - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` - - - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` - - - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` - - - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` - - - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` - - - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` - - - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` - - - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` - - - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` - - - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` - - - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` - - - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` - - - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` - - - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` - - - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` - - - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` - - - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` - - - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` - - - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` - - - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` - - - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` - - - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` - - - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` - - - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` - - - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` - - - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` - - - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` - - - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` #### Returns @@ -110687,6 +112869,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginMarketplace` @@ -110968,6 +113154,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginMarketplace` @@ -111261,6 +113451,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginMarketplace` @@ -111562,6 +113756,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginMarketplaceValidationReport` @@ -111839,6 +114037,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaPluginMarketplaceValidationReport` @@ -112131,6 +114333,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaTelemetryDestination` @@ -112502,6 +114708,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaTelemetryDestination` @@ -112861,6 +115071,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaTelemetryDestination` @@ -113261,6 +115475,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaTelemetryDestination` @@ -113621,6 +115839,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaDeletedTelemetryDestination` @@ -113795,6 +116017,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaTelemetryDestinationTestResponse` @@ -114003,6 +116229,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaTelemetryDestinationWorkspace` @@ -114206,6 +116436,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaTelemetryDestinationWorkspace` @@ -114406,6 +116640,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaDeletedTelemetryDestinationWorkspace` @@ -114615,257 +116853,265 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` -#### Returns - -- `type BetaNewOrganizationWebhookEndpoint` - - A new organization webhook endpoint, with its signing secret. - - - `ID string` - - ID of the webhook endpoint. - - - `CreatedAt Time` - - When the endpoint was created, in RFC 3339 format. - - format: date-time - - - `Description string` - - Notes about the endpoint. An empty string when none were given. - - - `DisabledReason string` - - Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it. - - - `EnabledEvents []string` - - The event types delivered to the endpoint. - - - `const BetaNewOrganizationWebhookEndpointEnabledEventUserProfileEnforcementActionOpened BetaNewOrganizationWebhookEndpointEnabledEvent = "user_profile.enforcement_action_opened"` - - - `const BetaNewOrganizationWebhookEndpointEnabledEventUserProfileEnforcementActionResolved BetaNewOrganizationWebhookEndpointEnabledEvent = "user_profile.enforcement_action_resolved"` - - - `Name string` - - A short label for the endpoint. An empty string when none was given. - - - `SigningSecret string` - - The secret Anthropic signs deliveries to the endpoint with (prefix `whsec_`). No other response returns it, so store it now. To replace it, regenerate the signing secret. - - - `State BetaOrganizationWebhookEndpointState` - - Whether deliveries are sent to the endpoint. - - - `const BetaOrganizationWebhookEndpointStateDisabled BetaOrganizationWebhookEndpointState = "disabled"` - - - `const BetaOrganizationWebhookEndpointStateEnabled BetaOrganizationWebhookEndpointState = "enabled"` - - - `UpdatedAt Time` - - When the endpoint was last changed, in RFC 3339 format. - - format: date-time - - - `URL string` - - The HTTPS URL that deliveries are sent to. - -#### Example - -```go -package main - -import ( - "context" - "fmt" - - "github.com/anthropics/anthropic-sdk-go/v2" - "github.com/anthropics/anthropic-sdk-go/v2/option" -) - -func main() { - client := anthropic.NewClient( - option.WithAPIKey("my-anthropic-api-key"), - ) - betaNewOrganizationWebhookEndpoint, err := client.Beta.Organization.Webhooks.New(context.TODO(), anthropic.BetaOrganizationWebhookNewParams{ - EnabledEvents: []string{"user_profile.enforcement_action_opened"}, - URL: "x", - }) - if err != nil { - panic(err.Error()) - } - fmt.Printf("%+v\n", betaNewOrganizationWebhookEndpoint.ID) -} -``` - -##### Response (200) - -```json -{ - "id": "id", - "created_at": "2019-12-27T18:11:19.117Z", - "description": "description", - "disabled_reason": "disabled_reason", - "enabled_events": [ - "user_profile.enforcement_action_opened" - ], - "name": "name", - "signing_secret": "signing_secret", - "state": "disabled", - "updated_at": "2019-12-27T18:11:19.117Z", - "url": "url" -} -``` - -### List Organization Webhook Endpoints - -`client.Beta.Organization.Webhooks.List(ctx, params) (*Page[BetaOrganizationWebhookEndpoint], error)` - -**GET** `/v1/organizations/webhooks` - -List the organization's webhook endpoints. - -An organization webhook endpoint belongs to the organization rather than to one of its workspaces. The list does not include webhook endpoints that -belong to a workspace. - -Every request must include the beta header `anthropic-beta: webhooks-2026-10-07`. A request without it returns `404`, exactly as if this API did not exist. Anthropic turns organization webhook endpoints on for each organization; until yours is on, requests also return `404`. Organization webhook endpoints are in beta and are not available to organizations with HIPAA readiness enabled. - -#### Parameters - -- `params BetaOrganizationWebhookListParams` - - - `AfterID param.Opt[string] Optional` (query parameter) - - ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. - - - `BeforeID param.Opt[string] Optional` (query parameter) - - ID of a webhook endpoint to use as a cursor. Returns the first `limit` endpoints that come before it in list order, not the `limit` endpoints just before it. + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + +#### Returns + +- `type BetaNewOrganizationWebhookEndpoint` + + A new organization webhook endpoint, with its signing secret. + + - `ID string` + + ID of the webhook endpoint. + + - `CreatedAt Time` + + When the endpoint was created, in RFC 3339 format. + + format: date-time + + - `Description string` + + Notes about the endpoint. An empty string when none were given. + + - `DisabledReason string` + + Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it. + + - `EnabledEvents []string` + + The event types delivered to the endpoint. + + - `const BetaNewOrganizationWebhookEndpointEnabledEventUserProfileEnforcementActionOpened BetaNewOrganizationWebhookEndpointEnabledEvent = "user_profile.enforcement_action_opened"` + + - `const BetaNewOrganizationWebhookEndpointEnabledEventUserProfileEnforcementActionResolved BetaNewOrganizationWebhookEndpointEnabledEvent = "user_profile.enforcement_action_resolved"` + + - `Name string` + + A short label for the endpoint. An empty string when none was given. + + - `SigningSecret string` + + The secret Anthropic signs deliveries to the endpoint with (prefix `whsec_`). No other response returns it, so store it now. To replace it, regenerate the signing secret. + + - `State BetaOrganizationWebhookEndpointState` + + Whether deliveries are sent to the endpoint. + + - `const BetaOrganizationWebhookEndpointStateDisabled BetaOrganizationWebhookEndpointState = "disabled"` + + - `const BetaOrganizationWebhookEndpointStateEnabled BetaOrganizationWebhookEndpointState = "enabled"` + + - `UpdatedAt Time` + + When the endpoint was last changed, in RFC 3339 format. + + format: date-time + + - `URL string` + + The HTTPS URL that deliveries are sent to. + +#### Example + +```go +package main + +import ( + "context" + "fmt" + + "github.com/anthropics/anthropic-sdk-go/v2" + "github.com/anthropics/anthropic-sdk-go/v2/option" +) + +func main() { + client := anthropic.NewClient( + option.WithAPIKey("my-anthropic-api-key"), + ) + betaNewOrganizationWebhookEndpoint, err := client.Beta.Organization.Webhooks.New(context.TODO(), anthropic.BetaOrganizationWebhookNewParams{ + EnabledEvents: []string{"user_profile.enforcement_action_opened"}, + URL: "x", + }) + if err != nil { + panic(err.Error()) + } + fmt.Printf("%+v\n", betaNewOrganizationWebhookEndpoint.ID) +} +``` + +##### Response (200) + +```json +{ + "id": "id", + "created_at": "2019-12-27T18:11:19.117Z", + "description": "description", + "disabled_reason": "disabled_reason", + "enabled_events": [ + "user_profile.enforcement_action_opened" + ], + "name": "name", + "signing_secret": "signing_secret", + "state": "disabled", + "updated_at": "2019-12-27T18:11:19.117Z", + "url": "url" +} +``` + +### List Organization Webhook Endpoints + +`client.Beta.Organization.Webhooks.List(ctx, params) (*Page[BetaOrganizationWebhookEndpoint], error)` + +**GET** `/v1/organizations/webhooks` + +List the organization's webhook endpoints. + +An organization webhook endpoint belongs to the organization rather than to one of its workspaces. The list does not include webhook endpoints that +belong to a workspace. + +Every request must include the beta header `anthropic-beta: webhooks-2026-10-07`. A request without it returns `404`, exactly as if this API did not exist. Anthropic turns organization webhook endpoints on for each organization; until yours is on, requests also return `404`. Organization webhook endpoints are in beta and are not available to organizations with HIPAA readiness enabled. + +#### Parameters + +- `params BetaOrganizationWebhookListParams` + + - `AfterID param.Opt[string] Optional` (query parameter) + + ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. + + - `BeforeID param.Opt[string] Optional` (query parameter) + + ID of a webhook endpoint to use as a cursor. Returns the first `limit` endpoints that come before it in list order, not the `limit` endpoints just before it. + + - `Limit param.Opt[int64] Optional` (query parameter) + + Number of items to return per page, up to `100`. The default, `0`, means `20`. + + minimum: 0, maximum: 100 + + - `Order BetaOrganizationWebhookListParamsOrder Optional` (query parameter) + + Sort order by `created_at`. Defaults to `desc`, newest first. + + - `const BetaOrganizationWebhookListParamsOrderAsc BetaOrganizationWebhookListParamsOrder = "asc"` + + - `const BetaOrganizationWebhookListParamsOrderDesc BetaOrganizationWebhookListParamsOrder = "desc"` + + - `Betas []AnthropicBeta Optional` (header parameter) + + This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header. + + - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` + + - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` + + - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` + + - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` + + - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` + + - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` + + - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` + + - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` + + - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` + + - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` + + - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` + + - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` + + - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` + + - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` + + - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` + + - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` + + - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` + + - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` + + - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` + + - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` + + - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` + + - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` + + - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` + + - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` + + - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` + + - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` + + - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` + + - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` + + - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` + + - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` + + - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` + + - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` + + - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` + + - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` + + - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` + + - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` + + - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` + + - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` + + - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` + + - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` + + - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` + + - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` + + - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` + + - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` + + - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` + + - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` + + - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` + + - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` + + - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` + + - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` + + - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` - - `Limit param.Opt[int64] Optional` (query parameter) - - Number of items to return per page, up to `100`. The default, `0`, means `20`. - - minimum: 0, maximum: 100 - - - `Order BetaOrganizationWebhookListParamsOrder Optional` (query parameter) - - Sort order by `created_at`. Defaults to `desc`, newest first. - - - `const BetaOrganizationWebhookListParamsOrderAsc BetaOrganizationWebhookListParamsOrder = "asc"` - - - `const BetaOrganizationWebhookListParamsOrderDesc BetaOrganizationWebhookListParamsOrder = "desc"` - - - `Betas []AnthropicBeta Optional` (header parameter) - - This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header. - - - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"` - - - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"` - - - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"` - - - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"` - - - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"` - - - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"` - - - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"` - - - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"` - - - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"` - - - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"` - - - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"` - - - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"` - - - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"` - - - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"` - - - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"` - - - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"` - - - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"` - - - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"` - - - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"` - - - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"` - - - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"` - - - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"` - - - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"` - - - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"` - - - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"` - - - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"` - - - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"` - - - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"` - - - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"` - - - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"` - - - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"` - - - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"` - - - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"` - - - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"` - - - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"` - - - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"` - - - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"` - - - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"` - - - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"` - - - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"` - - - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"` - - - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"` - - - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"` - - - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"` - - - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"` - - - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"` - - - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"` - - - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"` - - - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"` - - - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"` - - - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` #### Returns @@ -115100,6 +117346,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaOrganizationWebhookEndpoint` @@ -115360,6 +117610,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaOrganizationWebhookEndpoint` @@ -115590,6 +117844,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaDeletedOrganizationWebhookEndpoint` @@ -115773,6 +118031,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaOrganizationWebhookEndpointSigningSecret` diff --git a/content/en/api/go/beta/agents.md b/content/en/api/go/beta/agents.md index b61bf6c791..39a50d9371 100644 --- a/content/en/api/go/beta/agents.md +++ b/content/en/api/go/beta/agents.md @@ -891,6 +891,10 @@ Create Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1961,6 +1965,10 @@ List Agents - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3015,6 +3023,10 @@ Get Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4834,6 +4846,10 @@ Update Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5883,6 +5899,10 @@ Archive Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -13318,6 +13338,10 @@ List Agent Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/agents/archive.md b/content/en/api/go/beta/agents/archive.md index 6d22def125..8c74fdfdf9 100644 --- a/content/en/api/go/beta/agents/archive.md +++ b/content/en/api/go/beta/agents/archive.md @@ -127,6 +127,10 @@ Archive Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/agents/create.md b/content/en/api/go/beta/agents/create.md index 541a098403..b302961d9f 100644 --- a/content/en/api/go/beta/agents/create.md +++ b/content/en/api/go/beta/agents/create.md @@ -889,6 +889,10 @@ Create Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/agents/list.md b/content/en/api/go/beta/agents/list.md index a3ac73b62e..b31940c202 100644 --- a/content/en/api/go/beta/agents/list.md +++ b/content/en/api/go/beta/agents/list.md @@ -149,6 +149,10 @@ List Agents - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/agents/retrieve.md b/content/en/api/go/beta/agents/retrieve.md index 366b860d38..65c8e1be47 100644 --- a/content/en/api/go/beta/agents/retrieve.md +++ b/content/en/api/go/beta/agents/retrieve.md @@ -133,6 +133,10 @@ Get Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/agents/update.md b/content/en/api/go/beta/agents/update.md index 17bf2127cf..da5da4f945 100644 --- a/content/en/api/go/beta/agents/update.md +++ b/content/en/api/go/beta/agents/update.md @@ -899,6 +899,10 @@ Update Agent - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/agents/versions.md b/content/en/api/go/beta/agents/versions.md index b12a8c5809..a5e489bb82 100644 --- a/content/en/api/go/beta/agents/versions.md +++ b/content/en/api/go/beta/agents/versions.md @@ -139,6 +139,10 @@ List Agent Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/agents/versions/list.md b/content/en/api/go/beta/agents/versions/list.md index 3f8b57ebf4..f122d63c34 100644 --- a/content/en/api/go/beta/agents/versions/list.md +++ b/content/en/api/go/beta/agents/versions/list.md @@ -137,6 +137,10 @@ List Agent Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployment_runs.md b/content/en/api/go/beta/deployment_runs.md index e85114483f..670f7b126a 100644 --- a/content/en/api/go/beta/deployment_runs.md +++ b/content/en/api/go/beta/deployment_runs.md @@ -171,6 +171,10 @@ List Deployment Runs - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -580,6 +584,10 @@ Get Deployment Run - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployment_runs/list.md b/content/en/api/go/beta/deployment_runs/list.md index 161a658c46..e6065d8eea 100644 --- a/content/en/api/go/beta/deployment_runs/list.md +++ b/content/en/api/go/beta/deployment_runs/list.md @@ -169,6 +169,10 @@ List Deployment Runs - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployment_runs/retrieve.md b/content/en/api/go/beta/deployment_runs/retrieve.md index 138602873b..1e31061a4e 100644 --- a/content/en/api/go/beta/deployment_runs/retrieve.md +++ b/content/en/api/go/beta/deployment_runs/retrieve.md @@ -127,6 +127,10 @@ Get Deployment Run - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments.md b/content/en/api/go/beta/deployments.md index 35c5b11c0c..ec06a3d2b1 100644 --- a/content/en/api/go/beta/deployments.md +++ b/content/en/api/go/beta/deployments.md @@ -497,6 +497,10 @@ Create Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1284,6 +1288,10 @@ List Deployments - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2031,6 +2039,10 @@ Get Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3149,6 +3161,10 @@ Update Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3895,6 +3911,10 @@ Archive Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4641,6 +4661,10 @@ Run Deployment Now - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5049,6 +5073,10 @@ Pause Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5795,6 +5823,10 @@ Unpause Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/archive.md b/content/en/api/go/beta/deployments/archive.md index b8c599e7d9..333c57bbff 100644 --- a/content/en/api/go/beta/deployments/archive.md +++ b/content/en/api/go/beta/deployments/archive.md @@ -127,6 +127,10 @@ Archive Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/create.md b/content/en/api/go/beta/deployments/create.md index 4052d9f303..bb32795046 100644 --- a/content/en/api/go/beta/deployments/create.md +++ b/content/en/api/go/beta/deployments/create.md @@ -495,6 +495,10 @@ Create Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/list.md b/content/en/api/go/beta/deployments/list.md index c65faf1775..525cc2d64a 100644 --- a/content/en/api/go/beta/deployments/list.md +++ b/content/en/api/go/beta/deployments/list.md @@ -157,6 +157,10 @@ List Deployments - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/pause.md b/content/en/api/go/beta/deployments/pause.md index 70be9f9d0c..7821446546 100644 --- a/content/en/api/go/beta/deployments/pause.md +++ b/content/en/api/go/beta/deployments/pause.md @@ -127,6 +127,10 @@ Pause Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/retrieve.md b/content/en/api/go/beta/deployments/retrieve.md index 736e5ecfe3..caf546a98f 100644 --- a/content/en/api/go/beta/deployments/retrieve.md +++ b/content/en/api/go/beta/deployments/retrieve.md @@ -127,6 +127,10 @@ Get Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/run.md b/content/en/api/go/beta/deployments/run.md index 2ddd5b36e6..6c4f0cbd75 100644 --- a/content/en/api/go/beta/deployments/run.md +++ b/content/en/api/go/beta/deployments/run.md @@ -127,6 +127,10 @@ Run Deployment Now - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/unpause.md b/content/en/api/go/beta/deployments/unpause.md index 0b3f08c9ff..e35adb223f 100644 --- a/content/en/api/go/beta/deployments/unpause.md +++ b/content/en/api/go/beta/deployments/unpause.md @@ -127,6 +127,10 @@ Unpause Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/deployments/update.md b/content/en/api/go/beta/deployments/update.md index 9d00accbf8..ba326d9e61 100644 --- a/content/en/api/go/beta/deployments/update.md +++ b/content/en/api/go/beta/deployments/update.md @@ -499,6 +499,10 @@ Update Deployment - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments.md b/content/en/api/go/beta/environments.md index 5aad075d75..dd758699a3 100644 --- a/content/en/api/go/beta/environments.md +++ b/content/en/api/go/beta/environments.md @@ -241,6 +241,10 @@ Create a new environment with the specified configuration. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -591,6 +595,10 @@ List environments with pagination support. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -932,6 +940,10 @@ Retrieve a specific environment by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1388,6 +1400,10 @@ Update an existing environment's configuration. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1728,6 +1744,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1910,6 +1930,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2719,6 +2743,10 @@ Retrieve detailed information about a specific work item. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2999,6 +3027,10 @@ Long poll for work items in the queue. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `AnthropicWorkerID param.Opt[string] Optional` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -3265,6 +3297,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSelfHostedWork` @@ -3537,6 +3573,10 @@ Record a heartbeat for a work item to maintain the lease. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSelfHostedWorkHeartbeatResponse` @@ -3748,6 +3788,10 @@ Stop a work item, initiating graceful or forced shutdown. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4027,6 +4071,10 @@ List work items in an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + #### Returns - `type BetaSelfHostedWork` @@ -4298,6 +4346,10 @@ Update work item metadata with merge semantics. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4569,6 +4621,10 @@ Get statistics about the work queue for an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/archive.md b/content/en/api/go/beta/environments/archive.md index 7f1e2a689d..312c145837 100644 --- a/content/en/api/go/beta/environments/archive.md +++ b/content/en/api/go/beta/environments/archive.md @@ -125,6 +125,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/create.md b/content/en/api/go/beta/environments/create.md index 173cdb2f7b..54854cceef 100644 --- a/content/en/api/go/beta/environments/create.md +++ b/content/en/api/go/beta/environments/create.md @@ -239,6 +239,10 @@ Create a new environment with the specified configuration. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/delete.md b/content/en/api/go/beta/environments/delete.md index 0b0fea03cb..d3fbcaa4b9 100644 --- a/content/en/api/go/beta/environments/delete.md +++ b/content/en/api/go/beta/environments/delete.md @@ -125,6 +125,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/list.md b/content/en/api/go/beta/environments/list.md index 2763e93188..e459250304 100644 --- a/content/en/api/go/beta/environments/list.md +++ b/content/en/api/go/beta/environments/list.md @@ -137,6 +137,10 @@ List environments with pagination support. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/retrieve.md b/content/en/api/go/beta/environments/retrieve.md index f869921ce6..daaf1a3393 100644 --- a/content/en/api/go/beta/environments/retrieve.md +++ b/content/en/api/go/beta/environments/retrieve.md @@ -125,6 +125,10 @@ Retrieve a specific environment by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/update.md b/content/en/api/go/beta/environments/update.md index 9da72a0a27..9bd589e8db 100644 --- a/content/en/api/go/beta/environments/update.md +++ b/content/en/api/go/beta/environments/update.md @@ -241,6 +241,10 @@ Update an existing environment's configuration. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/work.md b/content/en/api/go/beta/environments/work.md index 0456e133bf..d89f9ef0bb 100644 --- a/content/en/api/go/beta/environments/work.md +++ b/content/en/api/go/beta/environments/work.md @@ -131,6 +131,10 @@ Retrieve detailed information about a specific work item. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -411,6 +415,10 @@ Long poll for work items in the queue. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `AnthropicWorkerID param.Opt[string] Optional` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -677,6 +685,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + ### Returns - `type BetaSelfHostedWork` @@ -949,6 +961,10 @@ Record a heartbeat for a work item to maintain the lease. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + ### Returns - `type BetaSelfHostedWorkHeartbeatResponse` @@ -1160,6 +1176,10 @@ Stop a work item, initiating graceful or forced shutdown. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1439,6 +1459,10 @@ List work items in an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + ### Returns - `type BetaSelfHostedWork` @@ -1710,6 +1734,10 @@ Update work item metadata with merge semantics. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1981,6 +2009,10 @@ Get statistics about the work queue for an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/work/ack.md b/content/en/api/go/beta/environments/work/ack.md index b1b19ff6ce..06fcdbbe63 100644 --- a/content/en/api/go/beta/environments/work/ack.md +++ b/content/en/api/go/beta/environments/work/ack.md @@ -129,6 +129,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + ## Returns - `type BetaSelfHostedWork` diff --git a/content/en/api/go/beta/environments/work/heartbeat.md b/content/en/api/go/beta/environments/work/heartbeat.md index a1a7d52d15..3631ed35b0 100644 --- a/content/en/api/go/beta/environments/work/heartbeat.md +++ b/content/en/api/go/beta/environments/work/heartbeat.md @@ -137,6 +137,10 @@ Record a heartbeat for a work item to maintain the lease. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + ## Returns - `type BetaSelfHostedWorkHeartbeatResponse` diff --git a/content/en/api/go/beta/environments/work/list.md b/content/en/api/go/beta/environments/work/list.md index 73578c3000..721585544a 100644 --- a/content/en/api/go/beta/environments/work/list.md +++ b/content/en/api/go/beta/environments/work/list.md @@ -137,6 +137,10 @@ List work items in an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + ## Returns - `type BetaSelfHostedWork` diff --git a/content/en/api/go/beta/environments/work/poll.md b/content/en/api/go/beta/environments/work/poll.md index b3b063324b..75fc1040cb 100644 --- a/content/en/api/go/beta/environments/work/poll.md +++ b/content/en/api/go/beta/environments/work/poll.md @@ -139,6 +139,10 @@ Long poll for work items in the queue. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `AnthropicWorkerID param.Opt[string] Optional` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console diff --git a/content/en/api/go/beta/environments/work/retrieve.md b/content/en/api/go/beta/environments/work/retrieve.md index 8f67743de5..2c0901130b 100644 --- a/content/en/api/go/beta/environments/work/retrieve.md +++ b/content/en/api/go/beta/environments/work/retrieve.md @@ -129,6 +129,10 @@ Retrieve detailed information about a specific work item. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/work/stats.md b/content/en/api/go/beta/environments/work/stats.md index 244c90b1fb..07a6747525 100644 --- a/content/en/api/go/beta/environments/work/stats.md +++ b/content/en/api/go/beta/environments/work/stats.md @@ -125,6 +125,10 @@ Get statistics about the work queue for an environment. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/work/stop.md b/content/en/api/go/beta/environments/work/stop.md index 3058f21a0b..748f3a6f46 100644 --- a/content/en/api/go/beta/environments/work/stop.md +++ b/content/en/api/go/beta/environments/work/stop.md @@ -133,6 +133,10 @@ Stop a work item, initiating graceful or forced shutdown. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/environments/work/update.md b/content/en/api/go/beta/environments/work/update.md index e5d283854c..a6cda86abf 100644 --- a/content/en/api/go/beta/environments/work/update.md +++ b/content/en/api/go/beta/environments/work/update.md @@ -133,6 +133,10 @@ Update work item metadata with merge semantics. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/files.md b/content/en/api/go/beta/files.md index 1976020e43..78fa37b104 100644 --- a/content/en/api/go/beta/files.md +++ b/content/en/api/go/beta/files.md @@ -137,6 +137,10 @@ Upload File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -395,6 +399,10 @@ List Files - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -638,6 +646,10 @@ Download File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -801,6 +813,10 @@ Get File Metadata - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1043,6 +1059,10 @@ Delete File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/files/delete.md b/content/en/api/go/beta/files/delete.md index db0227ad32..47d3edff52 100644 --- a/content/en/api/go/beta/files/delete.md +++ b/content/en/api/go/beta/files/delete.md @@ -127,6 +127,10 @@ Delete File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/files/download.md b/content/en/api/go/beta/files/download.md index 37da218dc8..bf04586fce 100644 --- a/content/en/api/go/beta/files/download.md +++ b/content/en/api/go/beta/files/download.md @@ -127,6 +127,10 @@ Download File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/files/list.md b/content/en/api/go/beta/files/list.md index 5cd58bd1ca..941a218869 100644 --- a/content/en/api/go/beta/files/list.md +++ b/content/en/api/go/beta/files/list.md @@ -143,6 +143,10 @@ List Files - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/files/retrieve_metadata.md b/content/en/api/go/beta/files/retrieve_metadata.md index ae8f043955..37936bef75 100644 --- a/content/en/api/go/beta/files/retrieve_metadata.md +++ b/content/en/api/go/beta/files/retrieve_metadata.md @@ -127,6 +127,10 @@ Get File Metadata - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/files/upload.md b/content/en/api/go/beta/files/upload.md index 0d5d0798b9..5990346270 100644 --- a/content/en/api/go/beta/files/upload.md +++ b/content/en/api/go/beta/files/upload.md @@ -135,6 +135,10 @@ Upload File - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores.md b/content/en/api/go/beta/memory_stores.md index 1a8d5237e0..ff33763151 100644 --- a/content/en/api/go/beta/memory_stores.md +++ b/content/en/api/go/beta/memory_stores.md @@ -147,6 +147,10 @@ Create a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -393,6 +397,10 @@ List Memory Stores - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -618,6 +626,10 @@ Retrieve a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -866,6 +878,10 @@ Update a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1094,6 +1110,10 @@ Delete a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1276,6 +1296,10 @@ Archive a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1588,6 +1612,10 @@ Create a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1863,6 +1891,10 @@ List Memories - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2134,6 +2166,10 @@ Retrieve a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2404,6 +2440,10 @@ Update a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2656,6 +2696,10 @@ Delete a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2896,6 +2940,10 @@ List Memory Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3234,6 +3282,10 @@ Retrieve a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3563,6 +3615,10 @@ Redact a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/archive.md b/content/en/api/go/beta/memory_stores/archive.md index 5a5a739cce..6823cd67a3 100644 --- a/content/en/api/go/beta/memory_stores/archive.md +++ b/content/en/api/go/beta/memory_stores/archive.md @@ -129,6 +129,10 @@ Archive a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/create.md b/content/en/api/go/beta/memory_stores/create.md index 711b86c736..46d537e939 100644 --- a/content/en/api/go/beta/memory_stores/create.md +++ b/content/en/api/go/beta/memory_stores/create.md @@ -145,6 +145,10 @@ Create a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/delete.md b/content/en/api/go/beta/memory_stores/delete.md index e5e613c658..5cd7c596ff 100644 --- a/content/en/api/go/beta/memory_stores/delete.md +++ b/content/en/api/go/beta/memory_stores/delete.md @@ -129,6 +129,10 @@ Delete a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/list.md b/content/en/api/go/beta/memory_stores/list.md index da3e89360b..58f14d7753 100644 --- a/content/en/api/go/beta/memory_stores/list.md +++ b/content/en/api/go/beta/memory_stores/list.md @@ -149,6 +149,10 @@ List Memory Stores - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memories.md b/content/en/api/go/beta/memory_stores/memories.md index 57937e34e0..5aacdd2ed5 100644 --- a/content/en/api/go/beta/memory_stores/memories.md +++ b/content/en/api/go/beta/memory_stores/memories.md @@ -149,6 +149,10 @@ Create a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -424,6 +428,10 @@ List Memories - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -695,6 +703,10 @@ Retrieve a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -965,6 +977,10 @@ Update a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1217,6 +1233,10 @@ Delete a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memories/create.md b/content/en/api/go/beta/memory_stores/memories/create.md index 73e30c0fdf..bc9d30c8ca 100644 --- a/content/en/api/go/beta/memory_stores/memories/create.md +++ b/content/en/api/go/beta/memory_stores/memories/create.md @@ -147,6 +147,10 @@ Create a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memories/delete.md b/content/en/api/go/beta/memory_stores/memories/delete.md index a5f0d274e8..4557f25b37 100644 --- a/content/en/api/go/beta/memory_stores/memories/delete.md +++ b/content/en/api/go/beta/memory_stores/memories/delete.md @@ -137,6 +137,10 @@ Delete a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memories/list.md b/content/en/api/go/beta/memory_stores/memories/list.md index 98a0497e52..d5697d14af 100644 --- a/content/en/api/go/beta/memory_stores/memories/list.md +++ b/content/en/api/go/beta/memory_stores/memories/list.md @@ -159,6 +159,10 @@ List Memories - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memories/retrieve.md b/content/en/api/go/beta/memory_stores/memories/retrieve.md index 0e59f1a58d..8150fa5a71 100644 --- a/content/en/api/go/beta/memory_stores/memories/retrieve.md +++ b/content/en/api/go/beta/memory_stores/memories/retrieve.md @@ -137,6 +137,10 @@ Retrieve a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memories/update.md b/content/en/api/go/beta/memory_stores/memories/update.md index d61278c73c..5313fe2559 100644 --- a/content/en/api/go/beta/memory_stores/memories/update.md +++ b/content/en/api/go/beta/memory_stores/memories/update.md @@ -155,6 +155,10 @@ Update a Memory - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memory_versions.md b/content/en/api/go/beta/memory_stores/memory_versions.md index 63b35aea4c..8639407830 100644 --- a/content/en/api/go/beta/memory_stores/memory_versions.md +++ b/content/en/api/go/beta/memory_stores/memory_versions.md @@ -181,6 +181,10 @@ List Memory Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -519,6 +523,10 @@ Retrieve a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -848,6 +856,10 @@ Redact a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memory_versions/list.md b/content/en/api/go/beta/memory_stores/memory_versions/list.md index 01d4b7ce30..fb2482cdd3 100644 --- a/content/en/api/go/beta/memory_stores/memory_versions/list.md +++ b/content/en/api/go/beta/memory_stores/memory_versions/list.md @@ -179,6 +179,10 @@ List Memory Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memory_versions/redact.md b/content/en/api/go/beta/memory_stores/memory_versions/redact.md index 86fed99c55..024919efc2 100644 --- a/content/en/api/go/beta/memory_stores/memory_versions/redact.md +++ b/content/en/api/go/beta/memory_stores/memory_versions/redact.md @@ -131,6 +131,10 @@ Redact a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/memory_versions/retrieve.md b/content/en/api/go/beta/memory_stores/memory_versions/retrieve.md index 988de0ff4e..988ae27398 100644 --- a/content/en/api/go/beta/memory_stores/memory_versions/retrieve.md +++ b/content/en/api/go/beta/memory_stores/memory_versions/retrieve.md @@ -137,6 +137,10 @@ Retrieve a Memory Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/retrieve.md b/content/en/api/go/beta/memory_stores/retrieve.md index dc99c2103c..575f9ff941 100644 --- a/content/en/api/go/beta/memory_stores/retrieve.md +++ b/content/en/api/go/beta/memory_stores/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/memory_stores/update.md b/content/en/api/go/beta/memory_stores/update.md index fec17c02ac..41c6d48ba5 100644 --- a/content/en/api/go/beta/memory_stores/update.md +++ b/content/en/api/go/beta/memory_stores/update.md @@ -149,6 +149,10 @@ Update a Memory Store - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages.md b/content/en/api/go/beta/messages.md index 72063db459..451adad64f 100644 --- a/content/en/api/go/beta/messages.md +++ b/content/en/api/go/beta/messages.md @@ -3644,6 +3644,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=go#configuring-thinking) for each model's behavior. + - `Thread BetaMessageThreadParamUnion Optional` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `ToolChoice BetaToolChoiceUnionParam Optional` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -3901,6 +3905,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -11981,6 +11989,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -50775,6 +50787,28 @@ func main() { - `const BetaSystemMessageOutputConfigEffortMax BetaSystemMessageOutputConfigEffort = "max"` +### Beta Message Thread Param + +- `type BetaMessageThreadParamUnion interface{…}` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `type BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `Type Create` + + - `type BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `Type Continue` + + - `PreviousMessageID string` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `type BetaMessageTokensCount` @@ -73977,6 +74011,26 @@ func main() { minimum: 1 +### Beta Thread Continue Params + +- `type BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `Type Continue` + + - `PreviousMessageID string` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `type BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `Type Create` + ### Beta Token Task Budget - `type BetaTokenTaskBudgetParam` @@ -93522,6 +93576,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `type BetaThinkingConfigAdaptiveParam` + - `Thread BetaMessageThreadParamUnion Optional` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `type BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `Type Create` + + - `type BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `Type Continue` + + - `PreviousMessageID string` + + The `id` of the previous response in this Thread. + - `ToolChoice BetaToolChoiceUnionParam Optional` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -93833,6 +93907,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -94144,6 +94222,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -94450,6 +94532,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -94749,6 +94835,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95045,6 +95135,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95233,6 +95327,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages/batches.md b/content/en/api/go/beta/messages/batches.md index 6b48944439..d76a5b057f 100644 --- a/content/en/api/go/beta/messages/batches.md +++ b/content/en/api/go/beta/messages/batches.md @@ -3956,6 +3956,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `type BetaThinkingConfigAdaptiveParam` + - `Thread BetaMessageThreadParamUnion Optional` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `type BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `Type Create` + + - `type BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `Type Continue` + + - `PreviousMessageID string` + + The `id` of the previous response in this Thread. + - `ToolChoice BetaToolChoiceUnionParam Optional` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4267,6 +4287,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4578,6 +4602,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4884,6 +4912,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5183,6 +5215,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5479,6 +5515,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5667,6 +5707,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages/batches/cancel.md b/content/en/api/go/beta/messages/batches/cancel.md index ca50d9221b..520bf1beca 100644 --- a/content/en/api/go/beta/messages/batches/cancel.md +++ b/content/en/api/go/beta/messages/batches/cancel.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages/batches/create.md b/content/en/api/go/beta/messages/batches/create.md index c69bfe08c5..57c5e77a87 100644 --- a/content/en/api/go/beta/messages/batches/create.md +++ b/content/en/api/go/beta/messages/batches/create.md @@ -3954,6 +3954,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `type BetaThinkingConfigAdaptiveParam` + - `Thread BetaMessageThreadParamUnion Optional` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `type BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `Type Create` + + - `type BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `Type Continue` + + - `PreviousMessageID string` + + The `id` of the previous response in this Thread. + - `ToolChoice BetaToolChoiceUnionParam Optional` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4265,6 +4285,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. diff --git a/content/en/api/go/beta/messages/batches/delete.md b/content/en/api/go/beta/messages/batches/delete.md index c016c038db..1662358ba1 100644 --- a/content/en/api/go/beta/messages/batches/delete.md +++ b/content/en/api/go/beta/messages/batches/delete.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages/batches/list.md b/content/en/api/go/beta/messages/batches/list.md index f6a0578b4a..0337092160 100644 --- a/content/en/api/go/beta/messages/batches/list.md +++ b/content/en/api/go/beta/messages/batches/list.md @@ -141,6 +141,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages/batches/results.md b/content/en/api/go/beta/messages/batches/results.md index 3c3d24a466..23b3cfc733 100644 --- a/content/en/api/go/beta/messages/batches/results.md +++ b/content/en/api/go/beta/messages/batches/results.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages/batches/retrieve.md b/content/en/api/go/beta/messages/batches/retrieve.md index 4bb4bb61ef..7a7c9ede85 100644 --- a/content/en/api/go/beta/messages/batches/retrieve.md +++ b/content/en/api/go/beta/messages/batches/retrieve.md @@ -129,6 +129,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/messages/count_tokens.md b/content/en/api/go/beta/messages/count_tokens.md index a81fa0cf37..f5f18673e3 100644 --- a/content/en/api/go/beta/messages/count_tokens.md +++ b/content/en/api/go/beta/messages/count_tokens.md @@ -3766,6 +3766,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/go/beta/messages/create.md b/content/en/api/go/beta/messages/create.md index 7a6cb71c32..81c68099b5 100644 --- a/content/en/api/go/beta/messages/create.md +++ b/content/en/api/go/beta/messages/create.md @@ -3642,6 +3642,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=go#configuring-thinking) for each model's behavior. + - `Thread BetaMessageThreadParamUnion Optional` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `ToolChoice BetaToolChoiceUnionParam Optional` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -3899,6 +3903,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `UserProfileID param.Opt[string] Optional` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/go/beta/models.md b/content/en/api/go/beta/models.md index ce5053809f..3eca4b6c98 100644 --- a/content/en/api/go/beta/models.md +++ b/content/en/api/go/beta/models.md @@ -155,6 +155,10 @@ The Models API response can be used to determine which models are available for - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -498,7 +502,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -637,6 +641,10 @@ The Models API response can be used to determine information about a specific mo - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -982,7 +990,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/go/beta/models/list.md b/content/en/api/go/beta/models/list.md index 74a06ebabd..45668f8915 100644 --- a/content/en/api/go/beta/models/list.md +++ b/content/en/api/go/beta/models/list.md @@ -153,6 +153,10 @@ The Models API response can be used to determine which models are available for - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -496,7 +500,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/go/beta/models/retrieve.md b/content/en/api/go/beta/models/retrieve.md index 86eac346dd..1034cfd6af 100644 --- a/content/en/api/go/beta/models/retrieve.md +++ b/content/en/api/go/beta/models/retrieve.md @@ -129,6 +129,10 @@ The Models API response can be used to determine information about a specific mo - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -474,7 +478,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/go/beta/sessions.md b/content/en/api/go/beta/sessions.md index e273d770ad..245c90d28e 100644 --- a/content/en/api/go/beta/sessions.md +++ b/content/en/api/go/beta/sessions.md @@ -1229,6 +1229,10 @@ Create Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2818,6 +2822,10 @@ List Sessions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4317,6 +4325,10 @@ Get Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5836,6 +5848,10 @@ Update Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7333,6 +7349,10 @@ Delete Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7509,6 +7529,10 @@ Archive Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19290,6 +19314,10 @@ List Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -22765,6 +22793,10 @@ Send Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23406,6 +23438,10 @@ Stream Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26562,6 +26598,10 @@ Add Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26770,6 +26810,10 @@ List Session Resources - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27065,6 +27109,10 @@ Get Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27357,6 +27405,10 @@ Update Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27644,6 +27696,10 @@ Delete Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27848,6 +27904,10 @@ List Session Threads - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28941,6 +29001,10 @@ Get Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30031,6 +30095,10 @@ Archive Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31129,6 +31197,10 @@ List Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34254,6 +34326,10 @@ Stream Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/archive.md b/content/en/api/go/beta/sessions/archive.md index b18f96d70f..81591ffbc1 100644 --- a/content/en/api/go/beta/sessions/archive.md +++ b/content/en/api/go/beta/sessions/archive.md @@ -125,6 +125,10 @@ Archive Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/create.md b/content/en/api/go/beta/sessions/create.md index fac5954486..b7cad46efc 100644 --- a/content/en/api/go/beta/sessions/create.md +++ b/content/en/api/go/beta/sessions/create.md @@ -1227,6 +1227,10 @@ Create Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/delete.md b/content/en/api/go/beta/sessions/delete.md index d8aa0249a3..ec4a8ab6c2 100644 --- a/content/en/api/go/beta/sessions/delete.md +++ b/content/en/api/go/beta/sessions/delete.md @@ -125,6 +125,10 @@ Delete Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/events.md b/content/en/api/go/beta/sessions/events.md index 8ebeb863ce..25e346eae1 100644 --- a/content/en/api/go/beta/sessions/events.md +++ b/content/en/api/go/beta/sessions/events.md @@ -253,6 +253,10 @@ List Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3728,6 +3732,10 @@ Send Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4369,6 +4377,10 @@ Stream Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/events/list.md b/content/en/api/go/beta/sessions/events/list.md index bb9610e8f7..2b0a46bbfe 100644 --- a/content/en/api/go/beta/sessions/events/list.md +++ b/content/en/api/go/beta/sessions/events/list.md @@ -251,6 +251,10 @@ List Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/events/send.md b/content/en/api/go/beta/sessions/events/send.md index 8351ec6d4b..13935730f8 100644 --- a/content/en/api/go/beta/sessions/events/send.md +++ b/content/en/api/go/beta/sessions/events/send.md @@ -487,6 +487,10 @@ Send Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/events/stream.md b/content/en/api/go/beta/sessions/events/stream.md index b3395642d0..1350d4713c 100644 --- a/content/en/api/go/beta/sessions/events/stream.md +++ b/content/en/api/go/beta/sessions/events/stream.md @@ -133,6 +133,10 @@ Stream Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/list.md b/content/en/api/go/beta/sessions/list.md index 6d01fa1611..55be702e3c 100644 --- a/content/en/api/go/beta/sessions/list.md +++ b/content/en/api/go/beta/sessions/list.md @@ -207,6 +207,10 @@ List Sessions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/resources.md b/content/en/api/go/beta/sessions/resources.md index b6b5d8b5ef..cee6344e7d 100644 --- a/content/en/api/go/beta/sessions/resources.md +++ b/content/en/api/go/beta/sessions/resources.md @@ -131,6 +131,10 @@ Add Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -339,6 +343,10 @@ List Session Resources - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -634,6 +642,10 @@ Get Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -926,6 +938,10 @@ Update Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1213,6 +1229,10 @@ Delete Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/resources/add.md b/content/en/api/go/beta/sessions/resources/add.md index 506c193ed5..6fa37dc503 100644 --- a/content/en/api/go/beta/sessions/resources/add.md +++ b/content/en/api/go/beta/sessions/resources/add.md @@ -129,6 +129,10 @@ Add Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/resources/delete.md b/content/en/api/go/beta/sessions/resources/delete.md index d9a3fec259..904a77a80b 100644 --- a/content/en/api/go/beta/sessions/resources/delete.md +++ b/content/en/api/go/beta/sessions/resources/delete.md @@ -127,6 +127,10 @@ Delete Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/resources/list.md b/content/en/api/go/beta/sessions/resources/list.md index b32b29d859..cb703d468c 100644 --- a/content/en/api/go/beta/sessions/resources/list.md +++ b/content/en/api/go/beta/sessions/resources/list.md @@ -135,6 +135,10 @@ List Session Resources - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/resources/retrieve.md b/content/en/api/go/beta/sessions/resources/retrieve.md index 233cbf6582..abfaa4401b 100644 --- a/content/en/api/go/beta/sessions/resources/retrieve.md +++ b/content/en/api/go/beta/sessions/resources/retrieve.md @@ -127,6 +127,10 @@ Get Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/resources/update.md b/content/en/api/go/beta/sessions/resources/update.md index 857d8a34a7..65abb92a9f 100644 --- a/content/en/api/go/beta/sessions/resources/update.md +++ b/content/en/api/go/beta/sessions/resources/update.md @@ -133,6 +133,10 @@ Update Session Resource - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/retrieve.md b/content/en/api/go/beta/sessions/retrieve.md index 25d0d54411..29e2d2112a 100644 --- a/content/en/api/go/beta/sessions/retrieve.md +++ b/content/en/api/go/beta/sessions/retrieve.md @@ -125,6 +125,10 @@ Get Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/threads.md b/content/en/api/go/beta/sessions/threads.md index 56c6938132..15c8c39f86 100644 --- a/content/en/api/go/beta/sessions/threads.md +++ b/content/en/api/go/beta/sessions/threads.md @@ -151,6 +151,10 @@ List Session Threads - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1244,6 +1248,10 @@ Get Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2334,6 +2342,10 @@ Archive Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7976,6 +7988,10 @@ List Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -11101,6 +11117,10 @@ Stream Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/threads/archive.md b/content/en/api/go/beta/sessions/threads/archive.md index 270a7e2097..6da6ef809d 100644 --- a/content/en/api/go/beta/sessions/threads/archive.md +++ b/content/en/api/go/beta/sessions/threads/archive.md @@ -127,6 +127,10 @@ Archive Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/threads/events.md b/content/en/api/go/beta/sessions/threads/events.md index 34e7d50b73..e4019bcef4 100644 --- a/content/en/api/go/beta/sessions/threads/events.md +++ b/content/en/api/go/beta/sessions/threads/events.md @@ -135,6 +135,10 @@ List Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3260,6 +3264,10 @@ Stream Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/threads/events/list.md b/content/en/api/go/beta/sessions/threads/events/list.md index dc00b4665b..f96d0e773a 100644 --- a/content/en/api/go/beta/sessions/threads/events/list.md +++ b/content/en/api/go/beta/sessions/threads/events/list.md @@ -133,6 +133,10 @@ List Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/threads/events/stream.md b/content/en/api/go/beta/sessions/threads/events/stream.md index cfad93cb68..fd8b53a88e 100644 --- a/content/en/api/go/beta/sessions/threads/events/stream.md +++ b/content/en/api/go/beta/sessions/threads/events/stream.md @@ -135,6 +135,10 @@ Stream Session Thread Events - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/threads/list.md b/content/en/api/go/beta/sessions/threads/list.md index e5b9022a63..792165868a 100644 --- a/content/en/api/go/beta/sessions/threads/list.md +++ b/content/en/api/go/beta/sessions/threads/list.md @@ -149,6 +149,10 @@ List Session Threads - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/threads/retrieve.md b/content/en/api/go/beta/sessions/threads/retrieve.md index 8f74465d3e..80a091ce34 100644 --- a/content/en/api/go/beta/sessions/threads/retrieve.md +++ b/content/en/api/go/beta/sessions/threads/retrieve.md @@ -127,6 +127,10 @@ Get Session Thread - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/sessions/update.md b/content/en/api/go/beta/sessions/update.md index 02592eaa80..f48907bf3e 100644 --- a/content/en/api/go/beta/sessions/update.md +++ b/content/en/api/go/beta/sessions/update.md @@ -147,6 +147,10 @@ Update Session - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills.md b/content/en/api/go/beta/skills.md index 2b83e783cc..bd0360c9cb 100644 --- a/content/en/api/go/beta/skills.md +++ b/content/en/api/go/beta/skills.md @@ -137,6 +137,10 @@ Create Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -401,6 +405,10 @@ List Skills - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -649,6 +657,10 @@ Get Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -896,6 +908,10 @@ Delete Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1205,6 +1221,10 @@ Create Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1437,6 +1457,10 @@ List Skill Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1664,6 +1688,10 @@ Download a skill version's content as a zip archive. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1837,6 +1865,10 @@ Get Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2061,6 +2093,10 @@ Delete Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/create.md b/content/en/api/go/beta/skills/create.md index 188a1321d6..a813303b75 100644 --- a/content/en/api/go/beta/skills/create.md +++ b/content/en/api/go/beta/skills/create.md @@ -135,6 +135,10 @@ Create Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/delete.md b/content/en/api/go/beta/skills/delete.md index 4352c28927..1990fc97a7 100644 --- a/content/en/api/go/beta/skills/delete.md +++ b/content/en/api/go/beta/skills/delete.md @@ -129,6 +129,10 @@ Delete Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/list.md b/content/en/api/go/beta/skills/list.md index bca069839a..2c2016cf99 100644 --- a/content/en/api/go/beta/skills/list.md +++ b/content/en/api/go/beta/skills/list.md @@ -146,6 +146,10 @@ List Skills - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/retrieve.md b/content/en/api/go/beta/skills/retrieve.md index 53ab8334f2..0c7870f63b 100644 --- a/content/en/api/go/beta/skills/retrieve.md +++ b/content/en/api/go/beta/skills/retrieve.md @@ -129,6 +129,10 @@ Get Skill - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/versions.md b/content/en/api/go/beta/skills/versions.md index 77e58448fc..504d6a5827 100644 --- a/content/en/api/go/beta/skills/versions.md +++ b/content/en/api/go/beta/skills/versions.md @@ -137,6 +137,10 @@ Create Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -369,6 +373,10 @@ List Skill Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -596,6 +604,10 @@ Download a skill version's content as a zip archive. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -769,6 +781,10 @@ Get Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -993,6 +1009,10 @@ Delete Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/versions/create.md b/content/en/api/go/beta/skills/versions/create.md index 82d909917d..124d3c1a73 100644 --- a/content/en/api/go/beta/skills/versions/create.md +++ b/content/en/api/go/beta/skills/versions/create.md @@ -135,6 +135,10 @@ Create Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/versions/delete.md b/content/en/api/go/beta/skills/versions/delete.md index 50bd4704f1..96e87b4468 100644 --- a/content/en/api/go/beta/skills/versions/delete.md +++ b/content/en/api/go/beta/skills/versions/delete.md @@ -135,6 +135,10 @@ Delete Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/versions/download.md b/content/en/api/go/beta/skills/versions/download.md index 525fe975ca..38bd869fbc 100644 --- a/content/en/api/go/beta/skills/versions/download.md +++ b/content/en/api/go/beta/skills/versions/download.md @@ -135,6 +135,10 @@ Download a skill version's content as a zip archive. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/versions/list.md b/content/en/api/go/beta/skills/versions/list.md index 282636ea2f..4f79c5736d 100644 --- a/content/en/api/go/beta/skills/versions/list.md +++ b/content/en/api/go/beta/skills/versions/list.md @@ -141,6 +141,10 @@ List Skill Versions - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/skills/versions/retrieve.md b/content/en/api/go/beta/skills/versions/retrieve.md index 4bff59d53e..cc36274ada 100644 --- a/content/en/api/go/beta/skills/versions/retrieve.md +++ b/content/en/api/go/beta/skills/versions/retrieve.md @@ -135,6 +135,10 @@ Get Skill Version - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels.md b/content/en/api/go/beta/tunnels.md index 7de82a3777..33ff0bbc81 100644 --- a/content/en/api/go/beta/tunnels.md +++ b/content/en/api/go/beta/tunnels.md @@ -133,6 +133,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -335,6 +339,10 @@ Fetches a tunnel by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -551,6 +559,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -758,6 +770,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -964,6 +980,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1157,6 +1177,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1402,6 +1426,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1621,6 +1649,10 @@ Fetches a tunnel certificate by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1850,6 +1882,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2072,6 +2108,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/archive.md b/content/en/api/go/beta/tunnels/archive.md index 69bd8d6a2d..a4474a076f 100644 --- a/content/en/api/go/beta/tunnels/archive.md +++ b/content/en/api/go/beta/tunnels/archive.md @@ -129,6 +129,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/certificates.md b/content/en/api/go/beta/tunnels/certificates.md index 545b6fd130..f0bf9020be 100644 --- a/content/en/api/go/beta/tunnels/certificates.md +++ b/content/en/api/go/beta/tunnels/certificates.md @@ -137,6 +137,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -356,6 +360,10 @@ Fetches a tunnel certificate by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -585,6 +593,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -807,6 +819,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/certificates/archive.md b/content/en/api/go/beta/tunnels/certificates/archive.md index 67005457fb..be7a0f49ea 100644 --- a/content/en/api/go/beta/tunnels/certificates/archive.md +++ b/content/en/api/go/beta/tunnels/certificates/archive.md @@ -133,6 +133,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/certificates/create.md b/content/en/api/go/beta/tunnels/certificates/create.md index db4f7e4c8b..108fab5b9c 100644 --- a/content/en/api/go/beta/tunnels/certificates/create.md +++ b/content/en/api/go/beta/tunnels/certificates/create.md @@ -135,6 +135,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/certificates/list.md b/content/en/api/go/beta/tunnels/certificates/list.md index 4b9d2eaaaf..84d07a5a69 100644 --- a/content/en/api/go/beta/tunnels/certificates/list.md +++ b/content/en/api/go/beta/tunnels/certificates/list.md @@ -143,6 +143,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/certificates/retrieve.md b/content/en/api/go/beta/tunnels/certificates/retrieve.md index 58abfae3d0..ce80f402f4 100644 --- a/content/en/api/go/beta/tunnels/certificates/retrieve.md +++ b/content/en/api/go/beta/tunnels/certificates/retrieve.md @@ -133,6 +133,10 @@ Fetches a tunnel certificate by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/create.md b/content/en/api/go/beta/tunnels/create.md index c7e9ee6173..9ed585e2f2 100644 --- a/content/en/api/go/beta/tunnels/create.md +++ b/content/en/api/go/beta/tunnels/create.md @@ -131,6 +131,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/list.md b/content/en/api/go/beta/tunnels/list.md index aec88df543..5b21ac842a 100644 --- a/content/en/api/go/beta/tunnels/list.md +++ b/content/en/api/go/beta/tunnels/list.md @@ -139,6 +139,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/retrieve.md b/content/en/api/go/beta/tunnels/retrieve.md index fe53d552d0..442999fdb0 100644 --- a/content/en/api/go/beta/tunnels/retrieve.md +++ b/content/en/api/go/beta/tunnels/retrieve.md @@ -129,6 +129,10 @@ Fetches a tunnel by ID. - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/reveal_token.md b/content/en/api/go/beta/tunnels/reveal_token.md index 6526d370c4..1fc4de8baf 100644 --- a/content/en/api/go/beta/tunnels/reveal_token.md +++ b/content/en/api/go/beta/tunnels/reveal_token.md @@ -129,6 +129,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/tunnels/rotate_token.md b/content/en/api/go/beta/tunnels/rotate_token.md index e3261ba742..2900dcf180 100644 --- a/content/en/api/go/beta/tunnels/rotate_token.md +++ b/content/en/api/go/beta/tunnels/rotate_token.md @@ -135,6 +135,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/user_profiles.md b/content/en/api/go/beta/user_profiles.md index 08d9715c57..b84649b65e 100644 --- a/content/en/api/go/beta/user_profiles.md +++ b/content/en/api/go/beta/user_profiles.md @@ -163,6 +163,10 @@ Create User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -506,6 +510,10 @@ List User Profiles - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -822,6 +830,10 @@ Get User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1175,6 +1187,10 @@ Update User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1490,6 +1506,10 @@ Delete User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1670,6 +1690,10 @@ Create Enrollment URL - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2157,6 +2181,10 @@ Create Action URL - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/user_profiles/create.md b/content/en/api/go/beta/user_profiles/create.md index f252462516..0f1b00bbb9 100644 --- a/content/en/api/go/beta/user_profiles/create.md +++ b/content/en/api/go/beta/user_profiles/create.md @@ -161,6 +161,10 @@ Create User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/user_profiles/create_enrollment_url.md b/content/en/api/go/beta/user_profiles/create_enrollment_url.md index aadbba513b..c31472537a 100644 --- a/content/en/api/go/beta/user_profiles/create_enrollment_url.md +++ b/content/en/api/go/beta/user_profiles/create_enrollment_url.md @@ -127,6 +127,10 @@ Create Enrollment URL - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/user_profiles/list.md b/content/en/api/go/beta/user_profiles/list.md index 4cfda42da8..4f4a9e4658 100644 --- a/content/en/api/go/beta/user_profiles/list.md +++ b/content/en/api/go/beta/user_profiles/list.md @@ -159,6 +159,10 @@ List User Profiles - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/user_profiles/retrieve.md b/content/en/api/go/beta/user_profiles/retrieve.md index eff3ef88fd..bfee10abfc 100644 --- a/content/en/api/go/beta/user_profiles/retrieve.md +++ b/content/en/api/go/beta/user_profiles/retrieve.md @@ -127,6 +127,10 @@ Get User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/user_profiles/update.md b/content/en/api/go/beta/user_profiles/update.md index 9a929247f4..8807d729a2 100644 --- a/content/en/api/go/beta/user_profiles/update.md +++ b/content/en/api/go/beta/user_profiles/update.md @@ -165,6 +165,10 @@ Update User Profile - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults.md b/content/en/api/go/beta/vaults.md index dc6a8a2eba..89093d8d7e 100644 --- a/content/en/api/go/beta/vaults.md +++ b/content/en/api/go/beta/vaults.md @@ -135,6 +135,10 @@ Create a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -356,6 +360,10 @@ List Vaults - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -570,6 +578,10 @@ Retrieve a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -793,6 +805,10 @@ Update a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1006,6 +1022,10 @@ Delete a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1186,6 +1206,10 @@ Archive a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1629,6 +1653,10 @@ Create a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1986,6 +2014,10 @@ List Credentials - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2331,6 +2363,10 @@ Retrieve a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2813,6 +2849,10 @@ Update a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3155,6 +3195,10 @@ Delete a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3341,6 +3385,10 @@ Archive a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3683,6 +3731,10 @@ Validate an MCP OAuth Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/archive.md b/content/en/api/go/beta/vaults/archive.md index 5ed7ff345c..9c6f0ebdc0 100644 --- a/content/en/api/go/beta/vaults/archive.md +++ b/content/en/api/go/beta/vaults/archive.md @@ -127,6 +127,10 @@ Archive a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/create.md b/content/en/api/go/beta/vaults/create.md index 4595c3f39a..eac1b25eaf 100644 --- a/content/en/api/go/beta/vaults/create.md +++ b/content/en/api/go/beta/vaults/create.md @@ -133,6 +133,10 @@ Create a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials.md b/content/en/api/go/beta/vaults/credentials.md index c40b0372f5..fb739a12cf 100644 --- a/content/en/api/go/beta/vaults/credentials.md +++ b/content/en/api/go/beta/vaults/credentials.md @@ -305,6 +305,10 @@ Create a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -662,6 +666,10 @@ List Credentials - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1007,6 +1015,10 @@ Retrieve a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1489,6 +1501,10 @@ Update a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1831,6 +1847,10 @@ Delete a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2017,6 +2037,10 @@ Archive a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2359,6 +2383,10 @@ Validate an MCP OAuth Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials/archive.md b/content/en/api/go/beta/vaults/credentials/archive.md index 6b4921b09b..37a75c7568 100644 --- a/content/en/api/go/beta/vaults/credentials/archive.md +++ b/content/en/api/go/beta/vaults/credentials/archive.md @@ -131,6 +131,10 @@ Archive a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials/create.md b/content/en/api/go/beta/vaults/credentials/create.md index 01b705d76a..68038adfd8 100644 --- a/content/en/api/go/beta/vaults/credentials/create.md +++ b/content/en/api/go/beta/vaults/credentials/create.md @@ -303,6 +303,10 @@ Create a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials/delete.md b/content/en/api/go/beta/vaults/credentials/delete.md index e545587923..eadf4b9394 100644 --- a/content/en/api/go/beta/vaults/credentials/delete.md +++ b/content/en/api/go/beta/vaults/credentials/delete.md @@ -131,6 +131,10 @@ Delete a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials/list.md b/content/en/api/go/beta/vaults/credentials/list.md index 5f31a19074..904830de4e 100644 --- a/content/en/api/go/beta/vaults/credentials/list.md +++ b/content/en/api/go/beta/vaults/credentials/list.md @@ -141,6 +141,10 @@ List Credentials - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/go/beta/vaults/credentials/mcp_oauth_validate.md index f9899351ee..96355a2d19 100644 --- a/content/en/api/go/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/go/beta/vaults/credentials/mcp_oauth_validate.md @@ -131,6 +131,10 @@ Validate an MCP OAuth Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials/retrieve.md b/content/en/api/go/beta/vaults/credentials/retrieve.md index 05936955da..31e8a90899 100644 --- a/content/en/api/go/beta/vaults/credentials/retrieve.md +++ b/content/en/api/go/beta/vaults/credentials/retrieve.md @@ -131,6 +131,10 @@ Retrieve a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/credentials/update.md b/content/en/api/go/beta/vaults/credentials/update.md index 5b184f90f1..90b56e8bf6 100644 --- a/content/en/api/go/beta/vaults/credentials/update.md +++ b/content/en/api/go/beta/vaults/credentials/update.md @@ -271,6 +271,10 @@ Update a Credential - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/delete.md b/content/en/api/go/beta/vaults/delete.md index 2827bdd7d4..ec3c30b5fd 100644 --- a/content/en/api/go/beta/vaults/delete.md +++ b/content/en/api/go/beta/vaults/delete.md @@ -127,6 +127,10 @@ Delete a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/list.md b/content/en/api/go/beta/vaults/list.md index 509efaf76b..e57f97b782 100644 --- a/content/en/api/go/beta/vaults/list.md +++ b/content/en/api/go/beta/vaults/list.md @@ -137,6 +137,10 @@ List Vaults - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/retrieve.md b/content/en/api/go/beta/vaults/retrieve.md index 0e0ba90c1e..48ee0b97f6 100644 --- a/content/en/api/go/beta/vaults/retrieve.md +++ b/content/en/api/go/beta/vaults/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/beta/vaults/update.md b/content/en/api/go/beta/vaults/update.md index 768d5a00e3..cb6de44f2d 100644 --- a/content/en/api/go/beta/vaults/update.md +++ b/content/en/api/go/beta/vaults/update.md @@ -137,6 +137,10 @@ Update a Vault - `const AnthropicBetaWebhooks2026_10_07 AnthropicBeta = "webhooks-2026-10-07"` + - `const AnthropicBetaMessageThreads2026_08_12 AnthropicBeta = "message-threads-2026-08-12"` + + - `const AnthropicBetaAnalyticsUsageCost2026_08_24 AnthropicBeta = "analytics-usage-cost-2026-08-24"` + - `WorkspaceID param.Opt[string] Optional` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/go/completions.md b/content/en/api/go/completions.md index ed324bef73..7da2c1c47c 100644 --- a/content/en/api/go/completions.md +++ b/content/en/api/go/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/go/completions/create.md b/content/en/api/go/completions/create.md index 42b7812b46..2bd713b636 100644 --- a/content/en/api/go/completions/create.md +++ b/content/en/api/go/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/go/models.md b/content/en/api/go/models.md index 8121cd1abf..8af52ef302 100644 --- a/content/en/api/go/models.md +++ b/content/en/api/go/models.md @@ -365,7 +365,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -716,7 +716,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/go/models/list.md b/content/en/api/go/models/list.md index 6f01ca1cc3..f6c4967361 100644 --- a/content/en/api/go/models/list.md +++ b/content/en/api/go/models/list.md @@ -363,7 +363,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/go/models/retrieve.md b/content/en/api/go/models/retrieve.md index 71cf290519..2d34737fab 100644 --- a/content/en/api/go/models/retrieve.md +++ b/content/en/api/go/models/retrieve.md @@ -341,7 +341,7 @@ func main() { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/java/beta.md b/content/en/api/java/beta.md index 227de683c8..bef92fdf6a 100644 --- a/content/en/api/java/beta.md +++ b/content/en/api/java/beta.md @@ -115,6 +115,10 @@ url: https://platform.claude.com/docs/en/api/java/beta - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + ### Beta API Error - `class BetaApiError` @@ -481,6 +485,10 @@ The Models API response can be used to determine which models are available for - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -816,7 +824,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -955,6 +963,10 @@ The Models API response can be used to determine information about a specific mo - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1288,7 +1300,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1422,6 +1434,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -5063,6 +5079,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=java#configuring-thinking) for each model's behavior. + - `Optional thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `Optional toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -9482,6 +9502,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -13324,6 +13348,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -17277,6 +17305,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `Optional thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonValue type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonValue type = "continue"` + + - `String previousMessageId` + + The `id` of the previous response in this Thread. + - `Optional toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -17759,6 +17807,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18045,6 +18097,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18328,6 +18384,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18604,6 +18664,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18782,6 +18846,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -22731,6 +22799,10 @@ Create Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -24569,6 +24641,10 @@ List Agents - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -25619,6 +25695,10 @@ Get Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26658,6 +26738,10 @@ Update Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28475,6 +28559,10 @@ Archive Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29526,6 +29614,10 @@ List Agent Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30568,6 +30660,10 @@ Create a new environment with the specified configuration. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31025,6 +31121,10 @@ List environments with pagination support. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31358,6 +31458,10 @@ Retrieve a specific environment by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31686,6 +31790,10 @@ Update an existing environment's configuration. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32128,6 +32236,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32300,6 +32412,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32634,6 +32750,10 @@ Retrieve detailed information about a specific work item. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32906,6 +33026,10 @@ Long poll for work items in the queue. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional anthropicWorkerId` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -33163,6 +33287,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -33427,6 +33555,10 @@ Record a heartbeat for a work item to maintain the lease. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -33626,6 +33758,10 @@ Stop a work item, initiating graceful or forced shutdown. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33902,6 +34038,10 @@ List work items in an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -34159,6 +34299,10 @@ Update work item metadata with merge semantics. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34426,6 +34570,10 @@ Get statistics about the work queue for an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34615,6 +34763,10 @@ Create Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37300,6 +37452,10 @@ List Sessions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -38795,6 +38951,10 @@ Get Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -40284,6 +40444,10 @@ Update Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -41795,6 +41959,10 @@ Delete Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -41963,6 +42131,10 @@ Archive Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43580,6 +43752,10 @@ List Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -46685,6 +46861,10 @@ Send Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -47676,6 +47856,10 @@ Stream Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -50818,6 +51002,10 @@ Add Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51023,6 +51211,10 @@ List Session Resources - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51310,6 +51502,10 @@ Get Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51590,6 +51786,10 @@ Update Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -51877,6 +52077,10 @@ Delete Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52075,6 +52279,10 @@ List Session Threads - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53160,6 +53368,10 @@ Get Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -54244,6 +54456,10 @@ Archive Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -55336,6 +55552,10 @@ List Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -58455,6 +58675,10 @@ Stream Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -61599,6 +61823,10 @@ Create Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -62747,6 +62975,10 @@ List Deployments - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -63490,6 +63722,10 @@ Get Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -64228,6 +64464,10 @@ Update Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -65338,6 +65578,10 @@ Archive Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66076,6 +66320,10 @@ Run Deployment Now - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66476,6 +66724,10 @@ Pause Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67214,6 +67466,10 @@ Unpause Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67996,6 +68252,10 @@ List Deployment Runs - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68401,6 +68661,10 @@ Get Deployment Run - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68799,6 +69063,10 @@ Create a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69027,6 +69295,10 @@ List Vaults - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69237,6 +69509,10 @@ Retrieve a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69442,6 +69718,10 @@ Update a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69657,6 +69937,10 @@ Delete a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69829,6 +70113,10 @@ Archive a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70036,6 +70324,10 @@ Create a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70562,6 +70854,10 @@ List Credentials - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70899,6 +71195,10 @@ Retrieve a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71235,6 +71535,10 @@ Update a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71711,6 +72015,10 @@ Delete a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71891,6 +72199,10 @@ Archive a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72227,6 +72539,10 @@ Validate an MCP OAuth Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72511,6 +72827,10 @@ Create a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72776,6 +73096,10 @@ List Memory Stores - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72997,6 +73321,10 @@ Retrieve a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73217,6 +73545,10 @@ Update a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73457,6 +73789,10 @@ Delete a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73631,6 +73967,10 @@ Archive a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73857,6 +74197,10 @@ Create a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74140,6 +74484,10 @@ List Memories - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74403,6 +74751,10 @@ Retrieve a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74649,6 +75001,10 @@ Update a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74913,6 +75269,10 @@ Delete a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75147,6 +75507,10 @@ List Memory Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75477,6 +75841,10 @@ Retrieve a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75800,6 +76168,10 @@ Redact a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76117,6 +76489,10 @@ Upload File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76381,6 +76757,10 @@ List Files - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76618,6 +76998,10 @@ Download File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76769,6 +77153,10 @@ Get File Metadata - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77001,6 +77389,10 @@ Delete File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77173,6 +77565,10 @@ Create Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77443,6 +77839,10 @@ List Skills - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77685,6 +78085,10 @@ Get Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77922,6 +78326,10 @@ Delete Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78102,6 +78510,10 @@ Create Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78331,6 +78743,10 @@ List Skill Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78548,6 +78964,10 @@ Download a skill version's content as a zip archive. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78711,6 +79131,10 @@ Get Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78927,6 +79351,10 @@ Delete Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79104,6 +79532,10 @@ Create User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79481,6 +79913,10 @@ List User Profiles - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79793,6 +80229,10 @@ Get User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80100,6 +80540,10 @@ Update User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80445,6 +80889,10 @@ Delete User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80617,6 +81065,10 @@ Create Enrollment URL - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80800,6 +81252,10 @@ Create Action URL - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80992,6 +81448,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81557,6 +82017,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81985,6 +82449,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82408,6 +82876,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82831,6 +83303,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83250,6 +83726,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83454,6 +83934,10 @@ Fetches a tunnel by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83662,6 +84146,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83865,6 +84353,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84063,6 +84555,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84242,6 +84738,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84429,6 +84929,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84648,6 +85152,10 @@ Fetches a tunnel certificate by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84871,6 +85379,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85085,6 +85597,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86849,6 +87365,10 @@ matched as the JWT's `iss` claim and is not fetched. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String issuerUrl` The `iss` claim value to match against. @@ -87251,6 +87771,10 @@ Archived issuers are excluded unless `include_archived=true`. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -87570,6 +88094,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -87891,6 +88419,10 @@ session. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional checkJti` Whether the jwt-bearer exchange enforces JTI single-use (replay protection) for tokens from this issuer. Applies only to assertions carrying a `jti` claim; tokens without one are accepted without single-use enforcement. @@ -88286,6 +88818,10 @@ issuer cannot be changed), or recreate them against another issuer. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationIssuer` @@ -88612,6 +89148,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String issuerId` Tagged ID of the federation issuer. @@ -89006,6 +89546,10 @@ unless `include_archived=true`. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -89331,6 +89875,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -89667,6 +90215,10 @@ Console session. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional appliesToAllWorkspaces` When true, enables this rule for every workspace in the org (including workspaces created later). Setting `false` is rejected with 400 if no workspace would remain enabled; a rule with only a legacy `workspace_id` binding continues to mint. @@ -90039,6 +90591,10 @@ other scopes require a Console session. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRule` @@ -90370,6 +90926,10 @@ other scopes require a Console session. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String workspaceId` Tagged ID of the workspace to enable this rule for. @@ -90582,6 +91142,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaFederationRuleWorkspace` @@ -90784,6 +91348,10 @@ Console session. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class WorkspaceRemoveResponse` @@ -91485,6 +92053,10 @@ accounts. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String name` Slug identifier (lowercase, digits, hyphens). Unique within the organization; a duplicate name returns 409. @@ -91748,236 +92320,9 @@ archived service accounts. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` -#### Returns - -- `class BetaServiceAccount` - - Named non-human identity within the caller's organization. + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` - A service account is a pure identity: name + org. Authorization lives on - whatever references it (federation rules). - - - `JsonValue type = "service_account"` - - - `String id` - - Tagged ID of the service account. - - - `Optional archivedAt` - - If set, this service account is archived. - - format: date-time - - - `Optional archivedByActorId` - - Tagged ID (`user_`/`svac_`) of the actor that archived this service account. - - - `LocalDateTime createdAt` - - When this service account was created. - - format: date-time - - - `Optional createdByActorId` - - Tagged ID (`user_`/`svac_`) of the actor that created this service account. - - - `Optional description` - - Optional free-text description. - - - `String name` - - Admin-chosen slug identifier. - - - `OrganizationRole organizationRole` - - Org-level role. A federation rule may only be created or retargeted to grant `org:admin` scope when this is `admin`. A rule granting `org:admin` whose target is later demoted to `developer` is rejected at token exchange. Rules granting `org:admin` are managed in the Console. - - - `ADMIN("admin")` - - - `DEVELOPER("developer")` - - - `LocalDateTime updatedAt` - - When this service account was last updated. - - format: date-time - - - `Optional updatedByActorId` - - Tagged ID (`user_`/`svac_`) of the actor that last updated this service account. - -#### Example - -```java -package com.anthropic.example; - -import com.anthropic.client.AnthropicClient; -import com.anthropic.client.okhttp.AnthropicOkHttpClient; -import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountListPage; -import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountListParams; - -public final class Main { - private Main() {} - - public static void main(String[] args) { - AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - - ServiceAccountListPage page = client.beta().organization().serviceAccounts().list(); - } -} -``` - -##### Response (200) - -```json -{ - "data": [ - { - "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", - "archived_at": "2019-12-27T18:11:19.117Z", - "archived_by_actor_id": "archived_by_actor_id", - "created_at": "2024-10-30T23:58:27.427722Z", - "created_by_actor_id": "created_by_actor_id", - "description": "description", - "name": "ci-deploy-bot", - "organization_role": "admin", - "type": "service_account", - "updated_at": "2024-10-30T23:58:27.427722Z", - "updated_by_actor_id": "updated_by_actor_id" - } - ], - "next_page": "next_page" -} -``` - -### Get Service Account - -`BetaServiceAccount beta().organization().serviceAccounts().retrieve(params = ServiceAccountRetrieveParams.none(), requestOptions = RequestOptions.none())` - -**GET** `/v1/organizations/service_accounts/{service_account_id}` - -**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=java). - -Retrieve a service account by its ID (`svac_...`). - -#### Parameters - -- `ServiceAccountRetrieveParams params` - - - `Optional serviceAccountId` (path parameter) - - ID of the service account. - - - `Optional> betas` (header parameter) - - Optional header to specify the beta version(s) you want to use. - - - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` - - - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` - - - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` - - - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` - - - `PDFS_2024_09_25("pdfs-2024-09-25")` - - - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` - - - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` - - - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` - - - `FILES_API_2025_04_14("files-api-2025-04-14")` - - - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` - - - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` - - - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` - - - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` - - - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` - - - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` - - - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` - - - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` - - - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` - - - `SKILLS_2025_10_02("skills-2025-10-02")` - - - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` - - - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` - - - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` - - - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` - - - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` - - - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` - - - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` - - - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` - - - `DREAMING_2026_04_21("dreaming-2026-04-21")` - - - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` - - - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` - - - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` - - - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` - - - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` - - - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` - - - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` - - - `COMPACT_2026_01_12("compact-2026-01-12")` - - - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` - - - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` - - - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` - - - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` - - - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` - - - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` - - - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` - - - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` - - - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` - - - `COMPACT_2026_09_04("compact-2026-09-04")` - - - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` - - - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` - - - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` - - - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` - - - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` - - - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` #### Returns @@ -92047,8 +92392,8 @@ package com.anthropic.example; import com.anthropic.client.AnthropicClient; import com.anthropic.client.okhttp.AnthropicOkHttpClient; -import com.anthropic.models.beta.organization.serviceaccounts.BetaServiceAccount; -import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountRetrieveParams; +import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountListPage; +import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountListParams; public final class Main { private Main() {} @@ -92056,7 +92401,7 @@ public final class Main { public static void main(String[] args) { AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - BetaServiceAccount betaServiceAccount = client.beta().organization().serviceAccounts().retrieve("service_account_id"); + ServiceAccountListPage page = client.beta().organization().serviceAccounts().list(); } } ``` @@ -92065,42 +92410,42 @@ public final class Main { ```json { - "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", - "archived_at": "2019-12-27T18:11:19.117Z", - "archived_by_actor_id": "archived_by_actor_id", - "created_at": "2024-10-30T23:58:27.427722Z", - "created_by_actor_id": "created_by_actor_id", - "description": "description", - "name": "ci-deploy-bot", - "organization_role": "admin", - "type": "service_account", - "updated_at": "2024-10-30T23:58:27.427722Z", - "updated_by_actor_id": "updated_by_actor_id" + "data": [ + { + "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", + "archived_at": "2019-12-27T18:11:19.117Z", + "archived_by_actor_id": "archived_by_actor_id", + "created_at": "2024-10-30T23:58:27.427722Z", + "created_by_actor_id": "created_by_actor_id", + "description": "description", + "name": "ci-deploy-bot", + "organization_role": "admin", + "type": "service_account", + "updated_at": "2024-10-30T23:58:27.427722Z", + "updated_by_actor_id": "updated_by_actor_id" + } + ], + "next_page": "next_page" } ``` -### Update Service Account +### Get Service Account -`BetaServiceAccount beta().organization().serviceAccounts().update(params = ServiceAccountUpdateParams.none(), requestOptions = RequestOptions.none())` +`BetaServiceAccount beta().organization().serviceAccounts().retrieve(params = ServiceAccountRetrieveParams.none(), requestOptions = RequestOptions.none())` -**POST** `/v1/organizations/service_accounts/{service_account_id}` +**GET** `/v1/organizations/service_accounts/{service_account_id}` **Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=java). -Update a service account. - -Only `description` and `organization_role` are mutable; `name` cannot be -changed. Archived service accounts cannot be updated; this returns 400. -Setting `organization_role` to `admin` (even when unchanged) requires an -interactive credential (a user OAuth token or a Console session). +Retrieve a service account by its ID (`svac_...`). #### Parameters -- `ServiceAccountUpdateParams params` +- `ServiceAccountRetrieveParams params` - `Optional serviceAccountId` (path parameter) - ID of the service account to update. + ID of the service account. - `Optional> betas` (header parameter) @@ -92210,19 +92555,9 @@ interactive credential (a user OAuth token or a Console session). - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` - - `Optional description` - - Replaces the description. Omit to leave unchanged; send `null` to clear (the field is stored as an empty string). - - maxLength: 2000 - - - `Optional organizationRole` - - Replaces the org-level role. Omit or send `null` to leave unchanged. - - - `ADMIN("admin")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` - - `DEVELOPER("developer")` + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` #### Returns @@ -92293,7 +92628,7 @@ package com.anthropic.example; import com.anthropic.client.AnthropicClient; import com.anthropic.client.okhttp.AnthropicOkHttpClient; import com.anthropic.models.beta.organization.serviceaccounts.BetaServiceAccount; -import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountUpdateParams; +import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountRetrieveParams; public final class Main { private Main() {} @@ -92301,7 +92636,7 @@ public final class Main { public static void main(String[] args) { AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - BetaServiceAccount betaServiceAccount = client.beta().organization().serviceAccounts().update("service_account_id"); + BetaServiceAccount betaServiceAccount = client.beta().organization().serviceAccounts().retrieve("service_account_id"); } } ``` @@ -92324,28 +92659,28 @@ public final class Main { } ``` -### Archive Service Account +### Update Service Account -`BetaServiceAccount beta().organization().serviceAccounts().archive(params = ServiceAccountArchiveParams.none(), requestOptions = RequestOptions.none())` +`BetaServiceAccount beta().organization().serviceAccounts().update(params = ServiceAccountUpdateParams.none(), requestOptions = RequestOptions.none())` -**POST** `/v1/organizations/service_accounts/{service_account_id}/archive` +**POST** `/v1/organizations/service_accounts/{service_account_id}` **Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=java). -Archive a service account. +Update a service account. -Idempotent; re-archiving returns the service account with its original -`archived_at`. Rejected with 400 if any live (non-archived) federation -rule still targets this service account, same as issuer archival; archive -those rules first or change their target to another service account. +Only `description` and `organization_role` are mutable; `name` cannot be +changed. Archived service accounts cannot be updated; this returns 400. +Setting `organization_role` to `admin` (even when unchanged) requires an +interactive credential (a user OAuth token or a Console session). #### Parameters -- `ServiceAccountArchiveParams params` +- `ServiceAccountUpdateParams params` - `Optional serviceAccountId` (path parameter) - ID of the service account to archive. + ID of the service account to update. - `Optional> betas` (header parameter) @@ -92455,6 +92790,24 @@ those rules first or change their target to another service account. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + + - `Optional description` + + Replaces the description. Omit to leave unchanged; send `null` to clear (the field is stored as an empty string). + + maxLength: 2000 + + - `Optional organizationRole` + + Replaces the org-level role. Omit or send `null` to leave unchanged. + + - `ADMIN("admin")` + + - `DEVELOPER("developer")` + #### Returns - `class BetaServiceAccount` @@ -92524,7 +92877,7 @@ package com.anthropic.example; import com.anthropic.client.AnthropicClient; import com.anthropic.client.okhttp.AnthropicOkHttpClient; import com.anthropic.models.beta.organization.serviceaccounts.BetaServiceAccount; -import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountArchiveParams; +import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountUpdateParams; public final class Main { private Main() {} @@ -92532,7 +92885,7 @@ public final class Main { public static void main(String[] args) { AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - BetaServiceAccount betaServiceAccount = client.beta().organization().serviceAccounts().archive("service_account_id"); + BetaServiceAccount betaServiceAccount = client.beta().organization().serviceAccounts().update("service_account_id"); } } ``` @@ -92555,32 +92908,28 @@ public final class Main { } ``` -## Beta › Organization › Service Accounts › Workspaces - -### Add Workspace To Service Account +### Archive Service Account -`BetaServiceAccountWorkspaceMember beta().organization().serviceAccounts().workspaces().add(params, requestOptions = RequestOptions.none())` +`BetaServiceAccount beta().organization().serviceAccounts().archive(params = ServiceAccountArchiveParams.none(), requestOptions = RequestOptions.none())` -**POST** `/v1/organizations/service_accounts/{service_account_id}/workspaces` +**POST** `/v1/organizations/service_accounts/{service_account_id}/archive` **Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=java). -Add a service account to a workspace with the given `workspace_role`. +Archive a service account. -Mirror of `POST /workspaces/{workspace_id}/service_accounts`, addressed -from the service-account side; both create the same membership. If the -service account is already an explicit member of the workspace, its -`workspace_role` is replaced with the value supplied here. Archived -workspaces return 400. Archived service accounts cannot be added and are -rejected. +Idempotent; re-archiving returns the service account with its original +`archived_at`. Rejected with 400 if any live (non-archived) federation +rule still targets this service account, same as issuer archival; archive +those rules first or change their target to another service account. #### Parameters -- `WorkspaceAddParams params` +- `ServiceAccountArchiveParams params` - `Optional serviceAccountId` (path parameter) - ID of the service account. + ID of the service account to archive. - `Optional> betas` (header parameter) @@ -92690,49 +93039,70 @@ rejected. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` - - `String workspaceId` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` - Tagged workspace ID to add the service account to. + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` - - `BetaNoBillingWorkspaceRole workspaceRole` +#### Returns - Role to assign to the service account in this workspace. +- `class BetaServiceAccount` -#### Returns + Named non-human identity within the caller's organization. -- `class BetaServiceAccountWorkspaceMember` + A service account is a pure identity: name + org. Authorization lives on + whatever references it (federation rules). - - `JsonValue type = "service_account_workspace_member"` + - `JsonValue type = "service_account"` + + - `String id` + + Tagged ID of the service account. + + - `Optional archivedAt` + + If set, this service account is archived. + + format: date-time + + - `Optional archivedByActorId` + + Tagged ID (`user_`/`svac_`) of the actor that archived this service account. + + - `LocalDateTime createdAt` + + When this service account was created. + + format: date-time - `Optional createdByActorId` - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. + Tagged ID (`user_`/`svac_`) of the actor that created this service account. - - `Optional implicit` + - `Optional description` - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. + Optional free-text description. - - `String serviceAccountId` + - `String name` - Tagged service account ID (`svac_...`). + Admin-chosen slug identifier. - - `String workspaceId` + - `OrganizationRole organizationRole` - Tagged workspace ID (`wrkspc_...`). + Org-level role. A federation rule may only be created or retargeted to grant `org:admin` scope when this is `admin`. A rule granting `org:admin` whose target is later demoted to `developer` is rejected at token exchange. Rules granting `org:admin` are managed in the Console. - - `BetaWorkspaceRole workspaceRole` + - `ADMIN("admin")` - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. + - `DEVELOPER("developer")` - - `WORKSPACE_ADMIN("workspace_admin")` + - `LocalDateTime updatedAt` - - `WORKSPACE_BILLING("workspace_billing")` + When this service account was last updated. - - `WORKSPACE_DEVELOPER("workspace_developer")` + format: date-time - - `WORKSPACE_RESTRICTED_DEVELOPER("workspace_restricted_developer")` + - `Optional updatedByActorId` - - `WORKSPACE_USER("workspace_user")` + Tagged ID (`user_`/`svac_`) of the actor that last updated this service account. #### Example @@ -92741,9 +93111,8 @@ package com.anthropic.example; import com.anthropic.client.AnthropicClient; import com.anthropic.client.okhttp.AnthropicOkHttpClient; -import com.anthropic.models.beta.organization.serviceaccounts.BetaServiceAccountWorkspaceMember; -import com.anthropic.models.beta.organization.serviceaccounts.workspaces.WorkspaceAddParams; -import com.anthropic.models.beta.organization.workspaces.BetaNoBillingWorkspaceRole; +import com.anthropic.models.beta.organization.serviceaccounts.BetaServiceAccount; +import com.anthropic.models.beta.organization.serviceaccounts.ServiceAccountArchiveParams; public final class Main { private Main() {} @@ -92751,12 +93120,7 @@ public final class Main { public static void main(String[] args) { AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - WorkspaceAddParams params = WorkspaceAddParams.builder() - .serviceAccountId("service_account_id") - .workspaceId("workspace_id") - .workspaceRole(BetaNoBillingWorkspaceRole.WORKSPACE_ADMIN) - .build(); - BetaServiceAccountWorkspaceMember betaServiceAccountWorkspaceMember = client.beta().organization().serviceAccounts().workspaces().add(params); + BetaServiceAccount betaServiceAccount = client.beta().organization().serviceAccounts().archive("service_account_id"); } } ``` @@ -92765,57 +93129,47 @@ public final class Main { ```json { + "id": "svac_01SDCCSbTxrXDpWc1phhtcfK", + "archived_at": "2019-12-27T18:11:19.117Z", + "archived_by_actor_id": "archived_by_actor_id", + "created_at": "2024-10-30T23:58:27.427722Z", "created_by_actor_id": "created_by_actor_id", - "implicit": true, - "service_account_id": "service_account_id", - "type": "service_account_workspace_member", - "workspace_id": "workspace_id", - "workspace_role": "workspace_admin" + "description": "description", + "name": "ci-deploy-bot", + "organization_role": "admin", + "type": "service_account", + "updated_at": "2024-10-30T23:58:27.427722Z", + "updated_by_actor_id": "updated_by_actor_id" } ``` -### List Workspaces For Service Account +## Beta › Organization › Service Accounts › Workspaces -`WorkspaceListPage beta().organization().serviceAccounts().workspaces().list(params = WorkspaceListParams.none(), requestOptions = RequestOptions.none())` +### Add Workspace To Service Account -**GET** `/v1/organizations/service_accounts/{service_account_id}/workspaces` +`BetaServiceAccountWorkspaceMember beta().organization().serviceAccounts().workspaces().add(params, requestOptions = RequestOptions.none())` + +**POST** `/v1/organizations/service_accounts/{service_account_id}/workspaces` **Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=java). -List the workspaces a service account is a member of. +Add a service account to a workspace with the given `workspace_role`. -Each entry includes the service account's `workspace_role` in that -workspace. Use `limit` and the `next_page` cursor to paginate. When the -service account has no explicit default-workspace membership, the -implicit (`implicit: true`) membership is returned as the first entry on -the first page; with `limit=1` the first page may return up to 2 entries -(the implicit entry plus one explicit membership) so a pagination cursor -can be derived. Memberships are returned only while -the service account is active. Without a `page` cursor, an archived -service account returns an empty list. A `page` cursor that does not -match an active membership returns a 400 invalid-request error. A cursor -stops matching when the membership is removed, the workspace is deleted, -or the service account is archived. Restart pagination from the first -page to recover. +Mirror of `POST /workspaces/{workspace_id}/service_accounts`, addressed +from the service-account side; both create the same membership. If the +service account is already an explicit member of the workspace, its +`workspace_role` is replaced with the value supplied here. Archived +workspaces return 400. Archived service accounts cannot be added and are +rejected. #### Parameters -- `WorkspaceListParams params` +- `WorkspaceAddParams params` - `Optional serviceAccountId` (path parameter) ID of the service account. - - `Optional limit` (query parameter) - - Number of results per page. - - minimum: 1, maximum: 100 - - - `Optional page` (query parameter) - - Opaque cursor from a previous response's `next_page`. - - `Optional> betas` (header parameter) Optional header to specify the beta version(s) you want to use. @@ -92924,6 +93278,248 @@ page to recover. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + + - `String workspaceId` + + Tagged workspace ID to add the service account to. + + - `BetaNoBillingWorkspaceRole workspaceRole` + + Role to assign to the service account in this workspace. + +#### Returns + +- `class BetaServiceAccountWorkspaceMember` + + - `JsonValue type = "service_account_workspace_member"` + + - `Optional createdByActorId` + + Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. + + - `Optional implicit` + + True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. + + - `String serviceAccountId` + + Tagged service account ID (`svac_...`). + + - `String workspaceId` + + Tagged workspace ID (`wrkspc_...`). + + - `BetaWorkspaceRole workspaceRole` + + Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. + + - `WORKSPACE_ADMIN("workspace_admin")` + + - `WORKSPACE_BILLING("workspace_billing")` + + - `WORKSPACE_DEVELOPER("workspace_developer")` + + - `WORKSPACE_RESTRICTED_DEVELOPER("workspace_restricted_developer")` + + - `WORKSPACE_USER("workspace_user")` + +#### Example + +```java +package com.anthropic.example; + +import com.anthropic.client.AnthropicClient; +import com.anthropic.client.okhttp.AnthropicOkHttpClient; +import com.anthropic.models.beta.organization.serviceaccounts.BetaServiceAccountWorkspaceMember; +import com.anthropic.models.beta.organization.serviceaccounts.workspaces.WorkspaceAddParams; +import com.anthropic.models.beta.organization.workspaces.BetaNoBillingWorkspaceRole; + +public final class Main { + private Main() {} + + public static void main(String[] args) { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + WorkspaceAddParams params = WorkspaceAddParams.builder() + .serviceAccountId("service_account_id") + .workspaceId("workspace_id") + .workspaceRole(BetaNoBillingWorkspaceRole.WORKSPACE_ADMIN) + .build(); + BetaServiceAccountWorkspaceMember betaServiceAccountWorkspaceMember = client.beta().organization().serviceAccounts().workspaces().add(params); + } +} +``` + +##### Response (200) + +```json +{ + "created_by_actor_id": "created_by_actor_id", + "implicit": true, + "service_account_id": "service_account_id", + "type": "service_account_workspace_member", + "workspace_id": "workspace_id", + "workspace_role": "workspace_admin" +} +``` + +### List Workspaces For Service Account + +`WorkspaceListPage beta().organization().serviceAccounts().workspaces().list(params = WorkspaceListParams.none(), requestOptions = RequestOptions.none())` + +**GET** `/v1/organizations/service_accounts/{service_account_id}/workspaces` + +**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=java). + +List the workspaces a service account is a member of. + +Each entry includes the service account's `workspace_role` in that +workspace. Use `limit` and the `next_page` cursor to paginate. When the +service account has no explicit default-workspace membership, the +implicit (`implicit: true`) membership is returned as the first entry on +the first page; with `limit=1` the first page may return up to 2 entries +(the implicit entry plus one explicit membership) so a pagination cursor +can be derived. Memberships are returned only while +the service account is active. Without a `page` cursor, an archived +service account returns an empty list. A `page` cursor that does not +match an active membership returns a 400 invalid-request error. A cursor +stops matching when the membership is removed, the workspace is deleted, +or the service account is archived. Restart pagination from the first +page to recover. + +#### Parameters + +- `WorkspaceListParams params` + + - `Optional serviceAccountId` (path parameter) + + ID of the service account. + + - `Optional limit` (query parameter) + + Number of results per page. + + minimum: 1, maximum: 100 + + - `Optional page` (query parameter) + + Opaque cursor from a previous response's `next_page`. + + - `Optional> betas` (header parameter) + + Optional header to specify the beta version(s) you want to use. + + - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` + + - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` + + - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` + + - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` + + - `PDFS_2024_09_25("pdfs-2024-09-25")` + + - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` + + - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` + + - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` + + - `FILES_API_2025_04_14("files-api-2025-04-14")` + + - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` + + - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` + + - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` + + - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` + + - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` + + - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` + + - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` + + - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` + + - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `SKILLS_2025_10_02("skills-2025-10-02")` + + - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` + + - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` + + - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` + + - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` + + - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` + + - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` + + - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` + + - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` + + - `DREAMING_2026_04_21("dreaming-2026-04-21")` + + - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` + + - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` + + - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` + + - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` + + - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` + + - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` + + - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `COMPACT_2026_01_12("compact-2026-01-12")` + + - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` + + - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` + + - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` + + - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` + + - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` + + - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` + + - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `COMPACT_2026_09_04("compact-2026-09-04")` + + - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` + + - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` + + - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` + + - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` + + - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` + + - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -93137,6 +93733,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class WorkspaceRemoveResponse` @@ -93903,6 +94503,10 @@ Create Workspace - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String name` Name of the Workspace. @@ -95650,6 +96254,10 @@ omitted from the results. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -95860,6 +96468,10 @@ accounts cannot be added and are rejected. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String serviceAccountId` Tagged service account ID to add. @@ -96081,6 +96693,10 @@ account returns 404. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -96292,6 +96908,10 @@ rejected. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `BetaNoBillingWorkspaceRole workspaceRole` New role for the service account in this workspace. @@ -96508,6 +97128,10 @@ membership. Archived workspaces return 400. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class ServiceAccountRemoveResponse` @@ -98997,24 +99621,27 @@ public final class Main { } ``` -## Beta › Organization › Analytics › Usage Report +## Beta › Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -`UsageReportListPage beta().organization().analytics().usageReport().list(params, requestOptions = RequestOptions.none())` +`UsageListPage beta().organization().analytics().usage().list(params, requestOptions = RequestOptions.none())` -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Parameters -- `UsageReportListParams params` +- `UsageListParams params` - `LocalDateTime startingAt` (query parameter) @@ -99022,19 +99649,1515 @@ key with the `read:analytics` scope. format: date-time - - `Optional bucketWidth` (query parameter) + - `Optional> actorIds` (query parameter) - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - - `DAY("1d")` + maxItems: 100 - - `HOUR("1h")` + - `Optional> actorTypes` (query parameter) - - `MINUTE("1m")` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `API_ACTOR("api_actor")` + + - `FEDERATED_ACTOR("federated_actor")` + + - `SERVICE_ACCOUNT_ACTOR("service_account_actor")` + + - `USER_ACTOR("user_actor")` + + - `Optional> agentIds` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional> apiKeyIds` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `Optional> claudeTagCategories` (query parameter) - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `DM("dm")` + + - `ENGAGED("engaged")` + + - `MONITORING("monitoring")` + + - `PROACTIVE("proactive")` + + - `SCHEDULED("scheduled")` + + - `Optional> claudeTagUserIds` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `Optional> contextWindows` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `FROM_0_TO_200K("0-200k")` + + - `FROM_200K_TO_1_M("200k-1M")` + + - `Optional> deploymentIds` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional endingAt` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `Optional> environmentIds` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional excludeDeletedUsers` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + - `Optional> groupBy` (query parameter) + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `ACTOR("actor")` + + - `ACTOR_TYPE("actor_type")` + + - `AGENT_ID("agent_id")` + + - `API_KEY_ID("api_key_id")` + + - `CLAUDE_TAG_CATEGORY("claude_tag_category")` + + - `CLAUDE_TAG_USER_ID("claude_tag_user_id")` + + - `CONTEXT_WINDOW("context_window")` + + - `DEPLOYMENT_ID("deployment_id")` + + - `ENVIRONMENT_ID("environment_id")` + + - `INFERENCE_GEO("inference_geo")` + + - `MODEL("model")` + + - `PRODUCT("product")` + + - `RBAC_GROUP_ID("rbac_group_id")` + + - `SERVICE_TIER("service_tier")` + + - `SESSION_ID("session_id")` + + - `SLACK_CHANNEL_ID("slack_channel_id")` + + - `SPEED("speed")` + + - `USER_PROFILE_ID("user_profile_id")` + + - `WORKSPACE_ID("workspace_id")` + + - `Optional> inferenceGeos` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `GLOBAL("global")` + + - `NOT_AVAILABLE("not_available")` + + - `US("us")` + + - `Optional limit` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + + - `Optional> models` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `Optional order` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `Optional orderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `Optional page` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `Optional> products` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `CHAT("chat")` + + - `CHAT_COWORK_UNIFIED("chat_cowork_unified")` + + - `CLAUDE_CODE("claude_code")` + + - `CLAUDE_CONSOLE("claude_console")` + + - `CLAUDE_DESIGN("claude_design")` + + - `CLAUDE_IN_CHROME("claude_in_chrome")` + + - `CLAUDE_TAG("claude_tag")` + + - `COWORK("cowork")` + + - `MANAGED_AGENTS_API("managed_agents_api")` + + - `MESSAGE_BATCHES_API("message_batches_api")` + + - `MESSAGES_API("messages_api")` + + - `OFFICE_AGENT("office_agent")` + + - `Optional> rbacGroupIds` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `Optional> serviceTiers` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `BATCH("batch")` + + - `FLEX("flex")` + + - `FLEX_DISCOUNT("flex_discount")` + + - `PRIORITY("priority")` + + - `PRIORITY_ON_DEMAND("priority_on_demand")` + + - `STANDARD("standard")` + + - `Optional> sessionIds` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional> slackChannelIds` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `Optional> speeds` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `FAST("fast")` + + - `STANDARD("standard")` + + - `Optional timeBucketWidth` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `Optional> userProfileIds` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional> workspaceIds` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `Optional> betas` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` + + - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` + + - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` + + - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` + + - `PDFS_2024_09_25("pdfs-2024-09-25")` + + - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` + + - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` + + - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` + + - `FILES_API_2025_04_14("files-api-2025-04-14")` + + - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` + + - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` + + - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` + + - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` + + - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` + + - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` + + - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` + + - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` + + - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `SKILLS_2025_10_02("skills-2025-10-02")` + + - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` + + - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` + + - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` + + - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` + + - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` + + - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` + + - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` + + - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` + + - `DREAMING_2026_04_21("dreaming-2026-04-21")` + + - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` + + - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` + + - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` + + - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` + + - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` + + - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` + + - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `COMPACT_2026_01_12("compact-2026-01-12")` + + - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` + + - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` + + - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` + + - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` + + - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` + + - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` + + - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `COMPACT_2026_09_04("compact-2026-09-04")` + + - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` + + - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` + + - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` + + - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` + + - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` + + - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + +#### Returns + +- `class BetaAnalyticsUsageItem` + + - `LocalDateTime endingAt` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `BetaAnalyticsUsageGroup group` + + The dimension values this row's usage is broken out by. + + - `Optional actor` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `class BetaAnalyticsReportUserActor` + + - `JsonValue type = "user_actor"` + + Actor type. Always `"user_actor"`. + + - `boolean deleted` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `Optional emailAddress` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `Optional name` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `String userId` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `JsonValue type = "service_account_actor"` + + - `String serviceAccountId` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `JsonValue type = "federated_actor"` + + - `BetaAnalyticsFederatedActorProvider provider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAwsProvider` + + - `JsonValue type = "aws"` + + - `String accountId` + + The AWS account the organization is bound to. + + - `String signedPrincipal` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `JsonValue type = "azure"` + + - `String subscriptionId` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGcpProvider` + + - `JsonValue type = "gcp"` + + - `String projectNumber` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOidcProvider` + + - `JsonValue type = "oidc"` + + - `Optional issuer` + + The federation issuer's URL. + + - `Optional subject` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsApiActor` + + - `JsonValue type = "api_actor"` + + - `String apiKeyId` + + Tagged API key ID. + + - `Optional actorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `API_ACTOR("api_actor")` + + - `FEDERATED_ACTOR("federated_actor")` + + - `SERVICE_ACCOUNT_ACTOR("service_account_actor")` + + - `USER_ACTOR("user_actor")` + + - `Optional agentId` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `Optional apiKeyId` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `Optional claudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `DM("dm")` + + - `ENGAGED("engaged")` + + - `MONITORING("monitoring")` + + - `PROACTIVE("proactive")` + + - `SCHEDULED("scheduled")` + + - `Optional claudeTagUserId` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `Optional contextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `FROM_0_TO_200K("0-200k")` + + - `FROM_200K_TO_1_M("200k-1M")` + + - `Optional deploymentId` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `Optional environmentId` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `Optional inferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `GLOBAL("global")` + + - `US("us")` + + - `Optional model` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `Optional product` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `Optional rbacGroupId` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `Optional serviceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `BATCH("batch")` + + - `FLEX("flex")` + + - `FLEX_DISCOUNT("flex_discount")` + + - `PRIORITY("priority")` + + - `PRIORITY_ON_DEMAND("priority_on_demand")` + + - `STANDARD("standard")` + + - `Optional sessionId` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `Optional slackChannelId` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `Optional speed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `FAST("fast")` + + - `STANDARD("standard")` + + - `Optional userProfileId` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `Optional workspaceId` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `LocalDateTime startingAt` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `BetaAnalyticsUsageMetrics usage` + + Token usage for this row. + + - `BetaCacheCreation cacheCreation` + + The number of input tokens for cache creation. + + - `long ephemeral1hInputTokens` + + The number of input tokens used to create the 1 hour cache entry. + + minimum: 0 + + - `long ephemeral5mInputTokens` + + The number of input tokens used to create the 5 minute cache entry. + + minimum: 0 + + - `long cacheReadInputTokens` + + The number of input tokens read from the cache. + + - `long outputTokens` + + The number of output tokens generated. + + - `Optional requests` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `BetaAnalyticsServerToolUse serverToolUse` + + Server-side tool usage metrics. + + - `long webSearchRequests` + + The number of web search requests made. + + - `long totalTokens` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `long uncachedInputTokens` + + The number of uncached input tokens processed. + +#### Example + +```java +package com.anthropic.example; + +import com.anthropic.client.AnthropicClient; +import com.anthropic.client.okhttp.AnthropicOkHttpClient; +import com.anthropic.models.beta.organization.analytics.usage.UsageListPage; +import com.anthropic.models.beta.organization.analytics.usage.UsageListParams; +import java.time.OffsetDateTime; + +public final class Main { + private Main() {} + + public static void main(String[] args) { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + UsageListParams params = UsageListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .build(); + UsageListPage page = client.beta().organization().analytics().usage().list(params); + } +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`CostListPage beta().organization().analytics().cost().list(params, requestOptions = RequestOptions.none())` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `CostListParams params` + + - `LocalDateTime startingAt` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `Optional> actorIds` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + + - `Optional> actorTypes` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `API_ACTOR("api_actor")` + + - `FEDERATED_ACTOR("federated_actor")` + + - `SERVICE_ACCOUNT_ACTOR("service_account_actor")` + + - `USER_ACTOR("user_actor")` + + - `Optional> agentIds` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional> apiKeyIds` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional> claudeTagCategories` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `DM("dm")` + + - `ENGAGED("engaged")` + + - `MONITORING("monitoring")` + + - `PROACTIVE("proactive")` + + - `SCHEDULED("scheduled")` + + - `Optional> claudeTagUserIds` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `Optional> contextWindows` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `FROM_0_TO_200K("0-200k")` + + - `FROM_200K_TO_1_M("200k-1M")` + + - `Optional> deploymentIds` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional endingAt` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `Optional> environmentIds` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional excludeDeletedUsers` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + - `Optional> groupBy` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `ACTOR("actor")` + + - `ACTOR_TYPE("actor_type")` + + - `AGENT_ID("agent_id")` + + - `API_KEY_ID("api_key_id")` + + - `CLAUDE_TAG_CATEGORY("claude_tag_category")` + + - `CLAUDE_TAG_USER_ID("claude_tag_user_id")` + + - `CONTEXT_WINDOW("context_window")` + + - `COST_TYPE("cost_type")` + + - `DEPLOYMENT_ID("deployment_id")` + + - `ENVIRONMENT_ID("environment_id")` + + - `INFERENCE_GEO("inference_geo")` + + - `MODEL("model")` + + - `PRODUCT("product")` + + - `RBAC_GROUP_ID("rbac_group_id")` + + - `SERVICE_TIER("service_tier")` + + - `SESSION_ID("session_id")` + + - `SLACK_CHANNEL_ID("slack_channel_id")` + + - `SPEED("speed")` + + - `TOKEN_TYPE("token_type")` + + - `USER_PROFILE_ID("user_profile_id")` + + - `WORKSPACE_ID("workspace_id")` + + - `Optional> inferenceGeos` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `GLOBAL("global")` + + - `NOT_AVAILABLE("not_available")` + + - `US("us")` + + - `Optional limit` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + + - `Optional> models` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `Optional order` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `Optional orderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `Optional page` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `Optional> products` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `CHAT("chat")` + + - `CHAT_COWORK_UNIFIED("chat_cowork_unified")` + + - `CLAUDE_CODE("claude_code")` + + - `CLAUDE_CONSOLE("claude_console")` + + - `CLAUDE_DESIGN("claude_design")` + + - `CLAUDE_IN_CHROME("claude_in_chrome")` + + - `CLAUDE_TAG("claude_tag")` + + - `COWORK("cowork")` + + - `MANAGED_AGENTS_API("managed_agents_api")` + + - `MESSAGE_BATCHES_API("message_batches_api")` + + - `MESSAGES_API("messages_api")` + + - `OFFICE_AGENT("office_agent")` + + - `Optional> rbacGroupIds` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `Optional> serviceTiers` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `BATCH("batch")` + + - `FLEX("flex")` + + - `FLEX_DISCOUNT("flex_discount")` + + - `PRIORITY("priority")` + + - `PRIORITY_ON_DEMAND("priority_on_demand")` + + - `STANDARD("standard")` + + - `Optional> sessionIds` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional> slackChannelIds` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `Optional> speeds` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `FAST("fast")` + + - `STANDARD("standard")` + + - `Optional timeBucketWidth` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `Optional> userProfileIds` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `Optional> workspaceIds` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `Optional> betas` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` + + - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` + + - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` + + - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` + + - `PDFS_2024_09_25("pdfs-2024-09-25")` + + - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` + + - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` + + - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` + + - `FILES_API_2025_04_14("files-api-2025-04-14")` + + - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` + + - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` + + - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` + + - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` + + - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` + + - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` + + - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` + + - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` + + - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `SKILLS_2025_10_02("skills-2025-10-02")` + + - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` + + - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` + + - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` + + - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` + + - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` + + - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` + + - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` + + - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` + + - `DREAMING_2026_04_21("dreaming-2026-04-21")` + + - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` + + - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` + + - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` + + - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` + + - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` + + - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` + + - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `COMPACT_2026_01_12("compact-2026-01-12")` + + - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` + + - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` + + - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` + + - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` + + - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` + + - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` + + - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `COMPACT_2026_09_04("compact-2026-09-04")` + + - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` + + - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` + + - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` + + - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` + + - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` + + - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + +#### Returns + +- `class BetaAnalyticsCostItem` + + - `BetaAnalyticsCostMetrics cost` + + Cost for this row. + + - `String amount` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `String currency` + + Currency code for the cost amount. Currently always `"USD"`. + + - `String listAmount` + + List-price amount (pre-discount) in fractional cents. + + - `Optional requests` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `LocalDateTime endingAt` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `BetaAnalyticsCostGroup group` + + The dimension values this row's cost is broken out by. + + - `Optional actor` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `class BetaAnalyticsReportUserActor` + + - `JsonValue type = "user_actor"` + + Actor type. Always `"user_actor"`. + + - `boolean deleted` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `Optional emailAddress` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `Optional name` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `String userId` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `JsonValue type = "service_account_actor"` + + - `String serviceAccountId` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `JsonValue type = "federated_actor"` + + - `BetaAnalyticsFederatedActorProvider provider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAwsProvider` + + - `JsonValue type = "aws"` + + - `String accountId` + + The AWS account the organization is bound to. + + - `String signedPrincipal` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `JsonValue type = "azure"` + + - `String subscriptionId` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGcpProvider` + + - `JsonValue type = "gcp"` + + - `String projectNumber` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOidcProvider` + + - `JsonValue type = "oidc"` + + - `Optional issuer` + + The federation issuer's URL. + + - `Optional subject` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsApiActor` + + - `JsonValue type = "api_actor"` + + - `String apiKeyId` + + Tagged API key ID. + + - `Optional actorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `API_ACTOR("api_actor")` + + - `FEDERATED_ACTOR("federated_actor")` + + - `SERVICE_ACCOUNT_ACTOR("service_account_actor")` + + - `USER_ACTOR("user_actor")` + + - `Optional agentId` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `Optional apiKeyId` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `Optional claudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `DM("dm")` + + - `ENGAGED("engaged")` + + - `MONITORING("monitoring")` + + - `PROACTIVE("proactive")` + + - `SCHEDULED("scheduled")` + + - `Optional claudeTagUserId` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `Optional contextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `FROM_0_TO_200K("0-200k")` + + - `FROM_200K_TO_1_M("200k-1M")` + + - `Optional costType` + + Cost component breakdown; null when returning the combined total. + + - `CODE_EXECUTION("code_execution")` + + - `SESSION_USAGE("session_usage")` + + - `TOKENS("tokens")` + + - `WEB_SEARCH("web_search")` + + - `Optional deploymentId` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `Optional environmentId` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `Optional inferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `GLOBAL("global")` + + - `US("us")` + + - `Optional model` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `Optional product` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `Optional rbacGroupId` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `Optional serviceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `BATCH("batch")` + + - `FLEX("flex")` + + - `FLEX_DISCOUNT("flex_discount")` + + - `PRIORITY("priority")` + + - `PRIORITY_ON_DEMAND("priority_on_demand")` + + - `STANDARD("standard")` + + - `Optional sessionId` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `Optional slackChannelId` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `Optional speed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `FAST("fast")` + + - `STANDARD("standard")` + + - `Optional tokenType` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `CACHE_CREATION_EPHEMERAL_1H_INPUT_TOKENS("cache_creation.ephemeral_1h_input_tokens")` + + - `CACHE_CREATION_EPHEMERAL_5M_INPUT_TOKENS("cache_creation.ephemeral_5m_input_tokens")` + + - `CACHE_READ_INPUT_TOKENS("cache_read_input_tokens")` + + - `OUTPUT_TOKENS("output_tokens")` + + - `UNCACHED_INPUT_TOKENS("uncached_input_tokens")` + + - `Optional userProfileId` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `Optional workspaceId` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `LocalDateTime startingAt` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +#### Example + +```java +package com.anthropic.example; + +import com.anthropic.client.AnthropicClient; +import com.anthropic.client.okhttp.AnthropicOkHttpClient; +import com.anthropic.models.beta.organization.analytics.cost.CostListPage; +import com.anthropic.models.beta.organization.analytics.cost.CostListParams; +import java.time.OffsetDateTime; + +public final class Main { + private Main() {} + + public static void main(String[] args) { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + CostListParams params = CostListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .build(); + CostListPage page = client.beta().organization().analytics().cost().list(params); + } +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +`UsageReportListPage beta().organization().analytics().usageReport().list(params, requestOptions = RequestOptions.none())` + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=java) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=java#migrate-from-enterprise-analytics-reports). + +#### Parameters + +- `UsageReportListParams params` + + - `LocalDateTime startingAt` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `Optional bucketWidth` (query parameter) + + Time bucket granularity. + + - `DAY("1d")` + + - `HOUR("1h")` + + - `MINUTE("1m")` + + - `Optional> claudeTagCategories` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -99364,15 +101487,11 @@ public final class Main { **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=java) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=java#migrate-from-enterprise-analytics-reports). #### Parameters @@ -99778,12 +101897,11 @@ public final class Main { **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=java) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=java#migrate-from-enterprise-analytics-reports). #### Parameters @@ -100136,15 +102254,11 @@ public final class Main { **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=java) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=java#migrate-from-enterprise-analytics-reports). #### Parameters @@ -100662,6 +102776,10 @@ Anthropic account team. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional amount` Limit amount as a non-negative integer decimal string in the minor unit of the organization's billing currency (cents for USD): "50000" is $500.00. `null` sets an explicit no-limit override for this scope and `period` only — each period resolves independently, so caps for other periods still apply. @@ -101242,6 +103360,10 @@ come in a fixed order that is not creation order. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSpendLimit` @@ -104168,6 +106290,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `List files` The version's files: one part per file, the part's filename being the file's path within the Plugin (for example `skills/review-pr/SKILL.md`), or a single `.zip` or `.plugin` archive holding them all. On the wire each part is named `files[]`, and a part named plain `files` is not read; with cURL, `-F 'files[]=@SKILL.md;filename=skills/review-pr/SKILL.md'`. The files must include the manifest, `.claude-plugin/plugin.json`. @@ -104573,411 +106699,419 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` -#### Returns - -- `class BetaPlugin` - - - `JsonValue type = "plugin"` - - Always `plugin`. - - - `String id` - - The Plugin's ID. - - - `Optional> components` - - What the served version contains; null when not enumerated. - - - `Type type` - - The kind of component. - - - `AGENT("agent")` - - - `CLI("cli")` - - - `COMMAND("command")` - - - `HOOK("hook")` - - - `MCP_SERVER("mcp_server")` - - - `SKILL("skill")` - - - `Optional description` - - What the component declares about itself; always null for MCP servers, hooks, and CLIs. - - - `String name` - - The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. - - - `Optional contentScan` - - The served version's content scan; null when it has not been scanned. - - - `Optional assessment` - - The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. - - - `FAIL("fail")` - - - `PASS("pass")` - - - `UNKNOWN("unknown")` - - - `WARN("warn")` - - - `Optional reason` - - The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. - - - `Status status` - - `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. - - - `COMPLETED("completed")` - - - `ERRORED("errored")` - - - `PROCESSING("processing")` - - - `LocalDateTime createdAt` - - RFC 3339. - - format: date-time - - - `Optional createdBy` - - Who created the Plugin; null when no creator is recorded. - - - `class BetaPluginUserActor` - - - `JsonValue type = "user_actor"` - - A member of the organization. - - - `Optional emailAddress` - - The member's email address; may be null, for example when they are no longer a member of the organization. - - - `String userId` - - The member's User ID. - - - `class BetaPluginApiActor` - - - `JsonValue type = "api_actor"` - - An Admin API key, in the same form the Compliance API activity feed uses for it. - - - `String apiKeyId` - - The key's ID. - - - `Optional description` - - The served version's description. - - - `Optional displayName` - - The served version's display name. - - - `String latestVersionId` - - The newest version. - - - `Optional manifestVersion` - - The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - - - `String marketplaceId` - - The ID of the plugin marketplace the Plugin lives in. - - - `String name` - - Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. - - - `Optional organizationInstallationPreference` - - Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. - - - `AUTO_INSTALL("auto_install")` - - - `AVAILABLE("available")` - - - `NOT_AVAILABLE("not_available")` - - - `REQUIRED("required")` - - - `Optional organizationInstallationPreferenceInherited` - - Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. - - - `Owner owner` - - Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. - - - `class BetaPluginOwnerOrganization` - - - `JsonValue type = "organization"` - - The Plugin lives in a plugin marketplace the organization owns. - - - `class BetaPluginOwnerUser` - - - `JsonValue type = "user"` - - The Plugin lives in one member's personal plugin marketplace. - - - `String userId` - - The member's User ID. - - - `Optional reach` - - How far the served version reaches, or `null` if it is not classified. - - `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. - - If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. - - - `CONTAINED("contained")` - - - `PRIVILEGED("privileged")` - - - `REMOTE("remote")` - - - `String servedVersionId` - - The version claude.ai serves to members. - - - `boolean servedVersionPinned` - - True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. - - - `LocalDateTime updatedAt` - - RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. - - format: date-time - -#### Example - -```java -package com.anthropic.example; - -import com.anthropic.client.AnthropicClient; -import com.anthropic.client.okhttp.AnthropicOkHttpClient; -import com.anthropic.models.beta.organization.plugins.BetaPlugin; -import com.anthropic.models.beta.organization.plugins.PluginRetrieveParams; - -public final class Main { - private Main() {} - - public static void main(String[] args) { - AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - - BetaPlugin betaPlugin = client.beta().organization().plugins().retrieve("plugin_id"); - } -} -``` - -##### Response (200) - -```json -{ - "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "components": [ - { - "description": "description", - "name": "review-pr", - "type": "skill" - } - ], - "content_scan": { - "assessment": "warn", - "reason": "credential-exposure", - "status": "completed" - }, - "created_at": "2026-03-14T09:26:53.589793Z", - "created_by": { - "email_address": "user@example.com", - "type": "user_actor", - "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" - }, - "description": "Reviews pull requests against your team's conventions.", - "display_name": "Code Review Helper", - "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", - "manifest_version": "1.2.0", - "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", - "name": "code-review-helper", - "organization_installation_preference": "available", - "organization_installation_preference_inherited": true, - "owner": { - "type": "organization" - }, - "reach": "contained", - "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", - "served_version_pinned": true, - "type": "plugin", - "updated_at": "2026-03-14T09:26:53.589793Z" -} -``` - -### Update Plugin - -`BetaPlugin beta().organization().plugins().update(params, requestOptions = RequestOptions.none())` - -**POST** `/v1/organizations/plugins/{plugin_id}` - -Change which stored version of an organization-owned Plugin is served to members, -for example to roll back to an earlier one. This pins the served version: later -uploads are stored but no longer change what is served, and pinning cannot currently -be undone, here or in claude.ai. - -Pass the version as `served_version_id`: an earlier one to roll back, a later one to -start serving a version that was stored without being served, or the one already -served to pin it without changing what is served. No new version is created. - -When the organization has content scanning enabled, a version whose -`content_scan.status` is `processing` is refused with a 409 (`error_code` -`scan_pending`; retry once the scan finishes). A version whose `content_scan.status` -is `errored`, or whose `content_scan.assessment` is `fail` or `unknown`, is refused -with a 400 (`error_code` `scan_failed`); a `warn` is accepted. If the scan outcome -cannot be read at that moment, the request fails with a retryable 503 instead. -When the Plugin is in the organization's -library marketplace, a version other than the one served is also refused with a 409 -when one of its skills has a name that an organization skill (one an administrator -uploaded for the whole organization in claude.ai) has since taken: `error_code` -`skill_name_taken`, with that name in `details.skill_name`. A member-owned Plugin -cannot be updated here (403). - -This endpoint does not write installation settings; they are written at -`/v1/organizations/plugins/{plugin_id}/installation_settings/{target}`. - -**Accepted credentials:** an Admin API key with the `write:plugins` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `PluginUpdateParams params` - - - `Optional pluginId` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - - - `Optional> betas` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` - - - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` - - - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` - - - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + +#### Returns + +- `class BetaPlugin` + + - `JsonValue type = "plugin"` + + Always `plugin`. + + - `String id` + + The Plugin's ID. + + - `Optional> components` + + What the served version contains; null when not enumerated. + + - `Type type` + + The kind of component. + + - `AGENT("agent")` + + - `CLI("cli")` + + - `COMMAND("command")` + + - `HOOK("hook")` + + - `MCP_SERVER("mcp_server")` + + - `SKILL("skill")` + + - `Optional description` + + What the component declares about itself; always null for MCP servers, hooks, and CLIs. + + - `String name` + + The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. + + - `Optional contentScan` + + The served version's content scan; null when it has not been scanned. + + - `Optional assessment` + + The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. + + - `FAIL("fail")` + + - `PASS("pass")` + + - `UNKNOWN("unknown")` + + - `WARN("warn")` + + - `Optional reason` + + The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. + + - `Status status` + + `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. + + - `COMPLETED("completed")` + + - `ERRORED("errored")` + + - `PROCESSING("processing")` + + - `LocalDateTime createdAt` + + RFC 3339. + + format: date-time + + - `Optional createdBy` + + Who created the Plugin; null when no creator is recorded. + + - `class BetaPluginUserActor` + + - `JsonValue type = "user_actor"` + + A member of the organization. + + - `Optional emailAddress` + + The member's email address; may be null, for example when they are no longer a member of the organization. + + - `String userId` + + The member's User ID. + + - `class BetaPluginApiActor` + + - `JsonValue type = "api_actor"` + + An Admin API key, in the same form the Compliance API activity feed uses for it. + + - `String apiKeyId` + + The key's ID. + + - `Optional description` + + The served version's description. + + - `Optional displayName` + + The served version's display name. + + - `String latestVersionId` + + The newest version. + + - `Optional manifestVersion` + + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). + + - `String marketplaceId` + + The ID of the plugin marketplace the Plugin lives in. + + - `String name` + + Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. + + - `Optional organizationInstallationPreference` + + Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. + + - `AUTO_INSTALL("auto_install")` + + - `AVAILABLE("available")` + + - `NOT_AVAILABLE("not_available")` + + - `REQUIRED("required")` + + - `Optional organizationInstallationPreferenceInherited` + + Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. + + - `Owner owner` + + Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. + + - `class BetaPluginOwnerOrganization` + + - `JsonValue type = "organization"` + + The Plugin lives in a plugin marketplace the organization owns. + + - `class BetaPluginOwnerUser` + + - `JsonValue type = "user"` + + The Plugin lives in one member's personal plugin marketplace. + + - `String userId` + + The member's User ID. + + - `Optional reach` + + How far the served version reaches, or `null` if it is not classified. + + `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. + + If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. + + - `CONTAINED("contained")` + + - `PRIVILEGED("privileged")` + + - `REMOTE("remote")` + + - `String servedVersionId` + + The version claude.ai serves to members. + + - `boolean servedVersionPinned` + + True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. + + - `LocalDateTime updatedAt` + + RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. + + format: date-time + +#### Example + +```java +package com.anthropic.example; + +import com.anthropic.client.AnthropicClient; +import com.anthropic.client.okhttp.AnthropicOkHttpClient; +import com.anthropic.models.beta.organization.plugins.BetaPlugin; +import com.anthropic.models.beta.organization.plugins.PluginRetrieveParams; + +public final class Main { + private Main() {} + + public static void main(String[] args) { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + BetaPlugin betaPlugin = client.beta().organization().plugins().retrieve("plugin_id"); + } +} +``` + +##### Response (200) + +```json +{ + "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "components": [ + { + "description": "description", + "name": "review-pr", + "type": "skill" + } + ], + "content_scan": { + "assessment": "warn", + "reason": "credential-exposure", + "status": "completed" + }, + "created_at": "2026-03-14T09:26:53.589793Z", + "created_by": { + "email_address": "user@example.com", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "description": "Reviews pull requests against your team's conventions.", + "display_name": "Code Review Helper", + "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", + "manifest_version": "1.2.0", + "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", + "name": "code-review-helper", + "organization_installation_preference": "available", + "organization_installation_preference_inherited": true, + "owner": { + "type": "organization" + }, + "reach": "contained", + "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", + "served_version_pinned": true, + "type": "plugin", + "updated_at": "2026-03-14T09:26:53.589793Z" +} +``` + +### Update Plugin + +`BetaPlugin beta().organization().plugins().update(params, requestOptions = RequestOptions.none())` + +**POST** `/v1/organizations/plugins/{plugin_id}` + +Change which stored version of an organization-owned Plugin is served to members, +for example to roll back to an earlier one. This pins the served version: later +uploads are stored but no longer change what is served, and pinning cannot currently +be undone, here or in claude.ai. + +Pass the version as `served_version_id`: an earlier one to roll back, a later one to +start serving a version that was stored without being served, or the one already +served to pin it without changing what is served. No new version is created. + +When the organization has content scanning enabled, a version whose +`content_scan.status` is `processing` is refused with a 409 (`error_code` +`scan_pending`; retry once the scan finishes). A version whose `content_scan.status` +is `errored`, or whose `content_scan.assessment` is `fail` or `unknown`, is refused +with a 400 (`error_code` `scan_failed`); a `warn` is accepted. If the scan outcome +cannot be read at that moment, the request fails with a retryable 503 instead. +When the Plugin is in the organization's +library marketplace, a version other than the one served is also refused with a 409 +when one of its skills has a name that an organization skill (one an administrator +uploaded for the whole organization in claude.ai) has since taken: `error_code` +`skill_name_taken`, with that name in `details.skill_name`. A member-owned Plugin +cannot be updated here (403). + +This endpoint does not write installation settings; they are written at +`/v1/organizations/plugins/{plugin_id}/installation_settings/{target}`. + +**Accepted credentials:** an Admin API key with the `write:plugins` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `PluginUpdateParams params` + + - `Optional pluginId` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + + - `Optional> betas` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` + + - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` + + - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` + + - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` + + - `PDFS_2024_09_25("pdfs-2024-09-25")` + + - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` + + - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` + + - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` + + - `FILES_API_2025_04_14("files-api-2025-04-14")` + + - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` + + - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` + + - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` + + - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` + + - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` + + - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` + + - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` + + - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` + + - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `SKILLS_2025_10_02("skills-2025-10-02")` + + - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` + + - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` + + - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` + + - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` + + - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` + + - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` + + - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` + + - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` + + - `DREAMING_2026_04_21("dreaming-2026-04-21")` + + - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` + + - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` + + - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` + + - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` + + - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` + + - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` + + - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `COMPACT_2026_01_12("compact-2026-01-12")` + + - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` + + - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` + + - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` + + - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` + + - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` + + - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` + + - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `COMPACT_2026_09_04("compact-2026-09-04")` + + - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` + + - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` + + - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` + + - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` + + - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` + + - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` - - `PDFS_2024_09_25("pdfs-2024-09-25")` - - - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` - - - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` - - - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` - - - `FILES_API_2025_04_14("files-api-2025-04-14")` - - - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` - - - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` - - - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` - - - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` - - - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` - - - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` - - - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` - - - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` - - - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` - - - `SKILLS_2025_10_02("skills-2025-10-02")` - - - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` - - - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` - - - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` - - - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` - - - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` - - - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` - - - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` - - - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` - - - `DREAMING_2026_04_21("dreaming-2026-04-21")` - - - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` - - - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` - - - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` - - - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` - - - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` - - - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` - - - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` - - - `COMPACT_2026_01_12("compact-2026-01-12")` - - - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` - - - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` - - - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` - - - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` - - - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` - - - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` - - - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` - - - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` - - - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` - - - `COMPACT_2026_09_04("compact-2026-09-04")` - - - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` - - - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` - - - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` - - - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` - - - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` - - - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` - `String servedVersionId` @@ -105430,6 +107564,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPlugin` @@ -105829,6 +107967,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedPlugin` @@ -106020,6 +108162,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `List files` The version's files: one part per file, the part's filename being the file's path within the Plugin (for example `skills/review-pr/SKILL.md`), or a single `.zip` or `.plugin` archive holding them all. On the wire each part is named `files[]`, and a part named plain `files` is not read; with cURL, `-F 'files[]=@SKILL.md;filename=skills/review-pr/SKILL.md'`. The files must include the manifest, `.claude-plugin/plugin.json`. @@ -106372,6 +108518,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginVersion` @@ -106701,6 +108851,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginVersion` @@ -107045,6 +109199,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Example ```java @@ -107231,6 +109389,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginInstallationSetting` @@ -107486,6 +109648,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `InstallationPreference installationPreference` The installation setting the target is to hold for this Plugin: one of `required`, `auto_install`, `available`, `not_available`. @@ -107757,252 +109923,260 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` -#### Returns - -- `class BetaDeletedPluginInstallationSetting` - - Confirmation that one target's installation setting was removed, naming - the Plugin and the target in place of an ID. - - - `JsonValue type = "plugin_installation_setting_deleted"` - - Always `plugin_installation_setting_deleted`. - - - `String pluginId` - - The Plugin's ID. - - - `Target target` - - Whose setting was removed. - - - `class BetaPluginTargetOrganization` - - - `JsonValue type = "organization"` - - Every member of the organization. - - - `class BetaPluginTargetRbacGroup` - - - `JsonValue type = "rbac_group"` - - An RBAC Group. - - - `String rbacGroupId` - - The RBAC Group's ID. - - - `class BetaPluginTargetOrganizationMember` - - - `JsonValue type = "organization_member"` - - One member of the organization. - - - `String userId` - - The member's User ID. - -#### Example - -```java -package com.anthropic.example; - -import com.anthropic.client.AnthropicClient; -import com.anthropic.client.okhttp.AnthropicOkHttpClient; -import com.anthropic.models.beta.organization.plugins.installationsettings.BetaDeletedPluginInstallationSetting; -import com.anthropic.models.beta.organization.plugins.installationsettings.InstallationSettingRemoveParams; - -public final class Main { - private Main() {} - - public static void main(String[] args) { - AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - - InstallationSettingRemoveParams params = InstallationSettingRemoveParams.builder() - .pluginId("plugin_id") - .target("target") - .build(); - BetaDeletedPluginInstallationSetting betaDeletedPluginInstallationSetting = client.beta().organization().plugins().installationSettings().remove(params); - } -} -``` - -##### Response (200) - -```json -{ - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "target": { - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "type": "rbac_group" - }, - "type": "plugin_installation_setting_deleted" -} -``` - -## Beta › Organization › Plugins › Shares + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + +#### Returns + +- `class BetaDeletedPluginInstallationSetting` + + Confirmation that one target's installation setting was removed, naming + the Plugin and the target in place of an ID. + + - `JsonValue type = "plugin_installation_setting_deleted"` + + Always `plugin_installation_setting_deleted`. + + - `String pluginId` + + The Plugin's ID. + + - `Target target` + + Whose setting was removed. + + - `class BetaPluginTargetOrganization` + + - `JsonValue type = "organization"` + + Every member of the organization. + + - `class BetaPluginTargetRbacGroup` + + - `JsonValue type = "rbac_group"` + + An RBAC Group. + + - `String rbacGroupId` + + The RBAC Group's ID. + + - `class BetaPluginTargetOrganizationMember` + + - `JsonValue type = "organization_member"` + + One member of the organization. + + - `String userId` + + The member's User ID. + +#### Example + +```java +package com.anthropic.example; + +import com.anthropic.client.AnthropicClient; +import com.anthropic.client.okhttp.AnthropicOkHttpClient; +import com.anthropic.models.beta.organization.plugins.installationsettings.BetaDeletedPluginInstallationSetting; +import com.anthropic.models.beta.organization.plugins.installationsettings.InstallationSettingRemoveParams; + +public final class Main { + private Main() {} + + public static void main(String[] args) { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + InstallationSettingRemoveParams params = InstallationSettingRemoveParams.builder() + .pluginId("plugin_id") + .target("target") + .build(); + BetaDeletedPluginInstallationSetting betaDeletedPluginInstallationSetting = client.beta().organization().plugins().installationSettings().remove(params); + } +} +``` + +##### Response (200) + +```json +{ + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "target": { + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "type": "rbac_group" + }, + "type": "plugin_installation_setting_deleted" +} +``` + +## Beta › Organization › Plugins › Shares + +### List Plugin Shares + +`ShareListPage beta().organization().plugins().shares().list(params = ShareListParams.none(), requestOptions = RequestOptions.none())` + +**GET** `/v1/organizations/plugins/{plugin_id}/shares` + +List the shares the owner of a member-owned Plugin has given — to every member of +the organization, to an RBAC Group, or to one member — most recently granted first. + +Shares are read-only in this API: members give and withdraw them in claude.ai, and +who gave a share is recorded on the Compliance API activity feed rather than on the +share. An organization-owned Plugin has installation settings instead, so this path +returns 404 for one. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `ShareListParams params` + + - `Optional pluginId` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + + - `Optional limit` (query parameter) + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `100`. + + minimum: 1, maximum: 100 + + - `Optional organizationId` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + + - `Optional page` (query parameter) + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + + - `Optional targetType` (query parameter) + + Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). + + - `ORGANIZATION("organization")` + + - `ORGANIZATION_MEMBER("organization_member")` + + - `RBAC_GROUP("rbac_group")` + + - `Optional> betas` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` + + - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` + + - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` + + - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` + + - `PDFS_2024_09_25("pdfs-2024-09-25")` + + - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` + + - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` + + - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` + + - `FILES_API_2025_04_14("files-api-2025-04-14")` + + - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` + + - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` + + - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` + + - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` + + - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` + + - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` + + - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` + + - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` + + - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `SKILLS_2025_10_02("skills-2025-10-02")` + + - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` + + - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` + + - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` + + - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` + + - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` + + - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` + + - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` + + - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` + + - `DREAMING_2026_04_21("dreaming-2026-04-21")` + + - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` + + - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` + + - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` + + - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` + + - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` + + - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` + + - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `COMPACT_2026_01_12("compact-2026-01-12")` + + - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` + + - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` + + - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` + + - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` + + - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` + + - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` + + - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `COMPACT_2026_09_04("compact-2026-09-04")` + + - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` + + - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` + + - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` + + - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` + + - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` + + - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` -### List Plugin Shares - -`ShareListPage beta().organization().plugins().shares().list(params = ShareListParams.none(), requestOptions = RequestOptions.none())` - -**GET** `/v1/organizations/plugins/{plugin_id}/shares` - -List the shares the owner of a member-owned Plugin has given — to every member of -the organization, to an RBAC Group, or to one member — most recently granted first. - -Shares are read-only in this API: members give and withdraw them in claude.ai, and -who gave a share is recorded on the Compliance API activity feed rather than on the -share. An organization-owned Plugin has installation settings instead, so this path -returns 404 for one. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `ShareListParams params` - - - `Optional pluginId` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - - - `Optional limit` (query parameter) - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `100`. - - minimum: 1, maximum: 100 - - - `Optional organizationId` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - - - `Optional page` (query parameter) - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - - - `Optional targetType` (query parameter) - - Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). - - - `ORGANIZATION("organization")` - - - `ORGANIZATION_MEMBER("organization_member")` - - - `RBAC_GROUP("rbac_group")` - - - `Optional> betas` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` - - - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` - - - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` - - - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` - - - `PDFS_2024_09_25("pdfs-2024-09-25")` - - - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` - - - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` - - - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` - - - `FILES_API_2025_04_14("files-api-2025-04-14")` - - - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` - - - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` - - - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` - - - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` - - - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` - - - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` - - - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` - - - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` - - - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` - - - `SKILLS_2025_10_02("skills-2025-10-02")` - - - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` - - - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` - - - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` - - - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` - - - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` - - - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` - - - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` - - - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` - - - `DREAMING_2026_04_21("dreaming-2026-04-21")` - - - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` - - - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` - - - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` - - - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` - - - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` - - - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` - - - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` - - - `COMPACT_2026_01_12("compact-2026-01-12")` - - - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` - - - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` - - - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` - - - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` - - - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` - - - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` - - - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` - - - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` - - - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` - - - `COMPACT_2026_09_04("compact-2026-09-04")` - - - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` - - - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` - - - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` - - - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` - - - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` - - - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` #### Returns @@ -108267,6 +110441,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginMarketplace` @@ -108538,6 +110716,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaPluginMarketplace` @@ -108805,6 +110987,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `DefaultInstallationPreference defaultInstallationPreference` The organization-wide installation setting every Plugin in the marketplace without one of its own gets: one of `required`, `auto_install`, `available`, `not_available`. Once set it can be changed but not removed. @@ -109094,6 +111280,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String repositoryUrl` The `https://` URL of a public repository on github.com that holds the marketplace. A URL longer than 2,048 characters, on any other host or scheme, with a port other than 443 or 80, with credentials in it, or that does not name exactly `owner/repo` (a trailing `.git` or `/` is accepted) is a 400. A private or missing repository is reported in the response, not refused. @@ -109372,6 +111562,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `InputStream archive` A .zip of the marketplace directory (its contents at the root, or wrapped in one folder as a Git host's download produces), sent as a file part with a filename; DEFLATE- or STORE-compressed, at most 32 MB. A part sent without a filename, a second archive part, or any other form field is a 400; a larger archive is a 413. @@ -109632,6 +111826,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `String endpointUrl` The base URL of your collector's OTLP/HTTP endpoint, for example `https://gateway.example.com`. @@ -110031,6 +112229,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestination` @@ -110386,6 +112588,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestination` @@ -110740,6 +112946,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional displayName` New human-readable name, 1 to 255 characters. Null clears it. @@ -111130,6 +113340,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedTelemetryDestination` @@ -111296,6 +113510,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestinationTestResponse` @@ -111496,6 +113714,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -111691,6 +113913,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -111885,6 +114111,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedTelemetryDestinationWorkspace` @@ -112066,276 +114296,284 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` - - `List enabledEvents` - - The event types to deliver to the endpoint. Must list at least one. - - - `USER_PROFILE_ENFORCEMENT_ACTION_OPENED("user_profile.enforcement_action_opened")` - - - `USER_PROFILE_ENFORCEMENT_ACTION_RESOLVED("user_profile.enforcement_action_resolved")` - - - `String url` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + + - `List enabledEvents` + + The event types to deliver to the endpoint. Must list at least one. + + - `USER_PROFILE_ENFORCEMENT_ACTION_OPENED("user_profile.enforcement_action_opened")` + + - `USER_PROFILE_ENFORCEMENT_ACTION_RESOLVED("user_profile.enforcement_action_resolved")` + + - `String url` + + The HTTPS URL that deliveries are sent to. + + minLength: 1 + + - `Optional description` + + Notes about the endpoint. + + - `Optional name` + + A short label for the endpoint. + +#### Returns + +- `class BetaNewOrganizationWebhookEndpoint` + + A new organization webhook endpoint, with its signing secret. + + - `String id` + + ID of the webhook endpoint. + + - `LocalDateTime createdAt` + + When the endpoint was created, in RFC 3339 format. + + format: date-time + + - `String description` + + Notes about the endpoint. An empty string when none were given. + + - `String disabledReason` + + Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it. + + - `List enabledEvents` + + The event types delivered to the endpoint. + + - `USER_PROFILE_ENFORCEMENT_ACTION_OPENED("user_profile.enforcement_action_opened")` + + - `USER_PROFILE_ENFORCEMENT_ACTION_RESOLVED("user_profile.enforcement_action_resolved")` + + - `String name` + + A short label for the endpoint. An empty string when none was given. + + - `String signingSecret` + + The secret Anthropic signs deliveries to the endpoint with (prefix `whsec_`). No other response returns it, so store it now. To replace it, regenerate the signing secret. + + - `BetaOrganizationWebhookEndpointState state` + + Whether deliveries are sent to the endpoint. + + - `DISABLED("disabled")` + + - `ENABLED("enabled")` + + - `LocalDateTime updatedAt` + + When the endpoint was last changed, in RFC 3339 format. + + format: date-time + + - `String url` + + The HTTPS URL that deliveries are sent to. + +#### Example + +```java +package com.anthropic.example; + +import com.anthropic.client.AnthropicClient; +import com.anthropic.client.okhttp.AnthropicOkHttpClient; +import com.anthropic.models.beta.organization.webhooks.BetaNewOrganizationWebhookEndpoint; +import com.anthropic.models.beta.organization.webhooks.WebhookCreateParams; + +public final class Main { + private Main() {} + + public static void main(String[] args) { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + WebhookCreateParams params = WebhookCreateParams.builder() + .addEnabledEvent(WebhookCreateParams.EnabledEvent.USER_PROFILE_ENFORCEMENT_ACTION_OPENED) + .url("x") + .build(); + BetaNewOrganizationWebhookEndpoint betaNewOrganizationWebhookEndpoint = client.beta().organization().webhooks().create(params); + } +} +``` + +##### Response (200) + +```json +{ + "id": "id", + "created_at": "2019-12-27T18:11:19.117Z", + "description": "description", + "disabled_reason": "disabled_reason", + "enabled_events": [ + "user_profile.enforcement_action_opened" + ], + "name": "name", + "signing_secret": "signing_secret", + "state": "disabled", + "updated_at": "2019-12-27T18:11:19.117Z", + "url": "url" +} +``` + +### List Organization Webhook Endpoints + +`WebhookListPage beta().organization().webhooks().list(params = WebhookListParams.none(), requestOptions = RequestOptions.none())` + +**GET** `/v1/organizations/webhooks` + +List the organization's webhook endpoints. + +An organization webhook endpoint belongs to the organization rather than to one of its workspaces. The list does not include webhook endpoints that +belong to a workspace. + +Every request must include the beta header `anthropic-beta: webhooks-2026-10-07`. A request without it returns `404`, exactly as if this API did not exist. Anthropic turns organization webhook endpoints on for each organization; until yours is on, requests also return `404`. Organization webhook endpoints are in beta and are not available to organizations with HIPAA readiness enabled. + +#### Parameters + +- `WebhookListParams params` + + - `Optional afterId` (query parameter) + + ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. + + - `Optional beforeId` (query parameter) + + ID of a webhook endpoint to use as a cursor. Returns the first `limit` endpoints that come before it in list order, not the `limit` endpoints just before it. + + - `Optional limit` (query parameter) + + Number of items to return per page, up to `100`. The default, `0`, means `20`. + + minimum: 0, maximum: 100 + + - `Optional order` (query parameter) + + Sort order by `created_at`. Defaults to `desc`, newest first. + + - `ASC("asc")` + + - `DESC("desc")` + + - `Optional> betas` (header parameter) + + This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header. + + - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` + + - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` + + - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` + + - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` + + - `PDFS_2024_09_25("pdfs-2024-09-25")` + + - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` + + - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` + + - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` + + - `FILES_API_2025_04_14("files-api-2025-04-14")` + + - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` + + - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` + + - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` + + - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` + + - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` + + - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` + + - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` + + - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` + + - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` + + - `SKILLS_2025_10_02("skills-2025-10-02")` + + - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` + + - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` + + - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` + + - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` + + - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` + + - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` + + - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` + + - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` + + - `DREAMING_2026_04_21("dreaming-2026-04-21")` + + - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` + + - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` + + - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` + + - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` + + - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` + + - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` + + - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` + + - `COMPACT_2026_01_12("compact-2026-01-12")` + + - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` + + - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` + + - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` + + - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` + + - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` + + - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` + + - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` + + - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` + + - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` + + - `COMPACT_2026_09_04("compact-2026-09-04")` + + - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` + + - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` + + - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` + + - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` + + - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` + + - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` - The HTTPS URL that deliveries are sent to. - - minLength: 1 - - - `Optional description` - - Notes about the endpoint. - - - `Optional name` - - A short label for the endpoint. - -#### Returns - -- `class BetaNewOrganizationWebhookEndpoint` - - A new organization webhook endpoint, with its signing secret. - - - `String id` - - ID of the webhook endpoint. - - - `LocalDateTime createdAt` - - When the endpoint was created, in RFC 3339 format. - - format: date-time - - - `String description` - - Notes about the endpoint. An empty string when none were given. - - - `String disabledReason` - - Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it. - - - `List enabledEvents` - - The event types delivered to the endpoint. - - - `USER_PROFILE_ENFORCEMENT_ACTION_OPENED("user_profile.enforcement_action_opened")` - - - `USER_PROFILE_ENFORCEMENT_ACTION_RESOLVED("user_profile.enforcement_action_resolved")` - - - `String name` - - A short label for the endpoint. An empty string when none was given. - - - `String signingSecret` - - The secret Anthropic signs deliveries to the endpoint with (prefix `whsec_`). No other response returns it, so store it now. To replace it, regenerate the signing secret. - - - `BetaOrganizationWebhookEndpointState state` - - Whether deliveries are sent to the endpoint. - - - `DISABLED("disabled")` - - - `ENABLED("enabled")` - - - `LocalDateTime updatedAt` - - When the endpoint was last changed, in RFC 3339 format. - - format: date-time - - - `String url` - - The HTTPS URL that deliveries are sent to. - -#### Example - -```java -package com.anthropic.example; - -import com.anthropic.client.AnthropicClient; -import com.anthropic.client.okhttp.AnthropicOkHttpClient; -import com.anthropic.models.beta.organization.webhooks.BetaNewOrganizationWebhookEndpoint; -import com.anthropic.models.beta.organization.webhooks.WebhookCreateParams; - -public final class Main { - private Main() {} - - public static void main(String[] args) { - AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - - WebhookCreateParams params = WebhookCreateParams.builder() - .addEnabledEvent(WebhookCreateParams.EnabledEvent.USER_PROFILE_ENFORCEMENT_ACTION_OPENED) - .url("x") - .build(); - BetaNewOrganizationWebhookEndpoint betaNewOrganizationWebhookEndpoint = client.beta().organization().webhooks().create(params); - } -} -``` - -##### Response (200) - -```json -{ - "id": "id", - "created_at": "2019-12-27T18:11:19.117Z", - "description": "description", - "disabled_reason": "disabled_reason", - "enabled_events": [ - "user_profile.enforcement_action_opened" - ], - "name": "name", - "signing_secret": "signing_secret", - "state": "disabled", - "updated_at": "2019-12-27T18:11:19.117Z", - "url": "url" -} -``` - -### List Organization Webhook Endpoints - -`WebhookListPage beta().organization().webhooks().list(params = WebhookListParams.none(), requestOptions = RequestOptions.none())` - -**GET** `/v1/organizations/webhooks` - -List the organization's webhook endpoints. - -An organization webhook endpoint belongs to the organization rather than to one of its workspaces. The list does not include webhook endpoints that -belong to a workspace. - -Every request must include the beta header `anthropic-beta: webhooks-2026-10-07`. A request without it returns `404`, exactly as if this API did not exist. Anthropic turns organization webhook endpoints on for each organization; until yours is on, requests also return `404`. Organization webhook endpoints are in beta and are not available to organizations with HIPAA readiness enabled. - -#### Parameters - -- `WebhookListParams params` - - - `Optional afterId` (query parameter) - - ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. - - - `Optional beforeId` (query parameter) - - ID of a webhook endpoint to use as a cursor. Returns the first `limit` endpoints that come before it in list order, not the `limit` endpoints just before it. - - - `Optional limit` (query parameter) - - Number of items to return per page, up to `100`. The default, `0`, means `20`. - - minimum: 0, maximum: 100 - - - `Optional order` (query parameter) - - Sort order by `created_at`. Defaults to `desc`, newest first. - - - `ASC("asc")` - - - `DESC("desc")` - - - `Optional> betas` (header parameter) - - This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header. - - - `MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")` - - - `PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")` - - - `COMPUTER_USE_2024_10_22("computer-use-2024-10-22")` - - - `COMPUTER_USE_2025_01_24("computer-use-2025-01-24")` - - - `PDFS_2024_09_25("pdfs-2024-09-25")` - - - `TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")` - - - `TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")` - - - `OUTPUT_128K_2025_02_19("output-128k-2025-02-19")` - - - `FILES_API_2025_04_14("files-api-2025-04-14")` - - - `MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")` - - - `MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")` - - - `DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")` - - - `INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")` - - - `CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")` - - - `EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")` - - - `CONTEXT_1M_2025_08_07("context-1m-2025-08-07")` - - - `CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")` - - - `MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")` - - - `SKILLS_2025_10_02("skills-2025-10-02")` - - - `FAST_MODE_2026_02_01("fast-mode-2026-02-01")` - - - `OUTPUT_300K_2026_03_24("output-300k-2026-03-24")` - - - `USER_PROFILES_2026_03_24("user-profiles-2026-03-24")` - - - `USER_PROFILES_2026_08_18("user-profiles-2026-08-18")` - - - `USER_PROFILES_2026_09_04("user-profiles-2026-09-04")` - - - `ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")` - - - `MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")` - - - `CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")` - - - `DREAMING_2026_04_21("dreaming-2026-04-21")` - - - `THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")` - - - `SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")` - - - `SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")` - - - `FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")` - - - `FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")` - - - `AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")` - - - `MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")` - - - `COMPACT_2026_01_12("compact-2026-01-12")` - - - `COMPUTER_USE_2025_11_24("computer-use-2025-11-24")` - - - `MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")` - - - `STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")` - - - `TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")` - - - `THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")` - - - `CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")` - - - `MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")` - - - `THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")` - - - `MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")` - - - `COMPACT_2026_09_04("compact-2026-09-04")` - - - `INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")` - - - `MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")` - - - `CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")` - - - `SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")` - - - `TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")` - - - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` #### Returns @@ -112566,6 +114804,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -112788,6 +115030,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional description` Notes about the endpoint. @@ -113040,6 +115286,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaDeletedOrganizationWebhookEndpoint` @@ -113213,6 +115463,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaOrganizationWebhookEndpointSigningSecret` diff --git a/content/en/api/java/beta/agents.md b/content/en/api/java/beta/agents.md index 8395034131..fc7e1988cd 100644 --- a/content/en/api/java/beta/agents.md +++ b/content/en/api/java/beta/agents.md @@ -125,6 +125,10 @@ Create Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1963,6 +1967,10 @@ List Agents - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3013,6 +3021,10 @@ Get Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4052,6 +4064,10 @@ Update Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5869,6 +5885,10 @@ Archive Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -13296,6 +13316,10 @@ List Agent Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/agents/archive.md b/content/en/api/java/beta/agents/archive.md index ae0e89f3d5..ea99469542 100644 --- a/content/en/api/java/beta/agents/archive.md +++ b/content/en/api/java/beta/agents/archive.md @@ -127,6 +127,10 @@ Archive Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/agents/create.md b/content/en/api/java/beta/agents/create.md index ff40908654..edcf1c1fd6 100644 --- a/content/en/api/java/beta/agents/create.md +++ b/content/en/api/java/beta/agents/create.md @@ -123,6 +123,10 @@ Create Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/agents/list.md b/content/en/api/java/beta/agents/list.md index fa9326aa52..c2f30bb298 100644 --- a/content/en/api/java/beta/agents/list.md +++ b/content/en/api/java/beta/agents/list.md @@ -149,6 +149,10 @@ List Agents - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/agents/retrieve.md b/content/en/api/java/beta/agents/retrieve.md index 8bd587d73a..a22f379d66 100644 --- a/content/en/api/java/beta/agents/retrieve.md +++ b/content/en/api/java/beta/agents/retrieve.md @@ -133,6 +133,10 @@ Get Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/agents/update.md b/content/en/api/java/beta/agents/update.md index 45a7d72d89..ef508c3684 100644 --- a/content/en/api/java/beta/agents/update.md +++ b/content/en/api/java/beta/agents/update.md @@ -127,6 +127,10 @@ Update Agent - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/agents/versions.md b/content/en/api/java/beta/agents/versions.md index 75d87cdad7..81e06004b4 100644 --- a/content/en/api/java/beta/agents/versions.md +++ b/content/en/api/java/beta/agents/versions.md @@ -139,6 +139,10 @@ List Agent Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/agents/versions/list.md b/content/en/api/java/beta/agents/versions/list.md index d95abcc2ef..e1df9a0217 100644 --- a/content/en/api/java/beta/agents/versions/list.md +++ b/content/en/api/java/beta/agents/versions/list.md @@ -137,6 +137,10 @@ List Agent Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployment_runs.md b/content/en/api/java/beta/deployment_runs.md index 4eee681e13..715721b238 100644 --- a/content/en/api/java/beta/deployment_runs.md +++ b/content/en/api/java/beta/deployment_runs.md @@ -171,6 +171,10 @@ List Deployment Runs - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -576,6 +580,10 @@ Get Deployment Run - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployment_runs/list.md b/content/en/api/java/beta/deployment_runs/list.md index 676a3b3873..00f5e09ebe 100644 --- a/content/en/api/java/beta/deployment_runs/list.md +++ b/content/en/api/java/beta/deployment_runs/list.md @@ -169,6 +169,10 @@ List Deployment Runs - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployment_runs/retrieve.md b/content/en/api/java/beta/deployment_runs/retrieve.md index 9ab91b1cdb..13f06d9b57 100644 --- a/content/en/api/java/beta/deployment_runs/retrieve.md +++ b/content/en/api/java/beta/deployment_runs/retrieve.md @@ -127,6 +127,10 @@ Get Deployment Run - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments.md b/content/en/api/java/beta/deployments.md index 3c96c8e964..f8872ef55e 100644 --- a/content/en/api/java/beta/deployments.md +++ b/content/en/api/java/beta/deployments.md @@ -125,6 +125,10 @@ Create Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1273,6 +1277,10 @@ List Deployments - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2016,6 +2024,10 @@ Get Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2754,6 +2766,10 @@ Update Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3864,6 +3880,10 @@ Archive Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4602,6 +4622,10 @@ Run Deployment Now - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5002,6 +5026,10 @@ Pause Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5740,6 +5768,10 @@ Unpause Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/archive.md b/content/en/api/java/beta/deployments/archive.md index cbd61406b3..e906e5cfee 100644 --- a/content/en/api/java/beta/deployments/archive.md +++ b/content/en/api/java/beta/deployments/archive.md @@ -127,6 +127,10 @@ Archive Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/create.md b/content/en/api/java/beta/deployments/create.md index 8a819ba831..9f22bb6630 100644 --- a/content/en/api/java/beta/deployments/create.md +++ b/content/en/api/java/beta/deployments/create.md @@ -123,6 +123,10 @@ Create Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/list.md b/content/en/api/java/beta/deployments/list.md index 219ddf5a1d..d9288ddc31 100644 --- a/content/en/api/java/beta/deployments/list.md +++ b/content/en/api/java/beta/deployments/list.md @@ -157,6 +157,10 @@ List Deployments - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/pause.md b/content/en/api/java/beta/deployments/pause.md index b8b82a4b61..cf89ac062c 100644 --- a/content/en/api/java/beta/deployments/pause.md +++ b/content/en/api/java/beta/deployments/pause.md @@ -127,6 +127,10 @@ Pause Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/retrieve.md b/content/en/api/java/beta/deployments/retrieve.md index ca1e6035e6..d5dce040d5 100644 --- a/content/en/api/java/beta/deployments/retrieve.md +++ b/content/en/api/java/beta/deployments/retrieve.md @@ -127,6 +127,10 @@ Get Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/run.md b/content/en/api/java/beta/deployments/run.md index a6f865b45e..c220778af9 100644 --- a/content/en/api/java/beta/deployments/run.md +++ b/content/en/api/java/beta/deployments/run.md @@ -127,6 +127,10 @@ Run Deployment Now - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/unpause.md b/content/en/api/java/beta/deployments/unpause.md index 51f5a6c72a..f7a47a0139 100644 --- a/content/en/api/java/beta/deployments/unpause.md +++ b/content/en/api/java/beta/deployments/unpause.md @@ -127,6 +127,10 @@ Unpause Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/deployments/update.md b/content/en/api/java/beta/deployments/update.md index 093b34bd4e..43053ad82d 100644 --- a/content/en/api/java/beta/deployments/update.md +++ b/content/en/api/java/beta/deployments/update.md @@ -127,6 +127,10 @@ Update Deployment - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments.md b/content/en/api/java/beta/environments.md index 593a13a315..736310e4b3 100644 --- a/content/en/api/java/beta/environments.md +++ b/content/en/api/java/beta/environments.md @@ -125,6 +125,10 @@ Create a new environment with the specified configuration. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -582,6 +586,10 @@ List environments with pagination support. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -915,6 +923,10 @@ Retrieve a specific environment by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1243,6 +1255,10 @@ Update an existing environment's configuration. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1685,6 +1701,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1857,6 +1877,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2640,6 +2664,10 @@ Retrieve detailed information about a specific work item. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2912,6 +2940,10 @@ Long poll for work items in the queue. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional anthropicWorkerId` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -3169,6 +3201,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -3433,6 +3469,10 @@ Record a heartbeat for a work item to maintain the lease. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -3632,6 +3672,10 @@ Stop a work item, initiating graceful or forced shutdown. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3908,6 +3952,10 @@ List work items in an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + #### Returns - `class BetaSelfHostedWork` @@ -4165,6 +4213,10 @@ Update work item metadata with merge semantics. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4432,6 +4484,10 @@ Get statistics about the work queue for an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/archive.md b/content/en/api/java/beta/environments/archive.md index e808b7d73a..77997b7d71 100644 --- a/content/en/api/java/beta/environments/archive.md +++ b/content/en/api/java/beta/environments/archive.md @@ -125,6 +125,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/create.md b/content/en/api/java/beta/environments/create.md index ac1c112b08..803a05cf56 100644 --- a/content/en/api/java/beta/environments/create.md +++ b/content/en/api/java/beta/environments/create.md @@ -123,6 +123,10 @@ Create a new environment with the specified configuration. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/delete.md b/content/en/api/java/beta/environments/delete.md index 77bafb2465..9e0e6893e7 100644 --- a/content/en/api/java/beta/environments/delete.md +++ b/content/en/api/java/beta/environments/delete.md @@ -125,6 +125,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/list.md b/content/en/api/java/beta/environments/list.md index 7447d52f46..be5f7420ad 100644 --- a/content/en/api/java/beta/environments/list.md +++ b/content/en/api/java/beta/environments/list.md @@ -137,6 +137,10 @@ List environments with pagination support. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/retrieve.md b/content/en/api/java/beta/environments/retrieve.md index 43adef50f0..dd25d5e158 100644 --- a/content/en/api/java/beta/environments/retrieve.md +++ b/content/en/api/java/beta/environments/retrieve.md @@ -125,6 +125,10 @@ Retrieve a specific environment by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/update.md b/content/en/api/java/beta/environments/update.md index 410ff4fde7..427925e9db 100644 --- a/content/en/api/java/beta/environments/update.md +++ b/content/en/api/java/beta/environments/update.md @@ -125,6 +125,10 @@ Update an existing environment's configuration. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/work.md b/content/en/api/java/beta/environments/work.md index 0e924c9a95..138a8311fb 100644 --- a/content/en/api/java/beta/environments/work.md +++ b/content/en/api/java/beta/environments/work.md @@ -131,6 +131,10 @@ Retrieve detailed information about a specific work item. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -403,6 +407,10 @@ Long poll for work items in the queue. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional anthropicWorkerId` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -660,6 +668,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + ### Returns - `class BetaSelfHostedWork` @@ -924,6 +936,10 @@ Record a heartbeat for a work item to maintain the lease. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + ### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -1123,6 +1139,10 @@ Stop a work item, initiating graceful or forced shutdown. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1399,6 +1419,10 @@ List work items in an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + ### Returns - `class BetaSelfHostedWork` @@ -1656,6 +1680,10 @@ Update work item metadata with merge semantics. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1923,6 +1951,10 @@ Get statistics about the work queue for an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/work/ack.md b/content/en/api/java/beta/environments/work/ack.md index a7bb2b42da..3318cd879d 100644 --- a/content/en/api/java/beta/environments/work/ack.md +++ b/content/en/api/java/beta/environments/work/ack.md @@ -129,6 +129,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/java/beta/environments/work/heartbeat.md b/content/en/api/java/beta/environments/work/heartbeat.md index f284dd8369..df9cf9d51f 100644 --- a/content/en/api/java/beta/environments/work/heartbeat.md +++ b/content/en/api/java/beta/environments/work/heartbeat.md @@ -137,6 +137,10 @@ Record a heartbeat for a work item to maintain the lease. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + ## Returns - `class BetaSelfHostedWorkHeartbeatResponse` diff --git a/content/en/api/java/beta/environments/work/list.md b/content/en/api/java/beta/environments/work/list.md index 29b8af125d..e4728caa5a 100644 --- a/content/en/api/java/beta/environments/work/list.md +++ b/content/en/api/java/beta/environments/work/list.md @@ -137,6 +137,10 @@ List work items in an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/java/beta/environments/work/poll.md b/content/en/api/java/beta/environments/work/poll.md index 8bd2aae5d8..e26504e579 100644 --- a/content/en/api/java/beta/environments/work/poll.md +++ b/content/en/api/java/beta/environments/work/poll.md @@ -139,6 +139,10 @@ Long poll for work items in the queue. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional anthropicWorkerId` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console diff --git a/content/en/api/java/beta/environments/work/retrieve.md b/content/en/api/java/beta/environments/work/retrieve.md index 03a34d7430..0f053fdbdd 100644 --- a/content/en/api/java/beta/environments/work/retrieve.md +++ b/content/en/api/java/beta/environments/work/retrieve.md @@ -129,6 +129,10 @@ Retrieve detailed information about a specific work item. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/work/stats.md b/content/en/api/java/beta/environments/work/stats.md index 7beba6ea5c..48a9b61c62 100644 --- a/content/en/api/java/beta/environments/work/stats.md +++ b/content/en/api/java/beta/environments/work/stats.md @@ -125,6 +125,10 @@ Get statistics about the work queue for an environment. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/work/stop.md b/content/en/api/java/beta/environments/work/stop.md index f2a3a135cf..75d66c8761 100644 --- a/content/en/api/java/beta/environments/work/stop.md +++ b/content/en/api/java/beta/environments/work/stop.md @@ -129,6 +129,10 @@ Stop a work item, initiating graceful or forced shutdown. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/environments/work/update.md b/content/en/api/java/beta/environments/work/update.md index e52194c9c7..138b59e07c 100644 --- a/content/en/api/java/beta/environments/work/update.md +++ b/content/en/api/java/beta/environments/work/update.md @@ -129,6 +129,10 @@ Update work item metadata with merge semantics. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/files.md b/content/en/api/java/beta/files.md index c6e69c3893..1db3e282a1 100644 --- a/content/en/api/java/beta/files.md +++ b/content/en/api/java/beta/files.md @@ -125,6 +125,10 @@ Upload File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -389,6 +393,10 @@ List Files - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -626,6 +634,10 @@ Download File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -777,6 +789,10 @@ Get File Metadata - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1009,6 +1025,10 @@ Delete File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/files/delete.md b/content/en/api/java/beta/files/delete.md index a79d4d8d4b..369b1d4843 100644 --- a/content/en/api/java/beta/files/delete.md +++ b/content/en/api/java/beta/files/delete.md @@ -127,6 +127,10 @@ Delete File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/files/download.md b/content/en/api/java/beta/files/download.md index 441073cd72..2136e3e626 100644 --- a/content/en/api/java/beta/files/download.md +++ b/content/en/api/java/beta/files/download.md @@ -127,6 +127,10 @@ Download File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/files/list.md b/content/en/api/java/beta/files/list.md index f3ceb75262..bbc9954e75 100644 --- a/content/en/api/java/beta/files/list.md +++ b/content/en/api/java/beta/files/list.md @@ -143,6 +143,10 @@ List Files - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/files/retrieve_metadata.md b/content/en/api/java/beta/files/retrieve_metadata.md index 2397b9999c..8ef0d40baa 100644 --- a/content/en/api/java/beta/files/retrieve_metadata.md +++ b/content/en/api/java/beta/files/retrieve_metadata.md @@ -127,6 +127,10 @@ Get File Metadata - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/files/upload.md b/content/en/api/java/beta/files/upload.md index 56a10cac78..180d666af9 100644 --- a/content/en/api/java/beta/files/upload.md +++ b/content/en/api/java/beta/files/upload.md @@ -123,6 +123,10 @@ Upload File - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores.md b/content/en/api/java/beta/memory_stores.md index f7938c244d..b28c8f9fd6 100644 --- a/content/en/api/java/beta/memory_stores.md +++ b/content/en/api/java/beta/memory_stores.md @@ -125,6 +125,10 @@ Create a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -390,6 +394,10 @@ List Memory Stores - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -611,6 +619,10 @@ Retrieve a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -831,6 +843,10 @@ Update a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1071,6 +1087,10 @@ Delete a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1245,6 +1265,10 @@ Archive a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1535,6 +1559,10 @@ Create a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1818,6 +1846,10 @@ List Memories - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2081,6 +2113,10 @@ Retrieve a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2327,6 +2363,10 @@ Update a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2591,6 +2631,10 @@ Delete a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2825,6 +2869,10 @@ List Memory Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3155,6 +3203,10 @@ Retrieve a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3478,6 +3530,10 @@ Redact a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/archive.md b/content/en/api/java/beta/memory_stores/archive.md index 018e73f463..aa7cf3b352 100644 --- a/content/en/api/java/beta/memory_stores/archive.md +++ b/content/en/api/java/beta/memory_stores/archive.md @@ -129,6 +129,10 @@ Archive a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/create.md b/content/en/api/java/beta/memory_stores/create.md index fa7eb6ce69..0f0a220ee1 100644 --- a/content/en/api/java/beta/memory_stores/create.md +++ b/content/en/api/java/beta/memory_stores/create.md @@ -123,6 +123,10 @@ Create a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/delete.md b/content/en/api/java/beta/memory_stores/delete.md index 7178439bee..d381de4da9 100644 --- a/content/en/api/java/beta/memory_stores/delete.md +++ b/content/en/api/java/beta/memory_stores/delete.md @@ -129,6 +129,10 @@ Delete a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/list.md b/content/en/api/java/beta/memory_stores/list.md index 30226684fe..5b3db21e17 100644 --- a/content/en/api/java/beta/memory_stores/list.md +++ b/content/en/api/java/beta/memory_stores/list.md @@ -149,6 +149,10 @@ List Memory Stores - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memories.md b/content/en/api/java/beta/memory_stores/memories.md index 307114bc3a..ddfd47ff60 100644 --- a/content/en/api/java/beta/memory_stores/memories.md +++ b/content/en/api/java/beta/memory_stores/memories.md @@ -135,6 +135,10 @@ Create a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -418,6 +422,10 @@ List Memories - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -681,6 +689,10 @@ Retrieve a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -927,6 +939,10 @@ Update a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1191,6 +1207,10 @@ Delete a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memories/create.md b/content/en/api/java/beta/memory_stores/memories/create.md index 0e7009c582..4dc8c7a1f1 100644 --- a/content/en/api/java/beta/memory_stores/memories/create.md +++ b/content/en/api/java/beta/memory_stores/memories/create.md @@ -133,6 +133,10 @@ Create a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memories/delete.md b/content/en/api/java/beta/memory_stores/memories/delete.md index 04a60d78b3..4e12e46d4a 100644 --- a/content/en/api/java/beta/memory_stores/memories/delete.md +++ b/content/en/api/java/beta/memory_stores/memories/delete.md @@ -137,6 +137,10 @@ Delete a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memories/list.md b/content/en/api/java/beta/memory_stores/memories/list.md index 9fa53be878..295bf369cb 100644 --- a/content/en/api/java/beta/memory_stores/memories/list.md +++ b/content/en/api/java/beta/memory_stores/memories/list.md @@ -159,6 +159,10 @@ List Memories - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memories/retrieve.md b/content/en/api/java/beta/memory_stores/memories/retrieve.md index 251bf52ffd..ee9b3b3e0a 100644 --- a/content/en/api/java/beta/memory_stores/memories/retrieve.md +++ b/content/en/api/java/beta/memory_stores/memories/retrieve.md @@ -137,6 +137,10 @@ Retrieve a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memories/update.md b/content/en/api/java/beta/memory_stores/memories/update.md index 25e37ce831..1426c767fa 100644 --- a/content/en/api/java/beta/memory_stores/memories/update.md +++ b/content/en/api/java/beta/memory_stores/memories/update.md @@ -137,6 +137,10 @@ Update a Memory - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memory_versions.md b/content/en/api/java/beta/memory_stores/memory_versions.md index 81d5922a14..cea75a0641 100644 --- a/content/en/api/java/beta/memory_stores/memory_versions.md +++ b/content/en/api/java/beta/memory_stores/memory_versions.md @@ -181,6 +181,10 @@ List Memory Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -511,6 +515,10 @@ Retrieve a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -834,6 +842,10 @@ Redact a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memory_versions/list.md b/content/en/api/java/beta/memory_stores/memory_versions/list.md index 7ff6514bf0..c843a4463a 100644 --- a/content/en/api/java/beta/memory_stores/memory_versions/list.md +++ b/content/en/api/java/beta/memory_stores/memory_versions/list.md @@ -179,6 +179,10 @@ List Memory Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memory_versions/redact.md b/content/en/api/java/beta/memory_stores/memory_versions/redact.md index 4ac3968d6b..4fa538c43e 100644 --- a/content/en/api/java/beta/memory_stores/memory_versions/redact.md +++ b/content/en/api/java/beta/memory_stores/memory_versions/redact.md @@ -131,6 +131,10 @@ Redact a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/memory_versions/retrieve.md b/content/en/api/java/beta/memory_stores/memory_versions/retrieve.md index b1625e4333..09366477a4 100644 --- a/content/en/api/java/beta/memory_stores/memory_versions/retrieve.md +++ b/content/en/api/java/beta/memory_stores/memory_versions/retrieve.md @@ -137,6 +137,10 @@ Retrieve a Memory Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/retrieve.md b/content/en/api/java/beta/memory_stores/retrieve.md index e848b21ccf..f744278c8a 100644 --- a/content/en/api/java/beta/memory_stores/retrieve.md +++ b/content/en/api/java/beta/memory_stores/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/memory_stores/update.md b/content/en/api/java/beta/memory_stores/update.md index 81eb508c6f..8e0518a2e4 100644 --- a/content/en/api/java/beta/memory_stores/update.md +++ b/content/en/api/java/beta/memory_stores/update.md @@ -129,6 +129,10 @@ Update a Memory Store - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages.md b/content/en/api/java/beta/messages.md index 06813d2da4..3abd37c674 100644 --- a/content/en/api/java/beta/messages.md +++ b/content/en/api/java/beta/messages.md @@ -129,6 +129,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -3770,6 +3774,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=java#configuring-thinking) for each model's behavior. + - `Optional thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `Optional toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -8189,6 +8197,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -49658,6 +49670,28 @@ public final class Main { - `MAX("max")` +### Beta Message Thread Param + +- `class BetaMessageThreadParam: union` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonValue type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonValue type = "continue"` + + - `String previousMessageId` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `class BetaMessageTokensCount` @@ -72289,6 +72323,26 @@ public final class Main { minimum: 1 +### Beta Thread Continue Params + +- `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonValue type = "continue"` + + - `String previousMessageId` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonValue type = "create"` + ### Beta Token Task Budget - `class BetaTokenTaskBudget` @@ -87851,6 +87905,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -91804,6 +91862,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `Optional thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonValue type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonValue type = "continue"` + + - `String previousMessageId` + + The `id` of the previous response in this Thread. + - `Optional toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -92286,6 +92364,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -92572,6 +92654,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -92855,6 +92941,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -93131,6 +93221,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -93309,6 +93403,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages/batches.md b/content/en/api/java/beta/messages/batches.md index 4a2c1c2668..c2f4c1dcf5 100644 --- a/content/en/api/java/beta/messages/batches.md +++ b/content/en/api/java/beta/messages/batches.md @@ -129,6 +129,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4082,6 +4086,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `Optional thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonValue type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonValue type = "continue"` + + - `String previousMessageId` + + The `id` of the previous response in this Thread. + - `Optional toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4564,6 +4588,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4850,6 +4878,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5133,6 +5165,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5409,6 +5445,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5587,6 +5627,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages/batches/cancel.md b/content/en/api/java/beta/messages/batches/cancel.md index 380ab7ed91..6ea0c12d16 100644 --- a/content/en/api/java/beta/messages/batches/cancel.md +++ b/content/en/api/java/beta/messages/batches/cancel.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages/batches/create.md b/content/en/api/java/beta/messages/batches/create.md index af441c2f3b..ba921cf3ef 100644 --- a/content/en/api/java/beta/messages/batches/create.md +++ b/content/en/api/java/beta/messages/batches/create.md @@ -127,6 +127,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4080,6 +4084,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `Optional thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `JsonValue type = "create"` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `JsonValue type = "continue"` + + - `String previousMessageId` + + The `id` of the previous response in this Thread. + - `Optional toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. diff --git a/content/en/api/java/beta/messages/batches/delete.md b/content/en/api/java/beta/messages/batches/delete.md index cb57c266d1..42192cdc3f 100644 --- a/content/en/api/java/beta/messages/batches/delete.md +++ b/content/en/api/java/beta/messages/batches/delete.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages/batches/list.md b/content/en/api/java/beta/messages/batches/list.md index e6c5db7035..a7d58412cd 100644 --- a/content/en/api/java/beta/messages/batches/list.md +++ b/content/en/api/java/beta/messages/batches/list.md @@ -141,6 +141,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages/batches/results.md b/content/en/api/java/beta/messages/batches/results.md index ddc261fdf8..1a75393139 100644 --- a/content/en/api/java/beta/messages/batches/results.md +++ b/content/en/api/java/beta/messages/batches/results.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages/batches/retrieve.md b/content/en/api/java/beta/messages/batches/retrieve.md index e54acbe409..097746a88a 100644 --- a/content/en/api/java/beta/messages/batches/retrieve.md +++ b/content/en/api/java/beta/messages/batches/retrieve.md @@ -129,6 +129,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/messages/count_tokens.md b/content/en/api/java/beta/messages/count_tokens.md index 807f7597f0..ecca2de1ee 100644 --- a/content/en/api/java/beta/messages/count_tokens.md +++ b/content/en/api/java/beta/messages/count_tokens.md @@ -127,6 +127,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/java/beta/messages/create.md b/content/en/api/java/beta/messages/create.md index 46927f5292..0f36ab8c25 100644 --- a/content/en/api/java/beta/messages/create.md +++ b/content/en/api/java/beta/messages/create.md @@ -127,6 +127,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional userProfileId` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -3768,6 +3772,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=java#configuring-thinking) for each model's behavior. + - `Optional thread` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `Optional toolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. diff --git a/content/en/api/java/beta/models.md b/content/en/api/java/beta/models.md index 67174b72ae..291f083c36 100644 --- a/content/en/api/java/beta/models.md +++ b/content/en/api/java/beta/models.md @@ -155,6 +155,10 @@ The Models API response can be used to determine which models are available for - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -490,7 +494,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -629,6 +633,10 @@ The Models API response can be used to determine information about a specific mo - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -962,7 +970,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/java/beta/models/list.md b/content/en/api/java/beta/models/list.md index 2c6bcc8bb1..7b641cf1a3 100644 --- a/content/en/api/java/beta/models/list.md +++ b/content/en/api/java/beta/models/list.md @@ -153,6 +153,10 @@ The Models API response can be used to determine which models are available for - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -488,7 +492,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/java/beta/models/retrieve.md b/content/en/api/java/beta/models/retrieve.md index b75426bff9..9f59808226 100644 --- a/content/en/api/java/beta/models/retrieve.md +++ b/content/en/api/java/beta/models/retrieve.md @@ -129,6 +129,10 @@ The Models API response can be used to determine information about a specific mo - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -462,7 +466,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/java/beta/sessions.md b/content/en/api/java/beta/sessions.md index 6c7eebcc98..825d76a7a8 100644 --- a/content/en/api/java/beta/sessions.md +++ b/content/en/api/java/beta/sessions.md @@ -125,6 +125,10 @@ Create Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2810,6 +2814,10 @@ List Sessions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4305,6 +4313,10 @@ Get Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5794,6 +5806,10 @@ Update Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7305,6 +7321,10 @@ Delete Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7473,6 +7493,10 @@ Archive Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19252,6 +19276,10 @@ List Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -22357,6 +22385,10 @@ Send Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23348,6 +23380,10 @@ Stream Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26490,6 +26526,10 @@ Add Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26695,6 +26735,10 @@ List Session Resources - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26982,6 +27026,10 @@ Get Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27262,6 +27310,10 @@ Update Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27549,6 +27601,10 @@ Delete Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27747,6 +27803,10 @@ List Session Threads - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28832,6 +28892,10 @@ Get Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29916,6 +29980,10 @@ Archive Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31008,6 +31076,10 @@ List Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34127,6 +34199,10 @@ Stream Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/archive.md b/content/en/api/java/beta/sessions/archive.md index 092b33b8f7..4971de64a4 100644 --- a/content/en/api/java/beta/sessions/archive.md +++ b/content/en/api/java/beta/sessions/archive.md @@ -125,6 +125,10 @@ Archive Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/create.md b/content/en/api/java/beta/sessions/create.md index 8fc7fb94b4..3743b9b8aa 100644 --- a/content/en/api/java/beta/sessions/create.md +++ b/content/en/api/java/beta/sessions/create.md @@ -123,6 +123,10 @@ Create Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/delete.md b/content/en/api/java/beta/sessions/delete.md index aeb0f85e98..e818656e46 100644 --- a/content/en/api/java/beta/sessions/delete.md +++ b/content/en/api/java/beta/sessions/delete.md @@ -125,6 +125,10 @@ Delete Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/events.md b/content/en/api/java/beta/sessions/events.md index 0f7e8d8296..a0c85af647 100644 --- a/content/en/api/java/beta/sessions/events.md +++ b/content/en/api/java/beta/sessions/events.md @@ -253,6 +253,10 @@ List Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3358,6 +3362,10 @@ Send Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4349,6 +4357,10 @@ Stream Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/events/list.md b/content/en/api/java/beta/sessions/events/list.md index b5c6aad019..6751cc6601 100644 --- a/content/en/api/java/beta/sessions/events/list.md +++ b/content/en/api/java/beta/sessions/events/list.md @@ -251,6 +251,10 @@ List Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/events/send.md b/content/en/api/java/beta/sessions/events/send.md index dd5d0848d6..8051c8d482 100644 --- a/content/en/api/java/beta/sessions/events/send.md +++ b/content/en/api/java/beta/sessions/events/send.md @@ -125,6 +125,10 @@ Send Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/events/stream.md b/content/en/api/java/beta/sessions/events/stream.md index 2c236d3bbd..1deec9f570 100644 --- a/content/en/api/java/beta/sessions/events/stream.md +++ b/content/en/api/java/beta/sessions/events/stream.md @@ -133,6 +133,10 @@ Stream Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/list.md b/content/en/api/java/beta/sessions/list.md index df66c055dd..11865f0f02 100644 --- a/content/en/api/java/beta/sessions/list.md +++ b/content/en/api/java/beta/sessions/list.md @@ -207,6 +207,10 @@ List Sessions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/resources.md b/content/en/api/java/beta/sessions/resources.md index 8d60a0218d..0c0f675969 100644 --- a/content/en/api/java/beta/sessions/resources.md +++ b/content/en/api/java/beta/sessions/resources.md @@ -127,6 +127,10 @@ Add Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -332,6 +336,10 @@ List Session Resources - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -619,6 +627,10 @@ Get Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -899,6 +911,10 @@ Update Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1186,6 +1202,10 @@ Delete Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/resources/add.md b/content/en/api/java/beta/sessions/resources/add.md index 5ee710cad6..68bcbac4d7 100644 --- a/content/en/api/java/beta/sessions/resources/add.md +++ b/content/en/api/java/beta/sessions/resources/add.md @@ -125,6 +125,10 @@ Add Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/resources/delete.md b/content/en/api/java/beta/sessions/resources/delete.md index 7f28e8f37c..1ad17b81a3 100644 --- a/content/en/api/java/beta/sessions/resources/delete.md +++ b/content/en/api/java/beta/sessions/resources/delete.md @@ -127,6 +127,10 @@ Delete Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/resources/list.md b/content/en/api/java/beta/sessions/resources/list.md index 7bffb8544e..ce46a854d1 100644 --- a/content/en/api/java/beta/sessions/resources/list.md +++ b/content/en/api/java/beta/sessions/resources/list.md @@ -135,6 +135,10 @@ List Session Resources - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/resources/retrieve.md b/content/en/api/java/beta/sessions/resources/retrieve.md index f25b0abe1a..b3c540eaa3 100644 --- a/content/en/api/java/beta/sessions/resources/retrieve.md +++ b/content/en/api/java/beta/sessions/resources/retrieve.md @@ -127,6 +127,10 @@ Get Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/resources/update.md b/content/en/api/java/beta/sessions/resources/update.md index 980731f991..30c483b6d9 100644 --- a/content/en/api/java/beta/sessions/resources/update.md +++ b/content/en/api/java/beta/sessions/resources/update.md @@ -127,6 +127,10 @@ Update Session Resource - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/retrieve.md b/content/en/api/java/beta/sessions/retrieve.md index 7c4201542a..d487e6f96e 100644 --- a/content/en/api/java/beta/sessions/retrieve.md +++ b/content/en/api/java/beta/sessions/retrieve.md @@ -125,6 +125,10 @@ Get Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/threads.md b/content/en/api/java/beta/sessions/threads.md index 5e2e5890ae..57adc77f72 100644 --- a/content/en/api/java/beta/sessions/threads.md +++ b/content/en/api/java/beta/sessions/threads.md @@ -151,6 +151,10 @@ List Session Threads - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1236,6 +1240,10 @@ Get Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2320,6 +2328,10 @@ Archive Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7956,6 +7968,10 @@ List Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -11075,6 +11091,10 @@ Stream Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/threads/archive.md b/content/en/api/java/beta/sessions/threads/archive.md index fcd8c0f2c4..7653cc7e79 100644 --- a/content/en/api/java/beta/sessions/threads/archive.md +++ b/content/en/api/java/beta/sessions/threads/archive.md @@ -127,6 +127,10 @@ Archive Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/threads/events.md b/content/en/api/java/beta/sessions/threads/events.md index 735279ba2c..cce15a88c4 100644 --- a/content/en/api/java/beta/sessions/threads/events.md +++ b/content/en/api/java/beta/sessions/threads/events.md @@ -135,6 +135,10 @@ List Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3254,6 +3258,10 @@ Stream Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/threads/events/list.md b/content/en/api/java/beta/sessions/threads/events/list.md index ce22b2314f..0591a21565 100644 --- a/content/en/api/java/beta/sessions/threads/events/list.md +++ b/content/en/api/java/beta/sessions/threads/events/list.md @@ -133,6 +133,10 @@ List Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/threads/events/stream.md b/content/en/api/java/beta/sessions/threads/events/stream.md index 4d2e2c8900..aa3ad34783 100644 --- a/content/en/api/java/beta/sessions/threads/events/stream.md +++ b/content/en/api/java/beta/sessions/threads/events/stream.md @@ -135,6 +135,10 @@ Stream Session Thread Events - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/threads/list.md b/content/en/api/java/beta/sessions/threads/list.md index 53306f17af..ca4593de3d 100644 --- a/content/en/api/java/beta/sessions/threads/list.md +++ b/content/en/api/java/beta/sessions/threads/list.md @@ -149,6 +149,10 @@ List Session Threads - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/threads/retrieve.md b/content/en/api/java/beta/sessions/threads/retrieve.md index 3605d17e9d..f50a573966 100644 --- a/content/en/api/java/beta/sessions/threads/retrieve.md +++ b/content/en/api/java/beta/sessions/threads/retrieve.md @@ -127,6 +127,10 @@ Get Session Thread - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/sessions/update.md b/content/en/api/java/beta/sessions/update.md index a1df384db1..3f2cc93604 100644 --- a/content/en/api/java/beta/sessions/update.md +++ b/content/en/api/java/beta/sessions/update.md @@ -125,6 +125,10 @@ Update Session - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills.md b/content/en/api/java/beta/skills.md index 115b6b598a..3e61b74497 100644 --- a/content/en/api/java/beta/skills.md +++ b/content/en/api/java/beta/skills.md @@ -125,6 +125,10 @@ Create Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -395,6 +399,10 @@ List Skills - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -637,6 +645,10 @@ Get Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -874,6 +886,10 @@ Delete Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1163,6 +1179,10 @@ Create Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1392,6 +1412,10 @@ List Skill Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1609,6 +1633,10 @@ Download a skill version's content as a zip archive. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1772,6 +1800,10 @@ Get Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1988,6 +2020,10 @@ Delete Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/create.md b/content/en/api/java/beta/skills/create.md index 0c6bedf092..c9f3858dbe 100644 --- a/content/en/api/java/beta/skills/create.md +++ b/content/en/api/java/beta/skills/create.md @@ -123,6 +123,10 @@ Create Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/delete.md b/content/en/api/java/beta/skills/delete.md index 9004e72d65..f0c38759f4 100644 --- a/content/en/api/java/beta/skills/delete.md +++ b/content/en/api/java/beta/skills/delete.md @@ -129,6 +129,10 @@ Delete Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/list.md b/content/en/api/java/beta/skills/list.md index 8e59bcc3b6..fbbbcca6d8 100644 --- a/content/en/api/java/beta/skills/list.md +++ b/content/en/api/java/beta/skills/list.md @@ -146,6 +146,10 @@ List Skills - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/retrieve.md b/content/en/api/java/beta/skills/retrieve.md index f16e040db1..ddeb696146 100644 --- a/content/en/api/java/beta/skills/retrieve.md +++ b/content/en/api/java/beta/skills/retrieve.md @@ -129,6 +129,10 @@ Get Skill - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/versions.md b/content/en/api/java/beta/skills/versions.md index 020bd128db..1904d1b52e 100644 --- a/content/en/api/java/beta/skills/versions.md +++ b/content/en/api/java/beta/skills/versions.md @@ -131,6 +131,10 @@ Create Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -360,6 +364,10 @@ List Skill Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -577,6 +585,10 @@ Download a skill version's content as a zip archive. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -740,6 +752,10 @@ Get Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -956,6 +972,10 @@ Delete Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/versions/create.md b/content/en/api/java/beta/skills/versions/create.md index 14ed271149..6301c4326d 100644 --- a/content/en/api/java/beta/skills/versions/create.md +++ b/content/en/api/java/beta/skills/versions/create.md @@ -129,6 +129,10 @@ Create Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/versions/delete.md b/content/en/api/java/beta/skills/versions/delete.md index cb3ed0116d..d3a724c16d 100644 --- a/content/en/api/java/beta/skills/versions/delete.md +++ b/content/en/api/java/beta/skills/versions/delete.md @@ -135,6 +135,10 @@ Delete Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/versions/download.md b/content/en/api/java/beta/skills/versions/download.md index 0fef6675b5..afe86f0a06 100644 --- a/content/en/api/java/beta/skills/versions/download.md +++ b/content/en/api/java/beta/skills/versions/download.md @@ -135,6 +135,10 @@ Download a skill version's content as a zip archive. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/versions/list.md b/content/en/api/java/beta/skills/versions/list.md index 24bb4bb578..fd4995f495 100644 --- a/content/en/api/java/beta/skills/versions/list.md +++ b/content/en/api/java/beta/skills/versions/list.md @@ -141,6 +141,10 @@ List Skill Versions - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/skills/versions/retrieve.md b/content/en/api/java/beta/skills/versions/retrieve.md index 5402fca647..5a0ca45c43 100644 --- a/content/en/api/java/beta/skills/versions/retrieve.md +++ b/content/en/api/java/beta/skills/versions/retrieve.md @@ -135,6 +135,10 @@ Get Skill Version - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels.md b/content/en/api/java/beta/tunnels.md index c57d12510c..b56089e8f8 100644 --- a/content/en/api/java/beta/tunnels.md +++ b/content/en/api/java/beta/tunnels.md @@ -127,6 +127,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -331,6 +335,10 @@ Fetches a tunnel by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -539,6 +547,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -742,6 +754,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -940,6 +956,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1119,6 +1139,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1356,6 +1380,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1575,6 +1603,10 @@ Fetches a tunnel certificate by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1798,6 +1830,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2012,6 +2048,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/archive.md b/content/en/api/java/beta/tunnels/archive.md index b2aac5676a..ec59615ed0 100644 --- a/content/en/api/java/beta/tunnels/archive.md +++ b/content/en/api/java/beta/tunnels/archive.md @@ -129,6 +129,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/certificates.md b/content/en/api/java/beta/tunnels/certificates.md index f7f5bcd55d..4fb5d12176 100644 --- a/content/en/api/java/beta/tunnels/certificates.md +++ b/content/en/api/java/beta/tunnels/certificates.md @@ -131,6 +131,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -350,6 +354,10 @@ Fetches a tunnel certificate by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -573,6 +581,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -787,6 +799,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/certificates/archive.md b/content/en/api/java/beta/tunnels/certificates/archive.md index 70cc61cd35..e4ea616853 100644 --- a/content/en/api/java/beta/tunnels/certificates/archive.md +++ b/content/en/api/java/beta/tunnels/certificates/archive.md @@ -133,6 +133,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/certificates/create.md b/content/en/api/java/beta/tunnels/certificates/create.md index e0d2a48bf6..1cd58b36ad 100644 --- a/content/en/api/java/beta/tunnels/certificates/create.md +++ b/content/en/api/java/beta/tunnels/certificates/create.md @@ -129,6 +129,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/certificates/list.md b/content/en/api/java/beta/tunnels/certificates/list.md index ef4eb4742a..e80ca3d88b 100644 --- a/content/en/api/java/beta/tunnels/certificates/list.md +++ b/content/en/api/java/beta/tunnels/certificates/list.md @@ -143,6 +143,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/certificates/retrieve.md b/content/en/api/java/beta/tunnels/certificates/retrieve.md index 06d56f6c35..3d3d73b439 100644 --- a/content/en/api/java/beta/tunnels/certificates/retrieve.md +++ b/content/en/api/java/beta/tunnels/certificates/retrieve.md @@ -133,6 +133,10 @@ Fetches a tunnel certificate by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/create.md b/content/en/api/java/beta/tunnels/create.md index 61801f281a..e9b3cd5826 100644 --- a/content/en/api/java/beta/tunnels/create.md +++ b/content/en/api/java/beta/tunnels/create.md @@ -125,6 +125,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/list.md b/content/en/api/java/beta/tunnels/list.md index 80dd206fa4..91c262c2c3 100644 --- a/content/en/api/java/beta/tunnels/list.md +++ b/content/en/api/java/beta/tunnels/list.md @@ -139,6 +139,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/retrieve.md b/content/en/api/java/beta/tunnels/retrieve.md index 56fa292c3d..3342321e72 100644 --- a/content/en/api/java/beta/tunnels/retrieve.md +++ b/content/en/api/java/beta/tunnels/retrieve.md @@ -129,6 +129,10 @@ Fetches a tunnel by ID. - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/reveal_token.md b/content/en/api/java/beta/tunnels/reveal_token.md index 44f76edc06..fb9715ef15 100644 --- a/content/en/api/java/beta/tunnels/reveal_token.md +++ b/content/en/api/java/beta/tunnels/reveal_token.md @@ -129,6 +129,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/tunnels/rotate_token.md b/content/en/api/java/beta/tunnels/rotate_token.md index b2d4905c82..aac296c7f6 100644 --- a/content/en/api/java/beta/tunnels/rotate_token.md +++ b/content/en/api/java/beta/tunnels/rotate_token.md @@ -129,6 +129,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/user_profiles.md b/content/en/api/java/beta/user_profiles.md index e20557069a..03c4a83930 100644 --- a/content/en/api/java/beta/user_profiles.md +++ b/content/en/api/java/beta/user_profiles.md @@ -125,6 +125,10 @@ Create User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -502,6 +506,10 @@ List User Profiles - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -814,6 +822,10 @@ Get User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1121,6 +1133,10 @@ Update User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1466,6 +1482,10 @@ Delete User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1638,6 +1658,10 @@ Create Enrollment URL - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2113,6 +2137,10 @@ Create Action URL - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/user_profiles/create.md b/content/en/api/java/beta/user_profiles/create.md index bbb557ebfb..22393cd94c 100644 --- a/content/en/api/java/beta/user_profiles/create.md +++ b/content/en/api/java/beta/user_profiles/create.md @@ -123,6 +123,10 @@ Create User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/user_profiles/create_enrollment_url.md b/content/en/api/java/beta/user_profiles/create_enrollment_url.md index 4fd0629c92..6971c2ac0b 100644 --- a/content/en/api/java/beta/user_profiles/create_enrollment_url.md +++ b/content/en/api/java/beta/user_profiles/create_enrollment_url.md @@ -127,6 +127,10 @@ Create Enrollment URL - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/user_profiles/list.md b/content/en/api/java/beta/user_profiles/list.md index cbc0f38597..3a33d80a4c 100644 --- a/content/en/api/java/beta/user_profiles/list.md +++ b/content/en/api/java/beta/user_profiles/list.md @@ -159,6 +159,10 @@ List User Profiles - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/user_profiles/retrieve.md b/content/en/api/java/beta/user_profiles/retrieve.md index bd5afe1ea3..317255600a 100644 --- a/content/en/api/java/beta/user_profiles/retrieve.md +++ b/content/en/api/java/beta/user_profiles/retrieve.md @@ -127,6 +127,10 @@ Get User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/user_profiles/update.md b/content/en/api/java/beta/user_profiles/update.md index 76c642bf3e..e5c2198679 100644 --- a/content/en/api/java/beta/user_profiles/update.md +++ b/content/en/api/java/beta/user_profiles/update.md @@ -127,6 +127,10 @@ Update User Profile - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults.md b/content/en/api/java/beta/vaults.md index 654caa052f..86a1885e85 100644 --- a/content/en/api/java/beta/vaults.md +++ b/content/en/api/java/beta/vaults.md @@ -125,6 +125,10 @@ Create a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -353,6 +357,10 @@ List Vaults - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -563,6 +571,10 @@ Retrieve a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -768,6 +780,10 @@ Update a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -983,6 +999,10 @@ Delete a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1155,6 +1175,10 @@ Archive a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1414,6 +1438,10 @@ Create a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1940,6 +1968,10 @@ List Credentials - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2277,6 +2309,10 @@ Retrieve a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2613,6 +2649,10 @@ Update a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3089,6 +3129,10 @@ Delete a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3269,6 +3313,10 @@ Archive a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3605,6 +3653,10 @@ Validate an MCP OAuth Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/archive.md b/content/en/api/java/beta/vaults/archive.md index bf264d5e01..92711e2e00 100644 --- a/content/en/api/java/beta/vaults/archive.md +++ b/content/en/api/java/beta/vaults/archive.md @@ -127,6 +127,10 @@ Archive a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/create.md b/content/en/api/java/beta/vaults/create.md index 53067eae2c..a9abe406fe 100644 --- a/content/en/api/java/beta/vaults/create.md +++ b/content/en/api/java/beta/vaults/create.md @@ -123,6 +123,10 @@ Create a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials.md b/content/en/api/java/beta/vaults/credentials.md index 0824561b0e..9c0ee4b153 100644 --- a/content/en/api/java/beta/vaults/credentials.md +++ b/content/en/api/java/beta/vaults/credentials.md @@ -129,6 +129,10 @@ Create a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -655,6 +659,10 @@ List Credentials - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -992,6 +1000,10 @@ Retrieve a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1328,6 +1340,10 @@ Update a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1804,6 +1820,10 @@ Delete a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1984,6 +2004,10 @@ Archive a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2320,6 +2344,10 @@ Validate an MCP OAuth Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials/archive.md b/content/en/api/java/beta/vaults/credentials/archive.md index 5c375d690c..3173e23812 100644 --- a/content/en/api/java/beta/vaults/credentials/archive.md +++ b/content/en/api/java/beta/vaults/credentials/archive.md @@ -131,6 +131,10 @@ Archive a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials/create.md b/content/en/api/java/beta/vaults/credentials/create.md index 15db1b6099..0383d9008f 100644 --- a/content/en/api/java/beta/vaults/credentials/create.md +++ b/content/en/api/java/beta/vaults/credentials/create.md @@ -127,6 +127,10 @@ Create a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials/delete.md b/content/en/api/java/beta/vaults/credentials/delete.md index ffbfa92df7..b7fed414bc 100644 --- a/content/en/api/java/beta/vaults/credentials/delete.md +++ b/content/en/api/java/beta/vaults/credentials/delete.md @@ -131,6 +131,10 @@ Delete a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials/list.md b/content/en/api/java/beta/vaults/credentials/list.md index 6442374c76..055184dc56 100644 --- a/content/en/api/java/beta/vaults/credentials/list.md +++ b/content/en/api/java/beta/vaults/credentials/list.md @@ -141,6 +141,10 @@ List Credentials - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/java/beta/vaults/credentials/mcp_oauth_validate.md index 3b41329498..7068fd64b9 100644 --- a/content/en/api/java/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/java/beta/vaults/credentials/mcp_oauth_validate.md @@ -131,6 +131,10 @@ Validate an MCP OAuth Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials/retrieve.md b/content/en/api/java/beta/vaults/credentials/retrieve.md index c8e82e2481..7c42f1884a 100644 --- a/content/en/api/java/beta/vaults/credentials/retrieve.md +++ b/content/en/api/java/beta/vaults/credentials/retrieve.md @@ -131,6 +131,10 @@ Retrieve a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/credentials/update.md b/content/en/api/java/beta/vaults/credentials/update.md index c973678f86..ac8edec6e6 100644 --- a/content/en/api/java/beta/vaults/credentials/update.md +++ b/content/en/api/java/beta/vaults/credentials/update.md @@ -131,6 +131,10 @@ Update a Credential - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/delete.md b/content/en/api/java/beta/vaults/delete.md index 550389c321..c29a86c46f 100644 --- a/content/en/api/java/beta/vaults/delete.md +++ b/content/en/api/java/beta/vaults/delete.md @@ -127,6 +127,10 @@ Delete a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/list.md b/content/en/api/java/beta/vaults/list.md index c78cd14efd..313ec22fb1 100644 --- a/content/en/api/java/beta/vaults/list.md +++ b/content/en/api/java/beta/vaults/list.md @@ -137,6 +137,10 @@ List Vaults - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/retrieve.md b/content/en/api/java/beta/vaults/retrieve.md index 762552508b..ee9a4a4e5c 100644 --- a/content/en/api/java/beta/vaults/retrieve.md +++ b/content/en/api/java/beta/vaults/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/beta/vaults/update.md b/content/en/api/java/beta/vaults/update.md index 5d01a8d3a3..2340a67e27 100644 --- a/content/en/api/java/beta/vaults/update.md +++ b/content/en/api/java/beta/vaults/update.md @@ -127,6 +127,10 @@ Update a Vault - `WEBHOOKS_2026_10_07("webhooks-2026-10-07")` + - `MESSAGE_THREADS_2026_08_12("message-threads-2026-08-12")` + + - `ANALYTICS_USAGE_COST_2026_08_24("analytics-usage-cost-2026-08-24")` + - `Optional workspaceId` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/java/completions.md b/content/en/api/java/completions.md index 4b9980f7f1..7831a9bf3a 100644 --- a/content/en/api/java/completions.md +++ b/content/en/api/java/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/java/completions/create.md b/content/en/api/java/completions/create.md index 1ab19e8903..41020a1146 100644 --- a/content/en/api/java/completions/create.md +++ b/content/en/api/java/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/java/models.md b/content/en/api/java/models.md index 388d09d5f1..c535b20a4b 100644 --- a/content/en/api/java/models.md +++ b/content/en/api/java/models.md @@ -357,7 +357,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -696,7 +696,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/java/models/list.md b/content/en/api/java/models/list.md index babeff2fa7..f7884f0421 100644 --- a/content/en/api/java/models/list.md +++ b/content/en/api/java/models/list.md @@ -355,7 +355,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/java/models/retrieve.md b/content/en/api/java/models/retrieve.md index c7a2990aed..5ce2bbb0df 100644 --- a/content/en/api/java/models/retrieve.md +++ b/content/en/api/java/models/retrieve.md @@ -329,7 +329,7 @@ public final class Main { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/models.md b/content/en/api/models.md index 1aab680224..f2909089c2 100644 --- a/content/en/api/models.md +++ b/content/en/api/models.md @@ -364,7 +364,7 @@ curl https://api.anthropic.com/v1/models \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -698,7 +698,7 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/models/list.md b/content/en/api/models/list.md index 6cb126c9ac..43a40b9a7d 100644 --- a/content/en/api/models/list.md +++ b/content/en/api/models/list.md @@ -362,7 +362,7 @@ curl https://api.anthropic.com/v1/models \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/models/retrieve.md b/content/en/api/models/retrieve.md index 2e9f0302ba..9f10b6b326 100644 --- a/content/en/api/models/retrieve.md +++ b/content/en/api/models/retrieve.md @@ -324,7 +324,7 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/opentelemetry/spans.md b/content/en/api/opentelemetry/spans.md index 7c9a27488b..e612a3f0a5 100644 --- a/content/en/api/opentelemetry/spans.md +++ b/content/en/api/opentelemetry/spans.md @@ -120,7 +120,7 @@ Each Managed Agents tool use or tool result event also becomes one GenAI convent ### Token usage -The following spans have token usage attributes: [`anthropic.messages.create`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-messages-create), [`anthropic.model_request`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-model-request), [`anthropic.compaction`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-compaction), and [`anthropic.session.outcome_evaluation`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-session-outcome-evaluation). The values are for each span’s step, for example the request, the model request, or the compaction. To count each token once, see [how to count tokens in the guide](https://platform.claude.com/docs/en/manage-claude/opentelemetry#count-tokens). +The following spans have token usage attributes: [`anthropic.messages.create`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-messages-create), [`anthropic.model_request`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-model-request), [`anthropic.compaction`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-compaction), and [`anthropic.session.outcome_evaluation`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-session-outcome-evaluation). The values are for each span’s step, for example the request, the model request, or the compaction. On the API spans for a Messages API request, the token counts are the tokens that your organization is billed for, even when the request fails or the application cancels it. The SDK’s `anthropic.messages.create` span has the counts that the response reports instead, so for a failed or canceled request they can be lower than on the API span, or absent. To count each token once, see [how to count tokens in the guide](https://platform.claude.com/docs/en/manage-claude/opentelemetry#count-tokens). | Attribute | Type | Description | | ---------------------------------------------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -162,9 +162,9 @@ The span has the [token usage attributes](https://platform.claude.com/docs/en/ap | `anthropic.response.service_tier` | `string` | The service tier that served the request: the response’s [`usage.service_tier`](https://platform.claude.com/docs/en/api/messages#usage). See [how requests get assigned tiers](https://platform.claude.com/docs/en/api/service-tiers#how-requests-get-assigned-tiers). | | `error.type` | `string` | A failed request’s [error type](https://platform.claude.com/docs/en/api/errors#http-errors), for example `rate_limit_error`.
**SDK:** Also the other values in [SDK spans for requests](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-resources-method).
**API:** `api_error` when the API ends the request without an error response. | | `gen_ai.response.time_to_first_chunk` | `double` | Only on a streaming response’s spans. The seconds to the stream’s first `content_block_delta` event, if it has one. | -| `gen_ai.usage.reasoning.output_tokens` | `int` | The response’s thinking tokens. They are part of the output tokens. Absent when the response’s usage doesn’t have details for the output tokens. | -| `anthropic.usage.compaction.input_tokens` | `int` | Input tokens of the request’s [compactions](https://platform.claude.com/docs/en/build-with-claude/compaction), including cache reads and writes. Not part of `gen_ai.usage.input_tokens`. Absent when the response has no compaction. | -| `anthropic.usage.compaction.output_tokens` | `int` | Output tokens of the request’s compactions. Not part of `gen_ai.usage.output_tokens`. Absent when the response has no compaction. | +| `gen_ai.usage.reasoning.output_tokens` | `int` | The thinking tokens, which are part of the output tokens. Absent when the thinking tokens aren’t counted separately from the other output tokens, for example on a model whose responses don’t have details for the output tokens. | +| `anthropic.usage.compaction.input_tokens` | `int` | Input tokens of the request’s [compactions](https://platform.claude.com/docs/en/build-with-claude/compaction), including cache reads and writes. Not part of `gen_ai.usage.input_tokens`. Absent when the request has no compaction. | +| `anthropic.usage.compaction.output_tokens` | `int` | Output tokens of the request’s compactions. Not part of `gen_ai.usage.output_tokens`. Absent when the request has no compaction. | | `gen_ai.request.max_tokens` | `int` | The request’s [`max_tokens`](https://platform.claude.com/docs/en/api/messages/create#create.max_tokens). | | `gen_ai.request.temperature` | `double` | The request’s [`temperature`](https://platform.claude.com/docs/en/api/messages/create?version=2023-06-01#create.temperature). Absent when the request doesn’t set it. | | `gen_ai.request.top_p` | `double` | The request’s [`top_p`](https://platform.claude.com/docs/en/api/messages/create?version=2023-06-01#create.top_p). Absent when the request doesn’t set it. | @@ -342,9 +342,11 @@ The API doesn’t emit a tool span in the following cases: The span has the compaction’s [token usage attributes](https://platform.claude.com/docs/en/api/opentelemetry/spans#token-usage). On [`anthropic.messages.create`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-messages-create), a compaction’s usage is in the `anthropic.usage.compaction.*` attributes instead of the `gen_ai.usage.*` totals. -| Attribute | Type | Description | -| ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| `error.type` | `string` | The request’s [error type](https://platform.claude.com/docs/en/api/errors#http-errors), if the request failed during the compaction. | +| Attribute | Type | Description | +| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `gen_ai.request.model` | `string` | The model requested for the compaction, which is the request’s [`model`](https://platform.claude.com/docs/en/api/messages/create#create.model). | +| `gen_ai.response.model` | `string` | The model that ran the compaction. It differs from `gen_ai.request.model` when the request uses a model alias, or when a [fallback model](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback) served the request. | +| `error.type` | `string` | The request’s [error type](https://platform.claude.com/docs/en/api/errors#http-errors), if the request failed during the compaction. | ### `anthropic.session.outcome_evaluation` diff --git a/content/en/api/php/beta.md b/content/en/api/php/beta.md index 4d8f8cdc9d..d5490b360a 100644 --- a/content/en/api/php/beta.md +++ b/content/en/api/php/beta.md @@ -117,6 +117,10 @@ url: https://platform.claude.com/docs/en/api/php/beta - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Beta API Error - `class BetaAPIError` @@ -495,7 +499,7 @@ var_dump($page); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -707,7 +711,7 @@ var_dump($betaModelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -719,7 +723,7 @@ var_dump($betaModelInfo); ### Create a Message -`$client->beta->messages->create(int maxTokens, list messages, Model model, ?BetaCacheControlEphemeral cacheControl, ?BetaCompactionConfig compaction, ?Container container, ?BetaContextManagementConfig contextManagement, ?BetaDiagnosticsParam diagnostics, ?FallbackCreditToken fallbackCreditToken, ?BetaFallbacksParam fallbacks, ?string inferenceGeo, ?list mcpServers, ?BetaMetadata metadata, ?BetaOutputConfig outputConfig, ?BetaJSONOutputFormat outputFormat, ?ServiceTier serviceTier, ?Speed speed, ?list stopSequences, ?System system, ?BetaThinkingConfigParam thinking, ?BetaToolChoice toolChoice, ?list tools, ?list betas, ?string userProfileID, ?string workspaceID): BetaMessage` +`$client->beta->messages->create(int maxTokens, list messages, Model model, ?BetaCacheControlEphemeral cacheControl, ?BetaCompactionConfig compaction, ?Container container, ?BetaContextManagementConfig contextManagement, ?BetaDiagnosticsParam diagnostics, ?FallbackCreditToken fallbackCreditToken, ?BetaFallbacksParam fallbacks, ?string inferenceGeo, ?list mcpServers, ?BetaMetadata metadata, ?BetaOutputConfig outputConfig, ?BetaJSONOutputFormat outputFormat, ?ServiceTier serviceTier, ?Speed speed, ?list stopSequences, ?System system, ?BetaThinkingConfigParam thinking, ?BetaMessageThreadParam thread, ?BetaToolChoice toolChoice, ?list tools, ?list betas, ?string userProfileID, ?string workspaceID): BetaMessage` **POST** `/v1/messages` @@ -905,6 +909,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=php#configuring-thinking) for each model's behavior. +- `thread?:optional BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `toolChoice?:optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -1297,6 +1305,7 @@ $betaMessage = $client->beta->messages->create( ], 'display' => 'summarized', ], + thread: ['type' => 'create'], toolChoice: ['type' => 'auto', 'disableParallelToolUse' => true], tools: [ [ @@ -1946,6 +1955,7 @@ $betaMessageBatch = $client->beta->messages->batches->create( ], 'display' => 'summarized', ], + 'thread' => ['type' => 'create'], 'toolChoice' => ['type' => 'auto', 'disableParallelToolUse' => true], 'tools' => [ [ @@ -29591,6 +29601,550 @@ var_dump($page); } ``` +## Beta › Organization › Analytics › Usage + +### Get Token Usage By Dimension + +`$client->beta->organization->analytics->usage->list(\Datetime startingAt, ?list actorIDs, ?list actorTypes, ?list agentIDs, ?list apiKeyIDs, ?list claudeTagCategories, ?list claudeTagUserIDs, ?list contextWindows, ?list deploymentIDs, ?\Datetime endingAt, ?list environmentIDs, ?bool excludeDeletedUsers, ?list groupBy, ?list inferenceGeos, ?int limit, ?list models, ?AnalyticsUsageCostSortOrder order, ?BetaAnalyticsUsageOrderBy orderBy, ?string page, ?list products, ?list rbacGroupIDs, ?list serviceTiers, ?list sessionIDs, ?list slackChannelIDs, ?list speeds, ?AnalyticsTimeBucketWidth timeBucketWidth, ?list userProfileIDs, ?list workspaceIDs, ?list betas): ReportPageCursor` + +**GET** `/v1/organizations/analytics/usage` + +Get token usage across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `startingAt: \Datetime` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + +- `actorIDs?:optional list` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + +- `actorTypes?:optional list` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + +- `agentIDs?:optional list` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + +- `apiKeyIDs?:optional list` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + +- `claudeTagCategories?:optional list` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + +- `claudeTagUserIDs?:optional list` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + +- `contextWindows?:optional list` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + +- `deploymentIDs?:optional list` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + +- `endingAt?:optional \Datetime` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + +- `environmentIDs?:optional list` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + +- `excludeDeletedUsers?:optional bool` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `groupBy?:optional list` (query parameter) + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. + +- `inferenceGeos?:optional list` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + +- `limit?:optional int` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + default: 20 + +- `models?:optional list` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + +- `order?:optional AnalyticsUsageCostSortOrder` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + +- `orderBy?:optional BetaAnalyticsUsageOrderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + +- `page?:optional string` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `products?:optional list` (query parameter) + + Product surfaces to include. Defaults to all products. + +- `rbacGroupIDs?:optional list` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + +- `serviceTiers?:optional list` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + +- `sessionIDs?:optional list` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + +- `slackChannelIDs?:optional list` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + +- `speeds?:optional list` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + +- `timeBucketWidth?:optional AnalyticsTimeBucketWidth` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + +- `userProfileIDs?:optional list` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + +- `workspaceIDs?:optional list` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + +- `betas?:optional list` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + +#### Returns + +- `class BetaAnalyticsUsageItem` + + - `\Datetime endingAt` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + - `BetaAnalyticsUsageGroup group` + + The dimension values this row's usage is broken out by. + + - `\Datetime startingAt` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + - `BetaAnalyticsUsageMetrics usage` + + Token usage for this row. + +#### Example + +```php +beta->organization->analytics->usage->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + actorIDs: ['user_01WCz1FkmYMm4gnmykNKUu3Q'], + actorTypes: [AnalyticsActorType::SERVICE_ACCOUNT_ACTOR], + agentIDs: ['agent_01VHd3EAGJ6PLkP9LM7DDu3f'], + apiKeyIDs: ['apikey_01Rj2N8SVvo6BePZj99NhmiT'], + claudeTagCategories: [AnalyticsClaudeTagCategory::ENGAGED], + claudeTagUserIDs: ['U0123ABCDEF'], + contextWindows: [AnalyticsContextWindow::FROM_0_TO_200K], + deploymentIDs: ['depl_01JFC6ihzZHtAuyHsaENdJhY'], + endingAt: new \DateTimeImmutable('2026-10-01T00:00:00Z'), + environmentIDs: ['env_017oTjuGedHtjhJauVC5xGJD'], + excludeDeletedUsers: true, + groupBy: [BetaAnalyticsUsageGroupBy::ACTOR], + inferenceGeos: [AnalyticsInferenceGeoFilter::GLOBAL], + limit: 1, + models: ['string'], + order: AnalyticsUsageCostSortOrder::ASC, + orderBy: BetaAnalyticsUsageOrderBy::OUTPUT_TOKENS, + page: 'page', + products: [AnalyticsUsageCostProductFilter::CHAT], + rbacGroupIDs: ['rbac_group_012rppKaSVsmTo6NqRDXQXNF'], + serviceTiers: [AnalyticsServiceTier::BATCH], + sessionIDs: ['sesn_0187kPDyNCwibNNvfaPEApCJ'], + slackChannelIDs: ['C0123ABCDEF'], + speeds: [AnalyticsSpeed::FAST], + timeBucketWidth: AnalyticsTimeBucketWidth::DAY, + userProfileIDs: ['uprof_01M33NeYUQK2WV9PpYcsPHLi'], + workspaceIDs: ['wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ'], + betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24], +); + +var_dump($page); +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`$client->beta->organization->analytics->cost->list(\Datetime startingAt, ?list actorIDs, ?list actorTypes, ?list agentIDs, ?list apiKeyIDs, ?list claudeTagCategories, ?list claudeTagUserIDs, ?list contextWindows, ?list deploymentIDs, ?\Datetime endingAt, ?list environmentIDs, ?bool excludeDeletedUsers, ?list groupBy, ?list inferenceGeos, ?int limit, ?list models, ?AnalyticsUsageCostSortOrder order, ?BetaAnalyticsCostOrderBy orderBy, ?string page, ?list products, ?list rbacGroupIDs, ?list serviceTiers, ?list sessionIDs, ?list slackChannelIDs, ?list speeds, ?AnalyticsTimeBucketWidth timeBucketWidth, ?list userProfileIDs, ?list workspaceIDs, ?list betas): ReportPageCursor` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `startingAt: \Datetime` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + +- `actorIDs?:optional list` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + +- `actorTypes?:optional list` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + +- `agentIDs?:optional list` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + +- `apiKeyIDs?:optional list` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + +- `claudeTagCategories?:optional list` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + +- `claudeTagUserIDs?:optional list` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + +- `contextWindows?:optional list` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + +- `deploymentIDs?:optional list` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + +- `endingAt?:optional \Datetime` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + +- `environmentIDs?:optional list` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + +- `excludeDeletedUsers?:optional bool` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `groupBy?:optional list` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + +- `inferenceGeos?:optional list` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + +- `limit?:optional int` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + default: 20 + +- `models?:optional list` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + +- `order?:optional AnalyticsUsageCostSortOrder` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + +- `orderBy?:optional BetaAnalyticsCostOrderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + +- `page?:optional string` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `products?:optional list` (query parameter) + + Product surfaces to include. Defaults to all products. + +- `rbacGroupIDs?:optional list` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + +- `serviceTiers?:optional list` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + +- `sessionIDs?:optional list` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + +- `slackChannelIDs?:optional list` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + +- `speeds?:optional list` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + +- `timeBucketWidth?:optional AnalyticsTimeBucketWidth` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + +- `userProfileIDs?:optional list` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + +- `workspaceIDs?:optional list` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + +- `betas?:optional list` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + +#### Returns + +- `class BetaAnalyticsCostItem` + + - `BetaAnalyticsCostMetrics cost` + + Cost for this row. + + - `\Datetime endingAt` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + - `BetaAnalyticsCostGroup group` + + The dimension values this row's cost is broken out by. + + - `\Datetime startingAt` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + +#### Example + +```php +beta->organization->analytics->cost->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + actorIDs: ['user_01WCz1FkmYMm4gnmykNKUu3Q'], + actorTypes: [AnalyticsActorType::SERVICE_ACCOUNT_ACTOR], + agentIDs: ['agent_01VHd3EAGJ6PLkP9LM7DDu3f'], + apiKeyIDs: ['apikey_01Rj2N8SVvo6BePZj99NhmiT'], + claudeTagCategories: [AnalyticsClaudeTagCategory::ENGAGED], + claudeTagUserIDs: ['U0123ABCDEF'], + contextWindows: [AnalyticsContextWindow::FROM_0_TO_200K], + deploymentIDs: ['depl_01JFC6ihzZHtAuyHsaENdJhY'], + endingAt: new \DateTimeImmutable('2026-10-01T00:00:00Z'), + environmentIDs: ['env_017oTjuGedHtjhJauVC5xGJD'], + excludeDeletedUsers: true, + groupBy: [BetaAnalyticsCostGroupBy::ACTOR], + inferenceGeos: [AnalyticsInferenceGeoFilter::GLOBAL], + limit: 1, + models: ['string'], + order: AnalyticsUsageCostSortOrder::ASC, + orderBy: BetaAnalyticsCostOrderBy::AMOUNT, + page: 'page', + products: [AnalyticsUsageCostProductFilter::CHAT], + rbacGroupIDs: ['rbac_group_012rppKaSVsmTo6NqRDXQXNF'], + serviceTiers: [AnalyticsServiceTier::BATCH], + sessionIDs: ['sesn_0187kPDyNCwibNNvfaPEApCJ'], + slackChannelIDs: ['C0123ABCDEF'], + speeds: [AnalyticsSpeed::FAST], + timeBucketWidth: AnalyticsTimeBucketWidth::DAY, + userProfileIDs: ['uprof_01M33NeYUQK2WV9PpYcsPHLi'], + workspaceIDs: ['wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ'], + betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24], +); + +var_dump($page); +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + ## Beta › Organization › Analytics › Usage Report ### Get Token Usage Over Time @@ -29599,12 +30153,11 @@ var_dump($page); **GET** `/v1/organizations/analytics/usage_report` -Get token usage over time across a date range. +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=php) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=php#migrate-from-enterprise-analytics-reports). #### Parameters @@ -29776,15 +30329,11 @@ var_dump($page); **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=php) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=php#migrate-from-enterprise-analytics-reports). #### Parameters @@ -30045,12 +30594,11 @@ var_dump($page); **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. + +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=php) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=php#migrate-from-enterprise-analytics-reports). #### Parameters @@ -30217,15 +30765,11 @@ var_dump($page); **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=php) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=php#migrate-from-enterprise-analytics-reports). #### Parameters diff --git a/content/en/api/php/beta/messages.md b/content/en/api/php/beta/messages.md index 88986efdaa..57b792cabe 100644 --- a/content/en/api/php/beta/messages.md +++ b/content/en/api/php/beta/messages.md @@ -7,7 +7,7 @@ url: https://platform.claude.com/docs/en/api/php/beta/messages ## Create a Message -`$client->beta->messages->create(int maxTokens, list messages, Model model, ?BetaCacheControlEphemeral cacheControl, ?BetaCompactionConfig compaction, ?Container container, ?BetaContextManagementConfig contextManagement, ?BetaDiagnosticsParam diagnostics, ?FallbackCreditToken fallbackCreditToken, ?BetaFallbacksParam fallbacks, ?string inferenceGeo, ?list mcpServers, ?BetaMetadata metadata, ?BetaOutputConfig outputConfig, ?BetaJSONOutputFormat outputFormat, ?ServiceTier serviceTier, ?Speed speed, ?list stopSequences, ?System system, ?BetaThinkingConfigParam thinking, ?BetaToolChoice toolChoice, ?list tools, ?list betas, ?string userProfileID, ?string workspaceID): BetaMessage` +`$client->beta->messages->create(int maxTokens, list messages, Model model, ?BetaCacheControlEphemeral cacheControl, ?BetaCompactionConfig compaction, ?Container container, ?BetaContextManagementConfig contextManagement, ?BetaDiagnosticsParam diagnostics, ?FallbackCreditToken fallbackCreditToken, ?BetaFallbacksParam fallbacks, ?string inferenceGeo, ?list mcpServers, ?BetaMetadata metadata, ?BetaOutputConfig outputConfig, ?BetaJSONOutputFormat outputFormat, ?ServiceTier serviceTier, ?Speed speed, ?list stopSequences, ?System system, ?BetaThinkingConfigParam thinking, ?BetaMessageThreadParam thread, ?BetaToolChoice toolChoice, ?list tools, ?list betas, ?string userProfileID, ?string workspaceID): BetaMessage` **POST** `/v1/messages` @@ -193,6 +193,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=php#configuring-thinking) for each model's behavior. +- `thread?:optional BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `toolChoice?:optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -585,6 +589,7 @@ $betaMessage = $client->beta->messages->create( ], 'display' => 'summarized', ], + thread: ['type' => 'create'], toolChoice: ['type' => 'auto', 'disableParallelToolUse' => true], tools: [ [ @@ -7879,6 +7884,22 @@ var_dump($betaMessageTokensCount); empty `{}` is accepted on a message that carries content; a message with neither content nor output_config fields is rejected. +### Beta Message Thread Param + +- `class BetaMessageThreadParam` + + - `class BetaThreadCreateParams` + + - `"create" type` + + - `class BetaThreadContinueParams` + + - `"continue" type` + + - `string previousMessageID` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `class BetaMessageTokensCount` @@ -10089,6 +10110,22 @@ var_dump($betaMessageTokensCount); - `int value` +### Beta Thread Continue Params + +- `class BetaThreadContinueParams` + + - `"continue" type` + + - `string previousMessageID` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `class BetaThreadCreateParams` + + - `"create" type` + ### Beta Token Task Budget - `class BetaTokenTaskBudget` @@ -13565,6 +13602,7 @@ $betaMessageBatch = $client->beta->messages->batches->create( ], 'display' => 'summarized', ], + 'thread' => ['type' => 'create'], 'toolChoice' => ['type' => 'auto', 'disableParallelToolUse' => true], 'tools' => [ [ diff --git a/content/en/api/php/beta/messages/batches.md b/content/en/api/php/beta/messages/batches.md index b77ed89be3..fd37c56960 100644 --- a/content/en/api/php/beta/messages/batches.md +++ b/content/en/api/php/beta/messages/batches.md @@ -189,6 +189,7 @@ $betaMessageBatch = $client->beta->messages->batches->create( ], 'display' => 'summarized', ], + 'thread' => ['type' => 'create'], 'toolChoice' => ['type' => 'auto', 'disableParallelToolUse' => true], 'tools' => [ [ diff --git a/content/en/api/php/beta/messages/batches/create.md b/content/en/api/php/beta/messages/batches/create.md index 187ff8f27b..e72dcf14a3 100644 --- a/content/en/api/php/beta/messages/batches/create.md +++ b/content/en/api/php/beta/messages/batches/create.md @@ -187,6 +187,7 @@ $betaMessageBatch = $client->beta->messages->batches->create( ], 'display' => 'summarized', ], + 'thread' => ['type' => 'create'], 'toolChoice' => ['type' => 'auto', 'disableParallelToolUse' => true], 'tools' => [ [ diff --git a/content/en/api/php/beta/messages/create.md b/content/en/api/php/beta/messages/create.md index 30548226f4..bd133b967f 100644 --- a/content/en/api/php/beta/messages/create.md +++ b/content/en/api/php/beta/messages/create.md @@ -5,7 +5,7 @@ url: https://platform.claude.com/docs/en/api/php/beta/messages/create # Create a Message -`$client->beta->messages->create(int maxTokens, list messages, Model model, ?BetaCacheControlEphemeral cacheControl, ?BetaCompactionConfig compaction, ?Container container, ?BetaContextManagementConfig contextManagement, ?BetaDiagnosticsParam diagnostics, ?FallbackCreditToken fallbackCreditToken, ?BetaFallbacksParam fallbacks, ?string inferenceGeo, ?list mcpServers, ?BetaMetadata metadata, ?BetaOutputConfig outputConfig, ?BetaJSONOutputFormat outputFormat, ?ServiceTier serviceTier, ?Speed speed, ?list stopSequences, ?System system, ?BetaThinkingConfigParam thinking, ?BetaToolChoice toolChoice, ?list tools, ?list betas, ?string userProfileID, ?string workspaceID): BetaMessage` +`$client->beta->messages->create(int maxTokens, list messages, Model model, ?BetaCacheControlEphemeral cacheControl, ?BetaCompactionConfig compaction, ?Container container, ?BetaContextManagementConfig contextManagement, ?BetaDiagnosticsParam diagnostics, ?FallbackCreditToken fallbackCreditToken, ?BetaFallbacksParam fallbacks, ?string inferenceGeo, ?list mcpServers, ?BetaMetadata metadata, ?BetaOutputConfig outputConfig, ?BetaJSONOutputFormat outputFormat, ?ServiceTier serviceTier, ?Speed speed, ?list stopSequences, ?System system, ?BetaThinkingConfigParam thinking, ?BetaMessageThreadParam thread, ?BetaToolChoice toolChoice, ?list tools, ?list betas, ?string userProfileID, ?string workspaceID): BetaMessage` **POST** `/v1/messages` @@ -191,6 +191,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking?sdk_languages=php#configuring-thinking) for each model's behavior. +- `thread?:optional BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + - `toolChoice?:optional BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -583,6 +587,7 @@ $betaMessage = $client->beta->messages->create( ], 'display' => 'summarized', ], + thread: ['type' => 'create'], toolChoice: ['type' => 'auto', 'disableParallelToolUse' => true], tools: [ [ diff --git a/content/en/api/php/beta/models.md b/content/en/api/php/beta/models.md index 648ce38884..c0c7cfff10 100644 --- a/content/en/api/php/beta/models.md +++ b/content/en/api/php/beta/models.md @@ -225,7 +225,7 @@ var_dump($page); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -437,7 +437,7 @@ var_dump($betaModelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/php/beta/models/list.md b/content/en/api/php/beta/models/list.md index 165a78e3e3..d6623bf4a9 100644 --- a/content/en/api/php/beta/models/list.md +++ b/content/en/api/php/beta/models/list.md @@ -223,7 +223,7 @@ var_dump($page); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/php/beta/models/retrieve.md b/content/en/api/php/beta/models/retrieve.md index 745fc716d7..334169d753 100644 --- a/content/en/api/php/beta/models/retrieve.md +++ b/content/en/api/php/beta/models/retrieve.md @@ -202,7 +202,7 @@ var_dump($betaModelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/php/completions.md b/content/en/api/php/completions.md index 60d3a52297..016934b2d0 100644 --- a/content/en/api/php/completions.md +++ b/content/en/api/php/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/php/completions/create.md b/content/en/api/php/completions/create.md index d733794870..0630ceb26c 100644 --- a/content/en/api/php/completions/create.md +++ b/content/en/api/php/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/php/models.md b/content/en/api/php/models.md index 35a61906ed..b6ba792bd3 100644 --- a/content/en/api/php/models.md +++ b/content/en/api/php/models.md @@ -206,7 +206,7 @@ var_dump($page); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -398,7 +398,7 @@ var_dump($modelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/php/models/list.md b/content/en/api/php/models/list.md index 97c92891a3..e840d8a940 100644 --- a/content/en/api/php/models/list.md +++ b/content/en/api/php/models/list.md @@ -204,7 +204,7 @@ var_dump($page); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/php/models/retrieve.md b/content/en/api/php/models/retrieve.md index f3fac757e2..65f66987ac 100644 --- a/content/en/api/php/models/retrieve.md +++ b/content/en/api/php/models/retrieve.md @@ -182,7 +182,7 @@ var_dump($modelInfo); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/python/beta.md b/content/en/api/python/beta.md index 7cceef0e05..7a32cb82f2 100644 --- a/content/en/api/python/beta.md +++ b/content/en/api/python/beta.md @@ -9,7 +9,7 @@ url: https://platform.claude.com/docs/en/api/python/beta ### Anthropic Beta -- `type AnthropicBetaParam = Union[str, Literal["message-batches-2024-09-24", "prompt-caching-2024-07-31", "computer-use-2024-10-22", 49 more]]` +- `type AnthropicBetaParam = Union[str, Literal["message-batches-2024-09-24", "prompt-caching-2024-07-31", "computer-use-2024-10-22", 51 more]]` - `str` @@ -117,6 +117,10 @@ url: https://platform.claude.com/docs/en/api/python/beta - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Beta API Error - `class BetaAPIError` @@ -591,6 +595,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -925,7 +933,7 @@ print(page.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1064,6 +1072,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1397,7 +1409,7 @@ print(beta_model_info.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -5346,6 +5358,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `class BetaThinkingConfigAdaptiveParam` +- `thread: Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + - `tool_choice: Optional[BetaToolChoiceParam]` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -5651,6 +5683,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -13982,6 +14018,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -18003,6 +18043,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptiveParam` + - `thread: Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + - `tool_choice: Optional[BetaToolChoiceParam]` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -18308,6 +18368,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -18608,6 +18672,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18902,6 +18970,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19192,6 +19264,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19476,6 +19552,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19652,6 +19732,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -24738,6 +24822,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -25798,6 +25886,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26845,6 +26937,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28832,6 +28928,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29870,6 +29970,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30919,6 +31023,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32076,6 +32184,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32418,6 +32530,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32750,6 +32866,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33194,6 +33314,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33522,6 +33646,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33692,6 +33820,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34026,6 +34158,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34293,6 +34429,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: Optional[str]` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -34547,6 +34687,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -34806,6 +34950,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -35006,6 +35154,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35271,6 +35423,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -35531,6 +35687,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35785,6 +35945,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37096,6 +37260,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -38677,6 +38845,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -40169,6 +40341,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -42236,6 +42412,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43723,6 +43903,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43887,6 +44071,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -45502,6 +45690,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -48968,6 +49160,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -49598,6 +49794,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52751,6 +52951,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52945,6 +53149,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53229,6 +53437,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53508,6 +53720,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53782,6 +53998,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53973,6 +54193,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -55057,6 +55281,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56136,6 +56364,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -57223,6 +57455,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -60338,6 +60574,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -63876,6 +64116,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -64661,6 +64905,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -65399,6 +65647,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66533,6 +66785,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67267,6 +67523,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68001,6 +68261,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68397,6 +68661,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69131,6 +69399,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69917,6 +70189,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70317,6 +70593,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70721,6 +71001,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70932,6 +71216,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71137,6 +71425,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71348,6 +71640,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71549,6 +71845,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71717,6 +72017,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72096,6 +72400,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72439,6 +72747,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72773,6 +73085,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73242,6 +73558,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73571,6 +73891,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73744,6 +74068,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74073,6 +74401,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74374,6 +74706,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74610,6 +74946,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74826,6 +75166,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75062,6 +75406,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75278,6 +75626,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75448,6 +75800,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75692,6 +76048,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75962,6 +76322,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76230,6 +76594,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76501,6 +76869,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76740,6 +77112,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76987,6 +77363,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77322,6 +77702,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77638,6 +78022,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77960,6 +78348,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78206,6 +78598,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78440,6 +78836,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78593,6 +78993,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78823,6 +79227,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79005,6 +79413,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79257,6 +79669,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79496,6 +79912,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79731,6 +80151,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79915,6 +80339,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80132,6 +80560,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80348,6 +80780,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80510,6 +80946,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80721,6 +81161,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80987,6 +81431,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81320,6 +81768,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81627,6 +82079,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82024,6 +82480,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82327,6 +82787,10 @@ Delete User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82495,6 +82959,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82680,6 +83148,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82962,6 +83434,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83445,6 +83921,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83868,6 +84348,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84287,6 +84771,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84706,6 +85194,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85127,6 +85619,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85319,6 +85815,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85523,6 +86023,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85721,6 +86225,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85915,6 +86423,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86096,6 +86608,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86279,6 +86795,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86485,6 +87005,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86701,6 +87225,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86912,6 +87440,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88731,6 +89263,10 @@ matched as the JWT's `iss` claim and is not fetched. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -89058,6 +89594,10 @@ Archived issuers are excluded unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -89374,6 +89914,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -89769,6 +90313,10 @@ session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -90086,6 +90634,10 @@ issuer cannot be changed), or recreate them against another issuer. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -90490,6 +91042,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -90834,6 +91390,10 @@ unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -91156,6 +91716,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -91566,6 +92130,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -91892,6 +92460,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -92225,6 +92797,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRuleWorkspace` @@ -92430,6 +93006,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRuleWorkspace` @@ -92631,6 +93211,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class WorkspaceRemoveResponse` @@ -93327,6 +93911,10 @@ accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -93567,6 +94155,10 @@ archived service accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -93795,6 +94387,10 @@ Retrieve a service account by its ID (`svac_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -94038,6 +94634,10 @@ interactive credential (a user OAuth token or a Console session). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -94267,6 +94867,10 @@ those rules first or change their target to another service account. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -94516,6 +95120,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -94738,6 +95346,10 @@ page to recover. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -94950,6 +95562,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class WorkspaceRemoveResponse` @@ -95748,6 +96364,10 @@ Create Workspace - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaWorkspace` @@ -97473,6 +98093,10 @@ omitted from the results. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -97698,214 +98322,222 @@ accounts cannot be added and are rejected. - `"webhooks-2026-10-07"` -#### Returns - -- `class BetaServiceAccountWorkspaceMember` - - - `type: Literal["service_account_workspace_member"]` - - default: service_account_workspace_member - - - `created_by_actor_id: Optional[str]` - - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. - - - `implicit: Optional[bool]` - - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. - - - `service_account_id: str` - - Tagged service account ID (`svac_...`). - - - `workspace_id: str` - - Tagged workspace ID (`wrkspc_...`). - - - `workspace_role: BetaWorkspaceRole` - - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. - - - `"workspace_admin"` - - - `"workspace_billing"` - - - `"workspace_developer"` - - - `"workspace_restricted_developer"` - - - `"workspace_user"` - -#### Example - -```python -import os -from anthropic import Anthropic - -client = Anthropic( - api_key=os.environ.get( - "ANTHROPIC_API_KEY" - ), # This is the default and can be omitted -) -beta_service_account_workspace_member = ( - client.beta.organization.workspaces.service_accounts.add( - workspace_id="workspace_id", - service_account_id="service_account_id", - workspace_role="workspace_admin", - ) -) -print(beta_service_account_workspace_member.created_by_actor_id) -``` - -##### Response (200) - -```json -{ - "created_by_actor_id": "created_by_actor_id", - "implicit": true, - "service_account_id": "service_account_id", - "type": "service_account_workspace_member", - "workspace_id": "workspace_id", - "workspace_role": "workspace_admin" -} -``` - -### Get Service Account Workspace Member - -`beta.organization.workspaces.service_accounts.retrieve(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember` - -**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` + - `"message-threads-2026-08-12"` -**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=python). - -Retrieve a service account's membership in a workspace. - -Returns the membership record, including the service account's -`workspace_role` in this workspace. Archived workspaces return 400. For -the default workspace, returns the implicit (`implicit: true`) -membership when no explicit membership exists; an explicitly added -membership is returned with its assigned role. An archived service -account returns 404. - -#### Parameters - -- `workspace_id: str` (path parameter) - - ID of the workspace. - -- `service_account_id: str` (path parameter) - - ID of the service account. - -- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) - - Optional header to specify the beta version(s) you want to use. - - - `str` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `class BetaServiceAccountWorkspaceMember` + + - `type: Literal["service_account_workspace_member"]` + + default: service_account_workspace_member + + - `created_by_actor_id: Optional[str]` + + Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. + + - `implicit: Optional[bool]` + + True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. + + - `service_account_id: str` + + Tagged service account ID (`svac_...`). + + - `workspace_id: str` + + Tagged workspace ID (`wrkspc_...`). + + - `workspace_role: BetaWorkspaceRole` + + Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. + + - `"workspace_admin"` + + - `"workspace_billing"` + + - `"workspace_developer"` + + - `"workspace_restricted_developer"` + + - `"workspace_user"` + +#### Example + +```python +import os +from anthropic import Anthropic + +client = Anthropic( + api_key=os.environ.get( + "ANTHROPIC_API_KEY" + ), # This is the default and can be omitted +) +beta_service_account_workspace_member = ( + client.beta.organization.workspaces.service_accounts.add( + workspace_id="workspace_id", + service_account_id="service_account_id", + workspace_role="workspace_admin", + ) +) +print(beta_service_account_workspace_member.created_by_actor_id) +``` + +##### Response (200) + +```json +{ + "created_by_actor_id": "created_by_actor_id", + "implicit": true, + "service_account_id": "service_account_id", + "type": "service_account_workspace_member", + "workspace_id": "workspace_id", + "workspace_role": "workspace_admin" +} +``` + +### Get Service Account Workspace Member + +`beta.organization.workspaces.service_accounts.retrieve(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember` + +**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` + +**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=python). + +Retrieve a service account's membership in a workspace. + +Returns the membership record, including the service account's +`workspace_role` in this workspace. Archived workspaces return 400. For +the default workspace, returns the implicit (`implicit: true`) +membership when no explicit membership exists; an explicitly added +membership is returned with its assigned role. An archived service +account returns 404. + +#### Parameters + +- `workspace_id: str` (path parameter) + + ID of the workspace. + +- `service_account_id: str` (path parameter) + + ID of the service account. + +- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) + + Optional header to specify the beta version(s) you want to use. + + - `str` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -98127,6 +98759,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -98335,6 +98971,10 @@ membership. Archived workspaces return 400. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class ServiceAccountRemoveResponse` @@ -100777,20 +101417,23 @@ print(page.rbac_group_id) } ``` -## Beta › Organization › Analytics › Usage Report +## Beta › Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -`beta.organization.analytics.usage_report.list(**kwargs) -> SyncReportPageCursor[BetaAnalyticsUsageReportTimeBucket]` +`beta.organization.analytics.usage.list(**kwargs) -> SyncReportPageCursor[BetaAnalyticsUsageItem]` -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Parameters @@ -100800,21 +101443,41 @@ key with the `read:analytics` scope. format: date-time -- `bucket_width: Optional[Literal["1d", "1h", "1m"]]` (query parameter) +- `actor_ids: Optional[Sequence[str]]` (query parameter) - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - default: 1d + maxItems: 100 - - `"1d"` +- `actor_types: Optional[List[BetaAnalyticsActorType]]` (query parameter) - - `"1h"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. - - `"1m"` + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `claude_tag_categories: Optional[List[BetaAnalyticsClaudeTagCategory]]` (query parameter) - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -100844,24 +101507,54 @@ key with the `read:analytics` scope. - `"200k-1M"` +- `deployment_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: Optional[Union[str, datetime, null]]` (query parameter) - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: Optional[List[Literal["claude_tag_category", "claude_tag_user_id", "context_window", 6 more]]]` (query parameter) +- `environment_ids: Optional[Sequence[str]]` (query parameter) - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. maxItems: 100 +- `exclude_deleted_users: Optional[bool]` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: Optional[List[BetaAnalyticsUsageGroupBy]]` (query parameter) + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` - `"context_window"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -100870,10 +101563,18 @@ key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` + - `"user_profile_id"` + + - `"workspace_id"` + - `inference_geos: Optional[List[BetaAnalyticsInferenceGeoFilter]]` (query parameter) Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -100888,9 +101589,9 @@ key with the `read:analytics` scope. - `limit: Optional[int]` (query parameter) - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + default: 20, minimum: 1, maximum: 1000 - `models: Optional[Sequence[str]]` (query parameter) @@ -100898,13 +101599,35 @@ key with the `read:analytics` scope. maxItems: 100 +- `order: Optional[BetaAnalyticsUsageCostSortOrder]` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: Optional[BetaAnalyticsUsageOrderBy]` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` + - `page: Optional[str]` (query parameter) Opaque cursor from a previous response's `next_page` field. -- `products: Optional[List[BetaAnalyticsProductFilter]]` (query parameter) +- `products: Optional[List[BetaAnalyticsUsageCostProductFilter]]` (query parameter) - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 @@ -100912,16 +101635,24 @@ key with the `read:analytics` scope. - `"chat_cowork_unified"` - - `"claude-tag"` - - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids: Optional[Sequence[str]]` (query parameter) @@ -100930,13 +101661,37 @@ key with the `read:analytics` scope. maxItems: 100 +- `service_tiers: Optional[List[BetaAnalyticsServiceTier]]` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids: Optional[Sequence[str]]` (query parameter) Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 -- `speeds: Optional[List[Literal["fast", "standard"]]]` (query parameter) +- `speeds: Optional[List[BetaAnalyticsSpeed]]` (query parameter) Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -100946,49 +101701,1463 @@ key with the `read:analytics` scope. - `"standard"` -- `user_ids: Optional[Sequence[str]]` (query parameter) +- `time_bucket_width: Optional[BetaAnalyticsTimeBucketWidth]` (query parameter) - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. maxItems: 100 +- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `str` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns -- `class BetaAnalyticsUsageReportTimeBucket` +- `class BetaAnalyticsUsageItem` - `ending_at: datetime` - End of the time bucket (exclusive) in RFC 3339 format. + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `results: List[BetaAnalyticsUsageBucketedResult]` + - `group: BetaAnalyticsUsageGroup` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + The dimension values this row's usage is broken out by. - - `cache_creation: BetaCacheCreation` + - `actor: Optional[BetaAnalyticsActor]` - The number of input tokens for cache creation. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `ephemeral_1h_input_tokens: int` + - `class BetaAnalyticsReportUserActor` - The number of input tokens used to create the 1 hour cache entry. + - `type: Literal["user_actor"]` - default: 0, minimum: 0 + Actor type. Always `"user_actor"`. - - `ephemeral_5m_input_tokens: int` + - `deleted: bool` - The number of input tokens used to create the 5 minute cache entry. + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - default: 0, minimum: 0 + - `email_address: Optional[str]` - - `cache_read_input_tokens: int` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - The number of input tokens read from the cache. + - `name: Optional[str]` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: str` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `type: Literal["service_account_actor"]` + + - `service_account_id: str` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `type: Literal["federated_actor"]` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAWSProvider` + + - `type: Literal["aws"]` + + - `account_id: str` + + The AWS account the organization is bound to. + + - `signed_principal: str` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `type: Literal["azure"]` + + - `subscription_id: str` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGCPProvider` + + - `type: Literal["gcp"]` + + - `project_number: str` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOIDCProvider` + + - `type: Literal["oidc"]` + + - `issuer: Optional[str]` + + The federation issuer's URL. + + - `subject: Optional[str]` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsAPIActor` + + - `type: Literal["api_actor"]` + + - `api_key_id: str` + + Tagged API key ID. + + - `actor_type: Optional[BetaAnalyticsActorType]` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: Optional[str]` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: Optional[str]` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - `claude_tag_category: Optional[BetaAnalyticsClaudeTagCategory]` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: Optional[str]` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: Optional[BetaAnalyticsContextWindow]` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `deployment_id: Optional[str]` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: Optional[str]` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: Optional[BetaAnalyticsUsageCostInferenceGeo]` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: Optional[str]` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: Optional[str]` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: Optional[str]` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: Optional[BetaAnalyticsServiceTier]` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: Optional[str]` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: Optional[str]` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: Optional[BetaAnalyticsSpeed]` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `user_profile_id: Optional[str]` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: Optional[str]` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: datetime` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: int` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: int` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: int` + + The number of input tokens read from the cache. + + - `output_tokens: int` + + The number of output tokens generated. + + - `requests: Optional[int]` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: int` + + The number of web search requests made. + + - `total_tokens: int` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: int` + + The number of uncached input tokens processed. + +#### Example + +```python +import os +from datetime import datetime +from anthropic import Anthropic + +client = Anthropic( + api_key=os.environ.get( + "ANTHROPIC_API_KEY" + ), # This is the default and can be omitted +) +page = client.beta.organization.analytics.usage.list( + starting_at=datetime.fromisoformat("2026-09-01T00:00:00"), +) +page = page.data[0] +print(page.ending_at) +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`beta.organization.analytics.cost.list(**kwargs) -> SyncReportPageCursor[BetaAnalyticsCostItem]` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `starting_at: Union[str, datetime]` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `actor_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + +- `actor_types: Optional[List[BetaAnalyticsActorType]]` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + +- `agent_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `claude_tag_categories: Optional[List[BetaAnalyticsClaudeTagCategory]]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: Optional[Sequence[str]]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: Optional[List[BetaAnalyticsContextWindow]]` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `deployment_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `ending_at: Optional[Union[str, datetime, null]]` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `environment_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: Optional[bool]` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + default: false + +- `group_by: Optional[List[BetaAnalyticsCostGroupBy]]` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"cost_type"` + + - `"deployment_id"` + + - `"environment_id"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"service_tier"` + + - `"session_id"` + + - `"slack_channel_id"` + + - `"speed"` + + - `"token_type"` + + - `"user_profile_id"` + + - `"workspace_id"` + +- `inference_geos: Optional[List[BetaAnalyticsInferenceGeoFilter]]` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: Optional[int]` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + default: 20, minimum: 1, maximum: 1000 + +- `models: Optional[Sequence[str]]` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `order: Optional[BetaAnalyticsUsageCostSortOrder]` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + +- `order_by: Optional[BetaAnalyticsCostOrderBy]` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `"amount"` + + - `"list_amount"` + + - `"time"` + +- `page: Optional[str]` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `products: Optional[List[BetaAnalyticsUsageCostProductFilter]]` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude_code"` + + - `"claude_console"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"claude_tag"` + + - `"cowork"` + + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + + - `"office_agent"` + +- `rbac_group_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `service_tiers: Optional[List[BetaAnalyticsServiceTier]]` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + +- `session_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `slack_channel_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: Optional[List[BetaAnalyticsSpeed]]` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `time_bucket_width: Optional[BetaAnalyticsTimeBucketWidth]` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `user_profile_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `str` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `class BetaAnalyticsCostItem` + + - `cost: BetaAnalyticsCostMetrics` + + Cost for this row. + + - `amount: str` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: str` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: str` + + List-price amount (pre-discount) in fractional cents. + + - `requests: Optional[int]` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: datetime` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `actor: Optional[BetaAnalyticsActor]` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `class BetaAnalyticsReportUserActor` + + - `type: Literal["user_actor"]` + + Actor type. Always `"user_actor"`. + + - `deleted: bool` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: Optional[str]` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: Optional[str]` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: str` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `type: Literal["service_account_actor"]` + + - `service_account_id: str` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `type: Literal["federated_actor"]` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAWSProvider` + + - `type: Literal["aws"]` + + - `account_id: str` + + The AWS account the organization is bound to. + + - `signed_principal: str` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `type: Literal["azure"]` + + - `subscription_id: str` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGCPProvider` + + - `type: Literal["gcp"]` + + - `project_number: str` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOIDCProvider` + + - `type: Literal["oidc"]` + + - `issuer: Optional[str]` + + The federation issuer's URL. + + - `subject: Optional[str]` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsAPIActor` + + - `type: Literal["api_actor"]` + + - `api_key_id: str` + + Tagged API key ID. + + - `actor_type: Optional[BetaAnalyticsActorType]` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: Optional[str]` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: Optional[str]` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: Optional[BetaAnalyticsClaudeTagCategory]` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: Optional[str]` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: Optional[BetaAnalyticsContextWindow]` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `cost_type: Optional[BetaAnalyticsGroupedCostType]` + + Cost component breakdown; null when returning the combined total. + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + + - `deployment_id: Optional[str]` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: Optional[str]` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: Optional[BetaAnalyticsUsageCostInferenceGeo]` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: Optional[str]` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: Optional[str]` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: Optional[str]` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: Optional[BetaAnalyticsServiceTier]` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: Optional[str]` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: Optional[str]` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: Optional[BetaAnalyticsSpeed]` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `token_type: Optional[BetaAnalyticsTokenType]` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: Optional[str]` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: Optional[str]` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: datetime` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +#### Example + +```python +import os +from datetime import datetime +from anthropic import Anthropic + +client = Anthropic( + api_key=os.environ.get( + "ANTHROPIC_API_KEY" + ), # This is the default and can be omitted +) +page = client.beta.organization.analytics.cost.list( + starting_at=datetime.fromisoformat("2026-09-01T00:00:00"), +) +page = page.data[0] +print(page.cost) +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +`beta.organization.analytics.usage_report.list(**kwargs) -> SyncReportPageCursor[BetaAnalyticsUsageReportTimeBucket]` + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=python) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=python#migrate-from-enterprise-analytics-reports). + +#### Parameters + +- `starting_at: Union[str, datetime]` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `bucket_width: Optional[Literal["1d", "1h", "1m"]]` (query parameter) + + Time bucket granularity. + + default: 1d + + - `"1d"` + + - `"1h"` + + - `"1m"` + +- `claude_tag_categories: Optional[List[BetaAnalyticsClaudeTagCategory]]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + +- `claude_tag_user_ids: Optional[Sequence[str]]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: Optional[List[BetaAnalyticsContextWindow]]` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + +- `ending_at: Optional[Union[str, datetime, null]]` (query parameter) + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `group_by: Optional[List[Literal["claude_tag_category", "claude_tag_user_id", "context_window", 6 more]]]` (query parameter) + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"slack_channel_id"` + + - `"speed"` + +- `inference_geos: Optional[List[BetaAnalyticsInferenceGeoFilter]]` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + +- `limit: Optional[int]` (query parameter) + + Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + + minimum: 1 + +- `models: Optional[Sequence[str]]` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `page: Optional[str]` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `products: Optional[List[BetaAnalyticsProductFilter]]` (query parameter) + + Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude-tag"` + + - `"claude_code"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"cowork"` + + - `"office_agent"` + +- `rbac_group_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `slack_channel_ids: Optional[Sequence[str]]` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: Optional[List[Literal["fast", "standard"]]]` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + +- `user_ids: Optional[Sequence[str]]` (query parameter) + + Filter to specific users by tagged user ID. + + maxItems: 100 + +#### Returns + +- `class BetaAnalyticsUsageReportTimeBucket` + + - `ending_at: datetime` + + End of the time bucket (exclusive) in RFC 3339 format. + + format: date-time + + - `results: List[BetaAnalyticsUsageBucketedResult]` + + Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: int` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: int` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: int` + + The number of input tokens read from the cache. + + - `claude_tag_category: Optional[BetaAnalyticsClaudeTagCategory]` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. - `"dm"` @@ -101138,15 +103307,11 @@ print(page.ending_at) **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=python) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=python#migrate-from-enterprise-analytics-reports). #### Parameters @@ -101550,12 +103715,11 @@ print(page.claude_tag_user_id) **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. + +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=python) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=python#migrate-from-enterprise-analytics-reports). #### Parameters @@ -101904,15 +104068,11 @@ print(page.ending_at) **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=python) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=python#migrate-from-enterprise-analytics-reports). #### Parameters @@ -102480,6 +104640,10 @@ Anthropic account team. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSpendLimit` @@ -103040,6 +105204,10 @@ come in a fixed order that is not creation order. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSpendLimit` @@ -106033,398 +108201,406 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` -#### Returns - -- `class BetaPlugin` - - - `type: Literal["plugin"]` - - Always `plugin`. - - default: plugin - - - `id: str` - - The Plugin's ID. - - - `components: Optional[List[BetaPluginComponent]]` - - What the served version contains; null when not enumerated. - - - `type: Literal["agent", "cli", "command", 3 more]` - - The kind of component. - - - `"agent"` - - - `"cli"` - - - `"command"` - - - `"hook"` - - - `"mcp_server"` - - - `"skill"` - - - `description: Optional[str]` - - What the component declares about itself; always null for MCP servers, hooks, and CLIs. - - - `name: str` - - The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. - - - `content_scan: Optional[BetaPluginContentScan]` - - The served version's content scan; null when it has not been scanned. - - - `assessment: Optional[Literal["fail", "pass", "unknown", "warn"]]` - - The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. - - - `"fail"` - - - `"pass"` - - - `"unknown"` - - - `"warn"` - - - `reason: Optional[str]` - - The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. - - - `status: Literal["completed", "errored", "processing"]` - - `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. - - - `"completed"` - - - `"errored"` - - - `"processing"` - - - `created_at: datetime` - - RFC 3339. - - format: date-time - - - `created_by: Optional[CreatedBy]` - - Who created the Plugin; null when no creator is recorded. - - - `class BetaPluginUserActor` - - - `type: Literal["user_actor"]` - - A member of the organization. - - default: user_actor - - - `email_address: Optional[str]` - - The member's email address; may be null, for example when they are no longer a member of the organization. - - - `user_id: str` - - The member's User ID. - - - `class BetaPluginAPIActor` - - - `type: Literal["api_actor"]` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `class BetaPlugin` + + - `type: Literal["plugin"]` + + Always `plugin`. + + default: plugin + + - `id: str` + + The Plugin's ID. + + - `components: Optional[List[BetaPluginComponent]]` + + What the served version contains; null when not enumerated. + + - `type: Literal["agent", "cli", "command", 3 more]` + + The kind of component. + + - `"agent"` + + - `"cli"` + + - `"command"` + + - `"hook"` + + - `"mcp_server"` + + - `"skill"` + + - `description: Optional[str]` + + What the component declares about itself; always null for MCP servers, hooks, and CLIs. + + - `name: str` + + The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. + + - `content_scan: Optional[BetaPluginContentScan]` + + The served version's content scan; null when it has not been scanned. + + - `assessment: Optional[Literal["fail", "pass", "unknown", "warn"]]` + + The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. + + - `"fail"` + + - `"pass"` + + - `"unknown"` + + - `"warn"` + + - `reason: Optional[str]` + + The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. + + - `status: Literal["completed", "errored", "processing"]` + + `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. + + - `"completed"` + + - `"errored"` + + - `"processing"` + + - `created_at: datetime` + + RFC 3339. + + format: date-time + + - `created_by: Optional[CreatedBy]` + + Who created the Plugin; null when no creator is recorded. + + - `class BetaPluginUserActor` + + - `type: Literal["user_actor"]` + + A member of the organization. + + default: user_actor + + - `email_address: Optional[str]` + + The member's email address; may be null, for example when they are no longer a member of the organization. + + - `user_id: str` + + The member's User ID. + + - `class BetaPluginAPIActor` + + - `type: Literal["api_actor"]` + + An Admin API key, in the same form the Compliance API activity feed uses for it. + + default: api_actor + + - `api_key_id: str` + + The key's ID. + + - `description: Optional[str]` + + The served version's description. + + - `display_name: Optional[str]` + + The served version's display name. + + - `latest_version_id: str` + + The newest version. + + - `manifest_version: Optional[str]` + + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). + + - `marketplace_id: str` + + The ID of the plugin marketplace the Plugin lives in. + + - `name: str` + + Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. + + - `organization_installation_preference: Optional[Literal["auto_install", "available", "not_available", "required"]]` + + Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. + + - `"auto_install"` + + - `"available"` + + - `"not_available"` + + - `"required"` + + - `organization_installation_preference_inherited: Optional[bool]` + + Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. + + - `owner: Owner` + + Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. + + - `class BetaPluginOwnerOrganization` + + - `type: Literal["organization"]` + + The Plugin lives in a plugin marketplace the organization owns. + + default: organization + + - `class BetaPluginOwnerUser` + + - `type: Literal["user"]` + + The Plugin lives in one member's personal plugin marketplace. + + default: user + + - `user_id: str` + + The member's User ID. + + - `reach: Optional[Literal["contained", "privileged", "remote"]]` + + How far the served version reaches, or `null` if it is not classified. + + `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. + + If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. + + - `"contained"` + + - `"privileged"` + + - `"remote"` + + - `served_version_id: str` + + The version claude.ai serves to members. + + - `served_version_pinned: bool` + + True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. + + - `updated_at: datetime` + + RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. + + format: date-time + +#### Example + +```python +import os +from anthropic import Anthropic + +client = Anthropic( + api_key=os.environ.get( + "ANTHROPIC_API_KEY" + ), # This is the default and can be omitted +) +beta_plugin = client.beta.organization.plugins.create( + files=[b"Example data"], +) +print(beta_plugin.id) +``` + +##### Response (200) + +```json +{ + "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "components": [ + { + "description": "description", + "name": "review-pr", + "type": "skill" + } + ], + "content_scan": { + "assessment": "warn", + "reason": "credential-exposure", + "status": "completed" + }, + "created_at": "2026-03-14T09:26:53.589793Z", + "created_by": { + "email_address": "user@example.com", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "description": "Reviews pull requests against your team's conventions.", + "display_name": "Code Review Helper", + "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", + "manifest_version": "1.2.0", + "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", + "name": "code-review-helper", + "organization_installation_preference": "available", + "organization_installation_preference_inherited": true, + "owner": { + "type": "organization" + }, + "reach": "contained", + "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", + "served_version_pinned": true, + "type": "plugin", + "updated_at": "2026-03-14T09:26:53.589793Z" +} +``` + +### Get Plugin + +`beta.organization.plugins.retrieve(plugin_id, **kwargs) -> BetaPlugin` + +**GET** `/v1/organizations/plugins/{plugin_id}` + +Retrieve a Plugin by ID. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `plugin_id: str` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + +- `organization_id: Optional[str]` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + +- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `str` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` - An Admin API key, in the same form the Compliance API activity feed uses for it. - - default: api_actor - - - `api_key_id: str` - - The key's ID. - - - `description: Optional[str]` - - The served version's description. - - - `display_name: Optional[str]` - - The served version's display name. - - - `latest_version_id: str` - - The newest version. - - - `manifest_version: Optional[str]` - - The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - - - `marketplace_id: str` - - The ID of the plugin marketplace the Plugin lives in. - - - `name: str` - - Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. - - - `organization_installation_preference: Optional[Literal["auto_install", "available", "not_available", "required"]]` - - Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. - - - `"auto_install"` - - - `"available"` - - - `"not_available"` - - - `"required"` - - - `organization_installation_preference_inherited: Optional[bool]` - - Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. - - - `owner: Owner` - - Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. - - - `class BetaPluginOwnerOrganization` - - - `type: Literal["organization"]` - - The Plugin lives in a plugin marketplace the organization owns. - - default: organization - - - `class BetaPluginOwnerUser` - - - `type: Literal["user"]` - - The Plugin lives in one member's personal plugin marketplace. - - default: user - - - `user_id: str` - - The member's User ID. - - - `reach: Optional[Literal["contained", "privileged", "remote"]]` - - How far the served version reaches, or `null` if it is not classified. - - `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. - - If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. - - - `"contained"` - - - `"privileged"` - - - `"remote"` - - - `served_version_id: str` - - The version claude.ai serves to members. - - - `served_version_pinned: bool` - - True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. - - - `updated_at: datetime` - - RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. - - format: date-time - -#### Example - -```python -import os -from anthropic import Anthropic - -client = Anthropic( - api_key=os.environ.get( - "ANTHROPIC_API_KEY" - ), # This is the default and can be omitted -) -beta_plugin = client.beta.organization.plugins.create( - files=[b"Example data"], -) -print(beta_plugin.id) -``` - -##### Response (200) - -```json -{ - "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "components": [ - { - "description": "description", - "name": "review-pr", - "type": "skill" - } - ], - "content_scan": { - "assessment": "warn", - "reason": "credential-exposure", - "status": "completed" - }, - "created_at": "2026-03-14T09:26:53.589793Z", - "created_by": { - "email_address": "user@example.com", - "type": "user_actor", - "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" - }, - "description": "Reviews pull requests against your team's conventions.", - "display_name": "Code Review Helper", - "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", - "manifest_version": "1.2.0", - "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", - "name": "code-review-helper", - "organization_installation_preference": "available", - "organization_installation_preference_inherited": true, - "owner": { - "type": "organization" - }, - "reach": "contained", - "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", - "served_version_pinned": true, - "type": "plugin", - "updated_at": "2026-03-14T09:26:53.589793Z" -} -``` - -### Get Plugin - -`beta.organization.plugins.retrieve(plugin_id, **kwargs) -> BetaPlugin` - -**GET** `/v1/organizations/plugins/{plugin_id}` - -Retrieve a Plugin by ID. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `plugin_id: str` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - -- `organization_id: Optional[str]` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - -- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `str` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -106842,6 +109018,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPlugin` @@ -107292,6 +109472,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPlugin` @@ -107696,6 +109880,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedPlugin` @@ -107895,6 +110083,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginVersion` @@ -108235,6 +110427,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginVersion` @@ -108567,6 +110763,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginVersion` @@ -108910,6 +111110,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `BinaryResponseContent` @@ -109095,6 +111299,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginInstallationSetting` @@ -109367,6 +111575,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginInstallationSetting` @@ -109629,255 +111841,263 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` -#### Returns - -- `class BetaDeletedPluginInstallationSetting` - - Confirmation that one target's installation setting was removed, naming - the Plugin and the target in place of an ID. - - - `type: Literal["plugin_installation_setting_deleted"]` - - Always `plugin_installation_setting_deleted`. - - default: plugin_installation_setting_deleted - - - `plugin_id: str` - - The Plugin's ID. - - - `target: Target` - - Whose setting was removed. - - - `class BetaPluginTargetOrganization` - - - `type: Literal["organization"]` - - Every member of the organization. - - default: organization - - - `class BetaPluginTargetRBACGroup` - - - `type: Literal["rbac_group"]` - - An RBAC Group. - - default: rbac_group - - - `rbac_group_id: str` - - The RBAC Group's ID. - - - `class BetaPluginTargetOrganizationMember` - - - `type: Literal["organization_member"]` - - One member of the organization. - - default: organization_member - - - `user_id: str` - - The member's User ID. - -#### Example - -```python -import os -from anthropic import Anthropic - -client = Anthropic( - api_key=os.environ.get( - "ANTHROPIC_API_KEY" - ), # This is the default and can be omitted -) -beta_deleted_plugin_installation_setting = ( - client.beta.organization.plugins.installation_settings.remove( - target="target", - plugin_id="plugin_id", - ) -) -print(beta_deleted_plugin_installation_setting.plugin_id) -``` - -##### Response (200) - -```json -{ - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "target": { - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "type": "rbac_group" - }, - "type": "plugin_installation_setting_deleted" -} -``` - -## Beta › Organization › Plugins › Shares - -### List Plugin Shares - -`beta.organization.plugins.shares.list(plugin_id, **kwargs) -> SyncPageCursor[BetaPluginShare]` - -**GET** `/v1/organizations/plugins/{plugin_id}/shares` - -List the shares the owner of a member-owned Plugin has given — to every member of -the organization, to an RBAC Group, or to one member — most recently granted first. - -Shares are read-only in this API: members give and withdraw them in claude.ai, and -who gave a share is recorded on the Compliance API activity feed rather than on the -share. An organization-owned Plugin has installation settings instead, so this path -returns 404 for one. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `plugin_id: str` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - -- `limit: Optional[int]` (query parameter) - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `100`. - - default: 20, minimum: 1, maximum: 100 - -- `organization_id: Optional[str]` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - -- `page: Optional[str]` (query parameter) - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - -- `target_type: Optional[Literal["organization", "organization_member", "rbac_group"]]` (query parameter) - - Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). - - - `"organization"` - - - `"organization_member"` - - - `"rbac_group"` - -- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `str` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `class BetaDeletedPluginInstallationSetting` + + Confirmation that one target's installation setting was removed, naming + the Plugin and the target in place of an ID. + + - `type: Literal["plugin_installation_setting_deleted"]` + + Always `plugin_installation_setting_deleted`. + + default: plugin_installation_setting_deleted + + - `plugin_id: str` + + The Plugin's ID. + + - `target: Target` + + Whose setting was removed. + + - `class BetaPluginTargetOrganization` + + - `type: Literal["organization"]` + + Every member of the organization. + + default: organization + + - `class BetaPluginTargetRBACGroup` + + - `type: Literal["rbac_group"]` + + An RBAC Group. + + default: rbac_group + + - `rbac_group_id: str` + + The RBAC Group's ID. + + - `class BetaPluginTargetOrganizationMember` + + - `type: Literal["organization_member"]` + + One member of the organization. + + default: organization_member + + - `user_id: str` + + The member's User ID. + +#### Example + +```python +import os +from anthropic import Anthropic + +client = Anthropic( + api_key=os.environ.get( + "ANTHROPIC_API_KEY" + ), # This is the default and can be omitted +) +beta_deleted_plugin_installation_setting = ( + client.beta.organization.plugins.installation_settings.remove( + target="target", + plugin_id="plugin_id", + ) +) +print(beta_deleted_plugin_installation_setting.plugin_id) +``` + +##### Response (200) + +```json +{ + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "target": { + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "type": "rbac_group" + }, + "type": "plugin_installation_setting_deleted" +} +``` + +## Beta › Organization › Plugins › Shares + +### List Plugin Shares + +`beta.organization.plugins.shares.list(plugin_id, **kwargs) -> SyncPageCursor[BetaPluginShare]` + +**GET** `/v1/organizations/plugins/{plugin_id}/shares` + +List the shares the owner of a member-owned Plugin has given — to every member of +the organization, to an RBAC Group, or to one member — most recently granted first. + +Shares are read-only in this API: members give and withdraw them in claude.ai, and +who gave a share is recorded on the Compliance API activity feed rather than on the +share. An organization-owned Plugin has installation settings instead, so this path +returns 404 for one. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `plugin_id: str` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + +- `limit: Optional[int]` (query parameter) + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `100`. + + default: 20, minimum: 1, maximum: 100 + +- `organization_id: Optional[str]` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + +- `page: Optional[str]` (query parameter) + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + +- `target_type: Optional[Literal["organization", "organization_member", "rbac_group"]]` (query parameter) + + Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). + + - `"organization"` + + - `"organization_member"` + + - `"rbac_group"` + +- `betas: Optional[List[AnthropicBetaParam]]` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `str` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -110147,6 +112367,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplace` @@ -110419,6 +112643,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplace` @@ -110700,6 +112928,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplace` @@ -110988,6 +113220,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplaceValidationReport` @@ -111257,6 +113493,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplaceValidationReport` @@ -111617,6 +113857,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -111976,6 +114220,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -112326,6 +114574,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -112808,6 +115060,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -113156,6 +115412,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedTelemetryDestination` @@ -113320,6 +115580,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestinationTestResponse` @@ -113518,6 +115782,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -113710,6 +115978,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -113899,6 +116171,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedTelemetryDestinationWorkspace` @@ -114097,6 +116373,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaNewOrganizationWebhookEndpoint` @@ -114339,6 +116619,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -114563,6 +116847,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -114811,6 +117099,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -115029,6 +117321,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedOrganizationWebhookEndpoint` @@ -115200,6 +117496,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpointSigningSecret` diff --git a/content/en/api/python/beta/agents.md b/content/en/api/python/beta/agents.md index 30ea85416d..3a021d6e8f 100644 --- a/content/en/api/python/beta/agents.md +++ b/content/en/api/python/beta/agents.md @@ -1069,6 +1069,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2129,6 +2133,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3176,6 +3184,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5163,6 +5175,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -6201,6 +6217,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -13632,6 +13652,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/agents/archive.md b/content/en/api/python/beta/agents/archive.md index 49c127a10c..d494a586cf 100644 --- a/content/en/api/python/beta/agents/archive.md +++ b/content/en/api/python/beta/agents/archive.md @@ -127,6 +127,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/agents/create.md b/content/en/api/python/beta/agents/create.md index edd5b06aab..a52a466087 100644 --- a/content/en/api/python/beta/agents/create.md +++ b/content/en/api/python/beta/agents/create.md @@ -1067,6 +1067,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/agents/list.md b/content/en/api/python/beta/agents/list.md index 12719aab48..ae1177e177 100644 --- a/content/en/api/python/beta/agents/list.md +++ b/content/en/api/python/beta/agents/list.md @@ -149,6 +149,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/agents/retrieve.md b/content/en/api/python/beta/agents/retrieve.md index 1b6ba2c1a2..a58d3e498d 100644 --- a/content/en/api/python/beta/agents/retrieve.md +++ b/content/en/api/python/beta/agents/retrieve.md @@ -133,6 +133,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/agents/update.md b/content/en/api/python/beta/agents/update.md index 285ea83785..232111d7e2 100644 --- a/content/en/api/python/beta/agents/update.md +++ b/content/en/api/python/beta/agents/update.md @@ -1077,6 +1077,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/agents/versions.md b/content/en/api/python/beta/agents/versions.md index 20014fcea2..a563420334 100644 --- a/content/en/api/python/beta/agents/versions.md +++ b/content/en/api/python/beta/agents/versions.md @@ -139,6 +139,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/agents/versions/list.md b/content/en/api/python/beta/agents/versions/list.md index a5d3ad5c71..90e9f5ef64 100644 --- a/content/en/api/python/beta/agents/versions/list.md +++ b/content/en/api/python/beta/agents/versions/list.md @@ -137,6 +137,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployment_runs.md b/content/en/api/python/beta/deployment_runs.md index 7c4e20c581..f9bd71a79b 100644 --- a/content/en/api/python/beta/deployment_runs.md +++ b/content/en/api/python/beta/deployment_runs.md @@ -179,6 +179,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -579,6 +583,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployment_runs/list.md b/content/en/api/python/beta/deployment_runs/list.md index 7461ded045..c4815fc508 100644 --- a/content/en/api/python/beta/deployment_runs/list.md +++ b/content/en/api/python/beta/deployment_runs/list.md @@ -177,6 +177,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployment_runs/retrieve.md b/content/en/api/python/beta/deployment_runs/retrieve.md index f835715039..c4eb613f12 100644 --- a/content/en/api/python/beta/deployment_runs/retrieve.md +++ b/content/en/api/python/beta/deployment_runs/retrieve.md @@ -127,6 +127,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments.md b/content/en/api/python/beta/deployments.md index 013e4f3fb0..bd3e237128 100644 --- a/content/en/api/python/beta/deployments.md +++ b/content/en/api/python/beta/deployments.md @@ -525,6 +525,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1310,6 +1314,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2048,6 +2056,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3182,6 +3194,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3916,6 +3932,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4650,6 +4670,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5046,6 +5070,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5780,6 +5808,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/archive.md b/content/en/api/python/beta/deployments/archive.md index a37f5adb52..319606b986 100644 --- a/content/en/api/python/beta/deployments/archive.md +++ b/content/en/api/python/beta/deployments/archive.md @@ -127,6 +127,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/create.md b/content/en/api/python/beta/deployments/create.md index bfc5b21ee2..aed67da8c9 100644 --- a/content/en/api/python/beta/deployments/create.md +++ b/content/en/api/python/beta/deployments/create.md @@ -523,6 +523,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/list.md b/content/en/api/python/beta/deployments/list.md index afe70e071b..50e9573680 100644 --- a/content/en/api/python/beta/deployments/list.md +++ b/content/en/api/python/beta/deployments/list.md @@ -165,6 +165,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/pause.md b/content/en/api/python/beta/deployments/pause.md index bf1379e150..ce56b03c74 100644 --- a/content/en/api/python/beta/deployments/pause.md +++ b/content/en/api/python/beta/deployments/pause.md @@ -127,6 +127,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/retrieve.md b/content/en/api/python/beta/deployments/retrieve.md index b1c04ec851..2ba8e2e1ab 100644 --- a/content/en/api/python/beta/deployments/retrieve.md +++ b/content/en/api/python/beta/deployments/retrieve.md @@ -127,6 +127,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/run.md b/content/en/api/python/beta/deployments/run.md index d4c438d070..cdf47b2baf 100644 --- a/content/en/api/python/beta/deployments/run.md +++ b/content/en/api/python/beta/deployments/run.md @@ -127,6 +127,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/unpause.md b/content/en/api/python/beta/deployments/unpause.md index 68c5e020f4..088ac0965a 100644 --- a/content/en/api/python/beta/deployments/unpause.md +++ b/content/en/api/python/beta/deployments/unpause.md @@ -127,6 +127,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/deployments/update.md b/content/en/api/python/beta/deployments/update.md index b24491949d..940f074fe8 100644 --- a/content/en/api/python/beta/deployments/update.md +++ b/content/en/api/python/beta/deployments/update.md @@ -527,6 +527,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments.md b/content/en/api/python/beta/environments.md index 73ef6a5b48..45a3ec7806 100644 --- a/content/en/api/python/beta/environments.md +++ b/content/en/api/python/beta/environments.md @@ -241,6 +241,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -583,6 +587,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -915,6 +923,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1359,6 +1371,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1687,6 +1703,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1857,6 +1877,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2654,6 +2678,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2921,6 +2949,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: Optional[str]` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -3175,6 +3207,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -3434,6 +3470,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -3634,6 +3674,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3899,6 +3943,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -4159,6 +4207,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4413,6 +4465,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/archive.md b/content/en/api/python/beta/environments/archive.md index 41c29ea980..c16f3f0f5b 100644 --- a/content/en/api/python/beta/environments/archive.md +++ b/content/en/api/python/beta/environments/archive.md @@ -125,6 +125,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/create.md b/content/en/api/python/beta/environments/create.md index 404435a929..6c9ee91865 100644 --- a/content/en/api/python/beta/environments/create.md +++ b/content/en/api/python/beta/environments/create.md @@ -239,6 +239,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/delete.md b/content/en/api/python/beta/environments/delete.md index 3dc84f89ab..7ca6b09ca2 100644 --- a/content/en/api/python/beta/environments/delete.md +++ b/content/en/api/python/beta/environments/delete.md @@ -125,6 +125,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/list.md b/content/en/api/python/beta/environments/list.md index 559f3f48c8..d16a8a998b 100644 --- a/content/en/api/python/beta/environments/list.md +++ b/content/en/api/python/beta/environments/list.md @@ -139,6 +139,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/retrieve.md b/content/en/api/python/beta/environments/retrieve.md index 5a5a09d9ea..1bf51fd415 100644 --- a/content/en/api/python/beta/environments/retrieve.md +++ b/content/en/api/python/beta/environments/retrieve.md @@ -125,6 +125,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/update.md b/content/en/api/python/beta/environments/update.md index ed409cccfc..754897b7e2 100644 --- a/content/en/api/python/beta/environments/update.md +++ b/content/en/api/python/beta/environments/update.md @@ -241,6 +241,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/work.md b/content/en/api/python/beta/environments/work.md index e53afb99a9..9f65f2e758 100644 --- a/content/en/api/python/beta/environments/work.md +++ b/content/en/api/python/beta/environments/work.md @@ -131,6 +131,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -398,6 +402,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: Optional[str]` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -652,6 +660,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `class BetaSelfHostedWork` @@ -911,6 +923,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -1111,6 +1127,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1376,6 +1396,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `class BetaSelfHostedWork` @@ -1636,6 +1660,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1890,6 +1918,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/work/ack.md b/content/en/api/python/beta/environments/work/ack.md index beec732a9e..5b636ea4ff 100644 --- a/content/en/api/python/beta/environments/work/ack.md +++ b/content/en/api/python/beta/environments/work/ack.md @@ -129,6 +129,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/python/beta/environments/work/heartbeat.md b/content/en/api/python/beta/environments/work/heartbeat.md index abb873dfd1..b4fe4793e9 100644 --- a/content/en/api/python/beta/environments/work/heartbeat.md +++ b/content/en/api/python/beta/environments/work/heartbeat.md @@ -137,6 +137,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `class BetaSelfHostedWorkHeartbeatResponse` diff --git a/content/en/api/python/beta/environments/work/list.md b/content/en/api/python/beta/environments/work/list.md index 07dda67e4d..365db94e24 100644 --- a/content/en/api/python/beta/environments/work/list.md +++ b/content/en/api/python/beta/environments/work/list.md @@ -137,6 +137,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/python/beta/environments/work/poll.md b/content/en/api/python/beta/environments/work/poll.md index 25f89b40ed..0f4515e75e 100644 --- a/content/en/api/python/beta/environments/work/poll.md +++ b/content/en/api/python/beta/environments/work/poll.md @@ -139,6 +139,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: Optional[str]` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console diff --git a/content/en/api/python/beta/environments/work/retrieve.md b/content/en/api/python/beta/environments/work/retrieve.md index ff72370408..ee3d7e7b55 100644 --- a/content/en/api/python/beta/environments/work/retrieve.md +++ b/content/en/api/python/beta/environments/work/retrieve.md @@ -129,6 +129,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/work/stats.md b/content/en/api/python/beta/environments/work/stats.md index cce3852f74..7d3a59bd11 100644 --- a/content/en/api/python/beta/environments/work/stats.md +++ b/content/en/api/python/beta/environments/work/stats.md @@ -125,6 +125,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/work/stop.md b/content/en/api/python/beta/environments/work/stop.md index 9ea9c8d361..4d0322fdee 100644 --- a/content/en/api/python/beta/environments/work/stop.md +++ b/content/en/api/python/beta/environments/work/stop.md @@ -135,6 +135,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/environments/work/update.md b/content/en/api/python/beta/environments/work/update.md index 61af998898..6eb81d802c 100644 --- a/content/en/api/python/beta/environments/work/update.md +++ b/content/en/api/python/beta/environments/work/update.md @@ -133,6 +133,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/files.md b/content/en/api/python/beta/files.md index 7eb44136e1..e22e721499 100644 --- a/content/en/api/python/beta/files.md +++ b/content/en/api/python/beta/files.md @@ -137,6 +137,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -383,6 +387,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -617,6 +625,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -770,6 +782,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1000,6 +1016,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/files/delete.md b/content/en/api/python/beta/files/delete.md index b25b21d280..71298c0df2 100644 --- a/content/en/api/python/beta/files/delete.md +++ b/content/en/api/python/beta/files/delete.md @@ -127,6 +127,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/files/download.md b/content/en/api/python/beta/files/download.md index 16ac53a4ac..3d3fa5faa5 100644 --- a/content/en/api/python/beta/files/download.md +++ b/content/en/api/python/beta/files/download.md @@ -127,6 +127,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/files/list.md b/content/en/api/python/beta/files/list.md index 4a505478fc..ae1fd8722f 100644 --- a/content/en/api/python/beta/files/list.md +++ b/content/en/api/python/beta/files/list.md @@ -143,6 +143,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/files/retrieve_metadata.md b/content/en/api/python/beta/files/retrieve_metadata.md index 4035f59440..9c18206282 100644 --- a/content/en/api/python/beta/files/retrieve_metadata.md +++ b/content/en/api/python/beta/files/retrieve_metadata.md @@ -127,6 +127,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/files/upload.md b/content/en/api/python/beta/files/upload.md index 632b8795bf..fa368e409c 100644 --- a/content/en/api/python/beta/files/upload.md +++ b/content/en/api/python/beta/files/upload.md @@ -135,6 +135,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores.md b/content/en/api/python/beta/memory_stores.md index 2bc08b55c6..59e846e7d8 100644 --- a/content/en/api/python/beta/memory_stores.md +++ b/content/en/api/python/beta/memory_stores.md @@ -147,6 +147,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -383,6 +387,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -599,6 +607,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -835,6 +847,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1051,6 +1067,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1221,6 +1241,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1529,6 +1553,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1799,6 +1827,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2067,6 +2099,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2338,6 +2374,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2577,6 +2617,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2824,6 +2868,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3159,6 +3207,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3475,6 +3527,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/archive.md b/content/en/api/python/beta/memory_stores/archive.md index b9d441b003..94caa84647 100644 --- a/content/en/api/python/beta/memory_stores/archive.md +++ b/content/en/api/python/beta/memory_stores/archive.md @@ -129,6 +129,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/create.md b/content/en/api/python/beta/memory_stores/create.md index 2998f3bac6..86c868bfc9 100644 --- a/content/en/api/python/beta/memory_stores/create.md +++ b/content/en/api/python/beta/memory_stores/create.md @@ -145,6 +145,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/delete.md b/content/en/api/python/beta/memory_stores/delete.md index a1a30b62cb..b1c7c051e7 100644 --- a/content/en/api/python/beta/memory_stores/delete.md +++ b/content/en/api/python/beta/memory_stores/delete.md @@ -129,6 +129,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/list.md b/content/en/api/python/beta/memory_stores/list.md index d180239dbf..a524d85351 100644 --- a/content/en/api/python/beta/memory_stores/list.md +++ b/content/en/api/python/beta/memory_stores/list.md @@ -149,6 +149,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memories.md b/content/en/api/python/beta/memory_stores/memories.md index 8a5844c5f1..653d48440e 100644 --- a/content/en/api/python/beta/memory_stores/memories.md +++ b/content/en/api/python/beta/memory_stores/memories.md @@ -157,6 +157,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -427,6 +431,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -695,6 +703,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -966,6 +978,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1205,6 +1221,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memories/create.md b/content/en/api/python/beta/memory_stores/memories/create.md index 069b34490e..8f6bbc5af8 100644 --- a/content/en/api/python/beta/memory_stores/memories/create.md +++ b/content/en/api/python/beta/memory_stores/memories/create.md @@ -155,6 +155,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memories/delete.md b/content/en/api/python/beta/memory_stores/memories/delete.md index 0db55a91e2..53c9ef61f1 100644 --- a/content/en/api/python/beta/memory_stores/memories/delete.md +++ b/content/en/api/python/beta/memory_stores/memories/delete.md @@ -137,6 +137,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memories/list.md b/content/en/api/python/beta/memory_stores/memories/list.md index 9367acde5c..01b30503c2 100644 --- a/content/en/api/python/beta/memory_stores/memories/list.md +++ b/content/en/api/python/beta/memory_stores/memories/list.md @@ -167,6 +167,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memories/retrieve.md b/content/en/api/python/beta/memory_stores/memories/retrieve.md index 80e607e875..e9927cd72c 100644 --- a/content/en/api/python/beta/memory_stores/memories/retrieve.md +++ b/content/en/api/python/beta/memory_stores/memories/retrieve.md @@ -145,6 +145,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memories/update.md b/content/en/api/python/beta/memory_stores/memories/update.md index b245931e6e..d894f8d837 100644 --- a/content/en/api/python/beta/memory_stores/memories/update.md +++ b/content/en/api/python/beta/memory_stores/memories/update.md @@ -169,6 +169,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memory_versions.md b/content/en/api/python/beta/memory_stores/memory_versions.md index 60c27674c2..ff778541aa 100644 --- a/content/en/api/python/beta/memory_stores/memory_versions.md +++ b/content/en/api/python/beta/memory_stores/memory_versions.md @@ -201,6 +201,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -536,6 +540,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -852,6 +860,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memory_versions/list.md b/content/en/api/python/beta/memory_stores/memory_versions/list.md index 584b16e4ca..1d713d4120 100644 --- a/content/en/api/python/beta/memory_stores/memory_versions/list.md +++ b/content/en/api/python/beta/memory_stores/memory_versions/list.md @@ -199,6 +199,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memory_versions/redact.md b/content/en/api/python/beta/memory_stores/memory_versions/redact.md index da0fb4f106..a092e80a50 100644 --- a/content/en/api/python/beta/memory_stores/memory_versions/redact.md +++ b/content/en/api/python/beta/memory_stores/memory_versions/redact.md @@ -131,6 +131,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/memory_versions/retrieve.md b/content/en/api/python/beta/memory_stores/memory_versions/retrieve.md index 10c84db641..4f0fb2263f 100644 --- a/content/en/api/python/beta/memory_stores/memory_versions/retrieve.md +++ b/content/en/api/python/beta/memory_stores/memory_versions/retrieve.md @@ -145,6 +145,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/retrieve.md b/content/en/api/python/beta/memory_stores/retrieve.md index cd06633c19..0810376694 100644 --- a/content/en/api/python/beta/memory_stores/retrieve.md +++ b/content/en/api/python/beta/memory_stores/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/memory_stores/update.md b/content/en/api/python/beta/memory_stores/update.md index a1e6e5e2e9..c59aba6921 100644 --- a/content/en/api/python/beta/memory_stores/update.md +++ b/content/en/api/python/beta/memory_stores/update.md @@ -149,6 +149,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages.md b/content/en/api/python/beta/messages.md index fc63e4a26b..7b40b88cdb 100644 --- a/content/en/api/python/beta/messages.md +++ b/content/en/api/python/beta/messages.md @@ -3944,6 +3944,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `class BetaThinkingConfigAdaptiveParam` +- `thread: Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + - `tool_choice: Optional[BetaToolChoiceParam]` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4249,6 +4269,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -12580,6 +12604,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -51409,6 +51437,28 @@ print(beta_message_tokens_count.context_management) - `"max"` +### Beta Message Thread Param + +- `type BetaMessageThreadParam = Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `class BetaMessageTokensCount` @@ -74629,6 +74679,26 @@ print(beta_message_tokens_count.context_management) minimum: 1 +### Beta Thread Continue Params + +- `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + ### Beta Token Task Budget - `class BetaTokenTaskBudgetParam` @@ -94198,6 +94268,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptiveParam` + - `thread: Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + - `tool_choice: Optional[BetaToolChoiceParam]` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -94503,6 +94593,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -94803,6 +94897,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95097,6 +95195,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95387,6 +95489,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95671,6 +95777,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95847,6 +95957,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages/batches.md b/content/en/api/python/beta/messages/batches.md index 2c6a9deb85..db5070f854 100644 --- a/content/en/api/python/beta/messages/batches.md +++ b/content/en/api/python/beta/messages/batches.md @@ -3964,6 +3964,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptiveParam` + - `thread: Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + - `tool_choice: Optional[BetaToolChoiceParam]` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4269,6 +4289,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4569,6 +4593,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4863,6 +4891,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5153,6 +5185,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5437,6 +5473,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5613,6 +5653,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages/batches/cancel.md b/content/en/api/python/beta/messages/batches/cancel.md index d24dac7894..e47115dd45 100644 --- a/content/en/api/python/beta/messages/batches/cancel.md +++ b/content/en/api/python/beta/messages/batches/cancel.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages/batches/create.md b/content/en/api/python/beta/messages/batches/create.md index 27db0587c9..e78009d4e3 100644 --- a/content/en/api/python/beta/messages/batches/create.md +++ b/content/en/api/python/beta/messages/batches/create.md @@ -3962,6 +3962,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptiveParam` + - `thread: Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + - `tool_choice: Optional[BetaToolChoiceParam]` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4267,6 +4287,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. diff --git a/content/en/api/python/beta/messages/batches/delete.md b/content/en/api/python/beta/messages/batches/delete.md index 9a2f00d88b..3cbdf94f29 100644 --- a/content/en/api/python/beta/messages/batches/delete.md +++ b/content/en/api/python/beta/messages/batches/delete.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages/batches/list.md b/content/en/api/python/beta/messages/batches/list.md index 994aab3648..d72ca5dc44 100644 --- a/content/en/api/python/beta/messages/batches/list.md +++ b/content/en/api/python/beta/messages/batches/list.md @@ -141,6 +141,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages/batches/results.md b/content/en/api/python/beta/messages/batches/results.md index 8055a5cb2e..03983773c0 100644 --- a/content/en/api/python/beta/messages/batches/results.md +++ b/content/en/api/python/beta/messages/batches/results.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages/batches/retrieve.md b/content/en/api/python/beta/messages/batches/retrieve.md index 7b44e61cae..464de91243 100644 --- a/content/en/api/python/beta/messages/batches/retrieve.md +++ b/content/en/api/python/beta/messages/batches/retrieve.md @@ -129,6 +129,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/messages/count_tokens.md b/content/en/api/python/beta/messages/count_tokens.md index 070170c9d7..9522e10a91 100644 --- a/content/en/api/python/beta/messages/count_tokens.md +++ b/content/en/api/python/beta/messages/count_tokens.md @@ -4036,6 +4036,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/python/beta/messages/create.md b/content/en/api/python/beta/messages/create.md index 4060dfc9fd..2ea643891b 100644 --- a/content/en/api/python/beta/messages/create.md +++ b/content/en/api/python/beta/messages/create.md @@ -3942,6 +3942,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `class BetaThinkingConfigAdaptiveParam` +- `thread: Optional[BetaMessageThreadParam]` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: Literal["create"]` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: Literal["continue"]` + + - `previous_message_id: str` + + The `id` of the previous response in this Thread. + - `tool_choice: Optional[BetaToolChoiceParam]` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4247,6 +4267,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id: Optional[str]` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/python/beta/models.md b/content/en/api/python/beta/models.md index c287890597..3e532e679f 100644 --- a/content/en/api/python/beta/models.md +++ b/content/en/api/python/beta/models.md @@ -155,6 +155,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -489,7 +493,7 @@ print(page.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -628,6 +632,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -961,7 +969,7 @@ print(beta_model_info.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/python/beta/models/list.md b/content/en/api/python/beta/models/list.md index 31c24b99ae..d9d5f7df3f 100644 --- a/content/en/api/python/beta/models/list.md +++ b/content/en/api/python/beta/models/list.md @@ -153,6 +153,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -487,7 +491,7 @@ print(page.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/python/beta/models/retrieve.md b/content/en/api/python/beta/models/retrieve.md index 6c02888607..d88ea3b5cb 100644 --- a/content/en/api/python/beta/models/retrieve.md +++ b/content/en/api/python/beta/models/retrieve.md @@ -129,6 +129,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -462,7 +466,7 @@ print(beta_model_info.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/python/beta/sessions.md b/content/en/api/python/beta/sessions.md index 70757c7a5f..aa24ac883f 100644 --- a/content/en/api/python/beta/sessions.md +++ b/content/en/api/python/beta/sessions.md @@ -1247,6 +1247,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2828,6 +2832,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4320,6 +4328,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -6387,6 +6399,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7874,6 +7890,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -8038,6 +8058,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19833,6 +19857,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23299,6 +23327,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23929,6 +23961,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27082,6 +27118,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27276,6 +27316,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27560,6 +27604,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27839,6 +27887,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28113,6 +28165,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28304,6 +28360,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29388,6 +29448,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30467,6 +30531,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31554,6 +31622,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34669,6 +34741,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/archive.md b/content/en/api/python/beta/sessions/archive.md index b2ae0a34e5..f6163079cf 100644 --- a/content/en/api/python/beta/sessions/archive.md +++ b/content/en/api/python/beta/sessions/archive.md @@ -125,6 +125,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/create.md b/content/en/api/python/beta/sessions/create.md index a42e9ce757..a94d9bc946 100644 --- a/content/en/api/python/beta/sessions/create.md +++ b/content/en/api/python/beta/sessions/create.md @@ -1245,6 +1245,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/delete.md b/content/en/api/python/beta/sessions/delete.md index fd8e529f3a..f4b7732666 100644 --- a/content/en/api/python/beta/sessions/delete.md +++ b/content/en/api/python/beta/sessions/delete.md @@ -125,6 +125,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/events.md b/content/en/api/python/beta/sessions/events.md index 97172e848b..799f7cb03f 100644 --- a/content/en/api/python/beta/sessions/events.md +++ b/content/en/api/python/beta/sessions/events.md @@ -253,6 +253,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3719,6 +3723,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4349,6 +4357,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/events/list.md b/content/en/api/python/beta/sessions/events/list.md index ddd8b5e63a..ea5c1bc7f7 100644 --- a/content/en/api/python/beta/sessions/events/list.md +++ b/content/en/api/python/beta/sessions/events/list.md @@ -251,6 +251,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/events/send.md b/content/en/api/python/beta/sessions/events/send.md index 25f98d1b63..73e98f3626 100644 --- a/content/en/api/python/beta/sessions/events/send.md +++ b/content/en/api/python/beta/sessions/events/send.md @@ -487,6 +487,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/events/stream.md b/content/en/api/python/beta/sessions/events/stream.md index 98c2fbae62..1fa0170419 100644 --- a/content/en/api/python/beta/sessions/events/stream.md +++ b/content/en/api/python/beta/sessions/events/stream.md @@ -133,6 +133,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/list.md b/content/en/api/python/beta/sessions/list.md index 7c0e34c6b4..d584cfcbdc 100644 --- a/content/en/api/python/beta/sessions/list.md +++ b/content/en/api/python/beta/sessions/list.md @@ -207,6 +207,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/resources.md b/content/en/api/python/beta/sessions/resources.md index fdbdf2b381..67c5b979c4 100644 --- a/content/en/api/python/beta/sessions/resources.md +++ b/content/en/api/python/beta/sessions/resources.md @@ -141,6 +141,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -335,6 +339,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -619,6 +627,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -898,6 +910,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1172,6 +1188,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/resources/add.md b/content/en/api/python/beta/sessions/resources/add.md index e7eb05d7a3..bd6e8a7054 100644 --- a/content/en/api/python/beta/sessions/resources/add.md +++ b/content/en/api/python/beta/sessions/resources/add.md @@ -139,6 +139,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/resources/delete.md b/content/en/api/python/beta/sessions/resources/delete.md index 754dce6a0a..531054db81 100644 --- a/content/en/api/python/beta/sessions/resources/delete.md +++ b/content/en/api/python/beta/sessions/resources/delete.md @@ -127,6 +127,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/resources/list.md b/content/en/api/python/beta/sessions/resources/list.md index 9049408011..80ecad0b5c 100644 --- a/content/en/api/python/beta/sessions/resources/list.md +++ b/content/en/api/python/beta/sessions/resources/list.md @@ -135,6 +135,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/resources/retrieve.md b/content/en/api/python/beta/sessions/resources/retrieve.md index 61db91dd85..e4d2cce842 100644 --- a/content/en/api/python/beta/sessions/resources/retrieve.md +++ b/content/en/api/python/beta/sessions/resources/retrieve.md @@ -127,6 +127,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/resources/update.md b/content/en/api/python/beta/sessions/resources/update.md index ad3328368c..22ad3cea8d 100644 --- a/content/en/api/python/beta/sessions/resources/update.md +++ b/content/en/api/python/beta/sessions/resources/update.md @@ -133,6 +133,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/retrieve.md b/content/en/api/python/beta/sessions/retrieve.md index 734839ca8e..1b642c9a0f 100644 --- a/content/en/api/python/beta/sessions/retrieve.md +++ b/content/en/api/python/beta/sessions/retrieve.md @@ -125,6 +125,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/threads.md b/content/en/api/python/beta/sessions/threads.md index f4c5a9f01d..a33b13bcc1 100644 --- a/content/en/api/python/beta/sessions/threads.md +++ b/content/en/api/python/beta/sessions/threads.md @@ -151,6 +151,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1235,6 +1239,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2314,6 +2322,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7951,6 +7963,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -11066,6 +11082,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/threads/archive.md b/content/en/api/python/beta/sessions/threads/archive.md index e87a169e3a..7fcb612ad7 100644 --- a/content/en/api/python/beta/sessions/threads/archive.md +++ b/content/en/api/python/beta/sessions/threads/archive.md @@ -127,6 +127,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/threads/events.md b/content/en/api/python/beta/sessions/threads/events.md index 5a997714b9..ad2bde2061 100644 --- a/content/en/api/python/beta/sessions/threads/events.md +++ b/content/en/api/python/beta/sessions/threads/events.md @@ -135,6 +135,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3250,6 +3254,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/threads/events/list.md b/content/en/api/python/beta/sessions/threads/events/list.md index 2a31957aa9..2d52bfda05 100644 --- a/content/en/api/python/beta/sessions/threads/events/list.md +++ b/content/en/api/python/beta/sessions/threads/events/list.md @@ -133,6 +133,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/threads/events/stream.md b/content/en/api/python/beta/sessions/threads/events/stream.md index 50f34632de..7c44228e95 100644 --- a/content/en/api/python/beta/sessions/threads/events/stream.md +++ b/content/en/api/python/beta/sessions/threads/events/stream.md @@ -135,6 +135,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/threads/list.md b/content/en/api/python/beta/sessions/threads/list.md index 3e57350fd7..30df8437e3 100644 --- a/content/en/api/python/beta/sessions/threads/list.md +++ b/content/en/api/python/beta/sessions/threads/list.md @@ -149,6 +149,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/threads/retrieve.md b/content/en/api/python/beta/sessions/threads/retrieve.md index d9d0cd1917..15b3ce1783 100644 --- a/content/en/api/python/beta/sessions/threads/retrieve.md +++ b/content/en/api/python/beta/sessions/threads/retrieve.md @@ -127,6 +127,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/sessions/update.md b/content/en/api/python/beta/sessions/update.md index b9f470c183..3542395a19 100644 --- a/content/en/api/python/beta/sessions/update.md +++ b/content/en/api/python/beta/sessions/update.md @@ -705,6 +705,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills.md b/content/en/api/python/beta/skills.md index b02ae6e9b1..1c31d03254 100644 --- a/content/en/api/python/beta/skills.md +++ b/content/en/api/python/beta/skills.md @@ -137,6 +137,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -389,6 +393,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -628,6 +636,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -863,6 +875,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1160,6 +1176,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1377,6 +1397,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1593,6 +1617,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1755,6 +1783,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1966,6 +1998,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/create.md b/content/en/api/python/beta/skills/create.md index 843d556f20..2486b1f778 100644 --- a/content/en/api/python/beta/skills/create.md +++ b/content/en/api/python/beta/skills/create.md @@ -135,6 +135,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/delete.md b/content/en/api/python/beta/skills/delete.md index c6dcead78b..c405c2343d 100644 --- a/content/en/api/python/beta/skills/delete.md +++ b/content/en/api/python/beta/skills/delete.md @@ -129,6 +129,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/list.md b/content/en/api/python/beta/skills/list.md index af1c82f301..c7a1f653f0 100644 --- a/content/en/api/python/beta/skills/list.md +++ b/content/en/api/python/beta/skills/list.md @@ -146,6 +146,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/retrieve.md b/content/en/api/python/beta/skills/retrieve.md index 4f4c9d7f7c..f1fc6c0836 100644 --- a/content/en/api/python/beta/skills/retrieve.md +++ b/content/en/api/python/beta/skills/retrieve.md @@ -129,6 +129,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/versions.md b/content/en/api/python/beta/skills/versions.md index 4b0a88f762..26364fc326 100644 --- a/content/en/api/python/beta/skills/versions.md +++ b/content/en/api/python/beta/skills/versions.md @@ -137,6 +137,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -354,6 +358,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -570,6 +578,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -732,6 +744,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -943,6 +959,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/versions/create.md b/content/en/api/python/beta/skills/versions/create.md index 214fbe7e9f..7b31d80feb 100644 --- a/content/en/api/python/beta/skills/versions/create.md +++ b/content/en/api/python/beta/skills/versions/create.md @@ -135,6 +135,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/versions/delete.md b/content/en/api/python/beta/skills/versions/delete.md index 9be59952ec..8040c6d747 100644 --- a/content/en/api/python/beta/skills/versions/delete.md +++ b/content/en/api/python/beta/skills/versions/delete.md @@ -135,6 +135,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/versions/download.md b/content/en/api/python/beta/skills/versions/download.md index 38a846de71..bdb15866d5 100644 --- a/content/en/api/python/beta/skills/versions/download.md +++ b/content/en/api/python/beta/skills/versions/download.md @@ -135,6 +135,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/versions/list.md b/content/en/api/python/beta/skills/versions/list.md index f04f8d8cc8..754befc34b 100644 --- a/content/en/api/python/beta/skills/versions/list.md +++ b/content/en/api/python/beta/skills/versions/list.md @@ -141,6 +141,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/skills/versions/retrieve.md b/content/en/api/python/beta/skills/versions/retrieve.md index 2bfa231a5f..1b58226e59 100644 --- a/content/en/api/python/beta/skills/versions/retrieve.md +++ b/content/en/api/python/beta/skills/versions/retrieve.md @@ -135,6 +135,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels.md b/content/en/api/python/beta/tunnels.md index 4dd45181b4..02d5c04ce7 100644 --- a/content/en/api/python/beta/tunnels.md +++ b/content/en/api/python/beta/tunnels.md @@ -133,6 +133,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -325,6 +329,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -529,6 +537,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -727,6 +739,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -921,6 +937,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1102,6 +1122,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1335,6 +1359,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1541,6 +1569,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1757,6 +1789,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1968,6 +2004,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/archive.md b/content/en/api/python/beta/tunnels/archive.md index ecd05e65ff..9768dee784 100644 --- a/content/en/api/python/beta/tunnels/archive.md +++ b/content/en/api/python/beta/tunnels/archive.md @@ -129,6 +129,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/certificates.md b/content/en/api/python/beta/tunnels/certificates.md index ac5a97131a..900b194820 100644 --- a/content/en/api/python/beta/tunnels/certificates.md +++ b/content/en/api/python/beta/tunnels/certificates.md @@ -137,6 +137,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -343,6 +347,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -559,6 +567,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -770,6 +782,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/certificates/archive.md b/content/en/api/python/beta/tunnels/certificates/archive.md index 79b2eb4c4a..b4e4ce0ace 100644 --- a/content/en/api/python/beta/tunnels/certificates/archive.md +++ b/content/en/api/python/beta/tunnels/certificates/archive.md @@ -133,6 +133,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/certificates/create.md b/content/en/api/python/beta/tunnels/certificates/create.md index 47174c9ddd..dcfd7f3162 100644 --- a/content/en/api/python/beta/tunnels/certificates/create.md +++ b/content/en/api/python/beta/tunnels/certificates/create.md @@ -135,6 +135,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/certificates/list.md b/content/en/api/python/beta/tunnels/certificates/list.md index b943006e55..4c7e0de651 100644 --- a/content/en/api/python/beta/tunnels/certificates/list.md +++ b/content/en/api/python/beta/tunnels/certificates/list.md @@ -143,6 +143,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/certificates/retrieve.md b/content/en/api/python/beta/tunnels/certificates/retrieve.md index c79626a2ee..0feb333b68 100644 --- a/content/en/api/python/beta/tunnels/certificates/retrieve.md +++ b/content/en/api/python/beta/tunnels/certificates/retrieve.md @@ -133,6 +133,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/create.md b/content/en/api/python/beta/tunnels/create.md index be42963d45..4a49d2241a 100644 --- a/content/en/api/python/beta/tunnels/create.md +++ b/content/en/api/python/beta/tunnels/create.md @@ -131,6 +131,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/list.md b/content/en/api/python/beta/tunnels/list.md index 0433c9ee6c..0bd0e80d86 100644 --- a/content/en/api/python/beta/tunnels/list.md +++ b/content/en/api/python/beta/tunnels/list.md @@ -139,6 +139,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/retrieve.md b/content/en/api/python/beta/tunnels/retrieve.md index a2a1b61b25..fd647d58a6 100644 --- a/content/en/api/python/beta/tunnels/retrieve.md +++ b/content/en/api/python/beta/tunnels/retrieve.md @@ -129,6 +129,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/reveal_token.md b/content/en/api/python/beta/tunnels/reveal_token.md index 162b25e247..3a728c0a50 100644 --- a/content/en/api/python/beta/tunnels/reveal_token.md +++ b/content/en/api/python/beta/tunnels/reveal_token.md @@ -129,6 +129,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/tunnels/rotate_token.md b/content/en/api/python/beta/tunnels/rotate_token.md index b5ba4adee5..b71b914c47 100644 --- a/content/en/api/python/beta/tunnels/rotate_token.md +++ b/content/en/api/python/beta/tunnels/rotate_token.md @@ -135,6 +135,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/user_profiles.md b/content/en/api/python/beta/user_profiles.md index 9cae607327..c8184feb39 100644 --- a/content/en/api/python/beta/user_profiles.md +++ b/content/en/api/python/beta/user_profiles.md @@ -219,6 +219,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -552,6 +556,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -859,6 +867,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1256,6 +1268,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1559,6 +1575,10 @@ Delete User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1727,6 +1747,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2204,6 +2228,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/user_profiles/create.md b/content/en/api/python/beta/user_profiles/create.md index 8460614c88..e70acaab45 100644 --- a/content/en/api/python/beta/user_profiles/create.md +++ b/content/en/api/python/beta/user_profiles/create.md @@ -217,6 +217,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/user_profiles/create_enrollment_url.md b/content/en/api/python/beta/user_profiles/create_enrollment_url.md index f7a520dbae..632a17d882 100644 --- a/content/en/api/python/beta/user_profiles/create_enrollment_url.md +++ b/content/en/api/python/beta/user_profiles/create_enrollment_url.md @@ -127,6 +127,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/user_profiles/list.md b/content/en/api/python/beta/user_profiles/list.md index 6b908fed4e..9e33f31ba1 100644 --- a/content/en/api/python/beta/user_profiles/list.md +++ b/content/en/api/python/beta/user_profiles/list.md @@ -159,6 +159,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/user_profiles/retrieve.md b/content/en/api/python/beta/user_profiles/retrieve.md index 8f76717039..4e1bd12588 100644 --- a/content/en/api/python/beta/user_profiles/retrieve.md +++ b/content/en/api/python/beta/user_profiles/retrieve.md @@ -127,6 +127,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/user_profiles/update.md b/content/en/api/python/beta/user_profiles/update.md index 3c071ae598..32f30ac078 100644 --- a/content/en/api/python/beta/user_profiles/update.md +++ b/content/en/api/python/beta/user_profiles/update.md @@ -221,6 +221,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults.md b/content/en/api/python/beta/vaults.md index 4a5c1ea919..ca9750fae7 100644 --- a/content/en/api/python/beta/vaults.md +++ b/content/en/api/python/beta/vaults.md @@ -135,6 +135,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -346,6 +350,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -551,6 +559,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -762,6 +774,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -963,6 +979,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1131,6 +1151,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1562,6 +1586,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1905,6 +1933,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2239,6 +2271,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2708,6 +2744,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3037,6 +3077,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3210,6 +3254,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3539,6 +3587,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/archive.md b/content/en/api/python/beta/vaults/archive.md index 958aba619c..882919cd9f 100644 --- a/content/en/api/python/beta/vaults/archive.md +++ b/content/en/api/python/beta/vaults/archive.md @@ -127,6 +127,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/create.md b/content/en/api/python/beta/vaults/create.md index 4d3da8c90e..d1e4d045c9 100644 --- a/content/en/api/python/beta/vaults/create.md +++ b/content/en/api/python/beta/vaults/create.md @@ -133,6 +133,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials.md b/content/en/api/python/beta/vaults/credentials.md index 65f5a8c8d3..fdd90daea9 100644 --- a/content/en/api/python/beta/vaults/credentials.md +++ b/content/en/api/python/beta/vaults/credentials.md @@ -305,6 +305,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -648,6 +652,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -982,6 +990,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1451,6 +1463,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1780,6 +1796,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1953,6 +1973,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2282,6 +2306,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials/archive.md b/content/en/api/python/beta/vaults/credentials/archive.md index d0c69e11c1..801c5a69e2 100644 --- a/content/en/api/python/beta/vaults/credentials/archive.md +++ b/content/en/api/python/beta/vaults/credentials/archive.md @@ -131,6 +131,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials/create.md b/content/en/api/python/beta/vaults/credentials/create.md index dd703fafbb..a2d128f6d3 100644 --- a/content/en/api/python/beta/vaults/credentials/create.md +++ b/content/en/api/python/beta/vaults/credentials/create.md @@ -303,6 +303,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials/delete.md b/content/en/api/python/beta/vaults/credentials/delete.md index 1a49598787..d9ede127a6 100644 --- a/content/en/api/python/beta/vaults/credentials/delete.md +++ b/content/en/api/python/beta/vaults/credentials/delete.md @@ -131,6 +131,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials/list.md b/content/en/api/python/beta/vaults/credentials/list.md index 28d37c46bd..a7010559de 100644 --- a/content/en/api/python/beta/vaults/credentials/list.md +++ b/content/en/api/python/beta/vaults/credentials/list.md @@ -141,6 +141,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/python/beta/vaults/credentials/mcp_oauth_validate.md index f82af3872f..7c7d17d387 100644 --- a/content/en/api/python/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/python/beta/vaults/credentials/mcp_oauth_validate.md @@ -131,6 +131,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials/retrieve.md b/content/en/api/python/beta/vaults/credentials/retrieve.md index f062bb2485..c84821efa2 100644 --- a/content/en/api/python/beta/vaults/credentials/retrieve.md +++ b/content/en/api/python/beta/vaults/credentials/retrieve.md @@ -131,6 +131,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/credentials/update.md b/content/en/api/python/beta/vaults/credentials/update.md index 1043a349f7..3adcdfb444 100644 --- a/content/en/api/python/beta/vaults/credentials/update.md +++ b/content/en/api/python/beta/vaults/credentials/update.md @@ -271,6 +271,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/delete.md b/content/en/api/python/beta/vaults/delete.md index e69fa5215d..467e9385ce 100644 --- a/content/en/api/python/beta/vaults/delete.md +++ b/content/en/api/python/beta/vaults/delete.md @@ -127,6 +127,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/list.md b/content/en/api/python/beta/vaults/list.md index af202b56ee..7628aa44bb 100644 --- a/content/en/api/python/beta/vaults/list.md +++ b/content/en/api/python/beta/vaults/list.md @@ -137,6 +137,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/retrieve.md b/content/en/api/python/beta/vaults/retrieve.md index 29134ac912..930e4186ba 100644 --- a/content/en/api/python/beta/vaults/retrieve.md +++ b/content/en/api/python/beta/vaults/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/beta/vaults/update.md b/content/en/api/python/beta/vaults/update.md index a57e859027..0fdd8926ac 100644 --- a/content/en/api/python/beta/vaults/update.md +++ b/content/en/api/python/beta/vaults/update.md @@ -137,6 +137,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id: Optional[str]` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/python/completions.md b/content/en/api/python/completions.md index feb5faf2cc..a6a77091a1 100644 --- a/content/en/api/python/completions.md +++ b/content/en/api/python/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/python/completions/create.md b/content/en/api/python/completions/create.md index a1dc5a9fca..c470fab0a4 100644 --- a/content/en/api/python/completions/create.md +++ b/content/en/api/python/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/python/models.md b/content/en/api/python/models.md index b73f174823..00902a1da2 100644 --- a/content/en/api/python/models.md +++ b/content/en/api/python/models.md @@ -354,7 +354,7 @@ print(page.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -691,7 +691,7 @@ print(model_info.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/python/models/list.md b/content/en/api/python/models/list.md index 39ff0d2c0b..bc74801753 100644 --- a/content/en/api/python/models/list.md +++ b/content/en/api/python/models/list.md @@ -352,7 +352,7 @@ print(page.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/python/models/retrieve.md b/content/en/api/python/models/retrieve.md index c14b16848d..06f7ac5943 100644 --- a/content/en/api/python/models/retrieve.md +++ b/content/en/api/python/models/retrieve.md @@ -327,7 +327,7 @@ print(model_info.id) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/ruby/beta.md b/content/en/api/ruby/beta.md index 9e85660775..c2c3c6acad 100644 --- a/content/en/api/ruby/beta.md +++ b/content/en/api/ruby/beta.md @@ -9,7 +9,7 @@ url: https://platform.claude.com/docs/en/api/ruby/beta ### Anthropic Beta -- `type AnthropicBeta = String | :"message-batches-2024-09-24" | :"prompt-caching-2024-07-31" | :"computer-use-2024-10-22" | 49 more` +- `type AnthropicBeta = String | :"message-batches-2024-09-24" | :"prompt-caching-2024-07-31" | :"computer-use-2024-10-22" | 51 more` - `String = String` @@ -117,6 +117,10 @@ url: https://platform.claude.com/docs/en/api/ruby/beta - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + ### Beta API Error - `class BetaAPIError` @@ -481,6 +485,10 @@ The Models API response can be used to determine which models are available for - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -807,7 +815,7 @@ puts(page) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -946,6 +954,10 @@ The Models API response can be used to determine information about a specific mo - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1270,7 +1282,7 @@ puts(beta_model_info) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -5219,6 +5231,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `class BetaThinkingConfigAdaptive` +- `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -5524,6 +5556,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -13681,6 +13717,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -17668,6 +17708,26 @@ Streams a message like `stream_raw` and returns a MessageStream, which accumulat - `class BetaThinkingConfigAdaptive` +- `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -17973,6 +18033,10 @@ Streams a message like `stream_raw` and returns a MessageStream, which accumulat - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -21968,6 +22032,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -22281,6 +22365,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -22557,6 +22645,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -22834,6 +22926,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23108,6 +23204,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23375,6 +23475,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23544,6 +23648,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28435,6 +28543,10 @@ Create Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29492,6 +29604,10 @@ List Agents - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30535,6 +30651,10 @@ Get Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32521,6 +32641,10 @@ Update Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33553,6 +33677,10 @@ Archive Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34597,6 +34725,10 @@ List Agent Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35746,6 +35878,10 @@ Create a new environment with the specified configuration. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -36077,6 +36213,10 @@ List environments with pagination support. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -36401,6 +36541,10 @@ Retrieve a specific environment by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -36834,6 +36978,10 @@ Update an existing environment's configuration. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37153,6 +37301,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37316,6 +37468,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37641,6 +37797,10 @@ Retrieve detailed information about a specific work item. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37900,6 +38060,10 @@ Long poll for work items in the queue. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: String` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -38147,6 +38311,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -38398,6 +38566,10 @@ Record a heartbeat for a work item to maintain the lease. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -38588,6 +38760,10 @@ Stop a work item, initiating graceful or forced shutdown. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -38845,6 +39021,10 @@ List work items in an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -39097,6 +39277,10 @@ Update work item metadata with merge semantics. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -39346,6 +39530,10 @@ Get statistics about the work queue for an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -40652,6 +40840,10 @@ Create Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -42219,6 +42411,10 @@ List Sessions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43707,6 +43903,10 @@ Get Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -45769,6 +45969,10 @@ Update Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -47251,6 +47455,10 @@ Delete Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -47410,6 +47618,10 @@ Archive Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -49020,6 +49232,10 @@ List Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52480,6 +52696,10 @@ Send Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53097,6 +53317,10 @@ Stream Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56247,6 +56471,10 @@ Add Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56438,6 +56666,10 @@ List Session Resources - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56716,6 +56948,10 @@ Get Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56992,6 +57228,10 @@ Update Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -57263,6 +57503,10 @@ Delete Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -57451,6 +57695,10 @@ List Session Threads - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -58529,6 +58777,10 @@ Get Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -59605,6 +59857,10 @@ Archive Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -60689,6 +60945,10 @@ List Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -63800,6 +64060,10 @@ Stream Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67337,6 +67601,10 @@ Create Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68109,6 +68377,10 @@ List Deployments - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68843,6 +69115,10 @@ Get Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69972,6 +70248,10 @@ Update Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70701,6 +70981,10 @@ Archive Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71430,6 +71714,10 @@ Run Deployment Now - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71821,6 +72109,10 @@ Pause Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72550,6 +72842,10 @@ Unpause Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73331,6 +73627,10 @@ List Deployment Runs - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73727,6 +74027,10 @@ Get Deployment Run - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74126,6 +74430,10 @@ Create a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74332,6 +74640,10 @@ List Vaults - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74533,6 +74845,10 @@ Retrieve a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74739,6 +75055,10 @@ Update a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74935,6 +75255,10 @@ Delete a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75098,6 +75422,10 @@ Archive a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75472,6 +75800,10 @@ Create a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75812,6 +76144,10 @@ List Credentials - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76140,6 +76476,10 @@ Retrieve a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76606,6 +76946,10 @@ Update a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76932,6 +77276,10 @@ Delete a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77102,6 +77450,10 @@ Archive a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77428,6 +77780,10 @@ Validate an MCP OAuth Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77724,6 +78080,10 @@ Create a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77955,6 +78315,10 @@ List Memory Stores - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78167,6 +78531,10 @@ Retrieve a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78398,6 +78766,10 @@ Update a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78609,6 +78981,10 @@ Delete a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78774,6 +79150,10 @@ Archive a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79013,6 +79393,10 @@ Create a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79276,6 +79660,10 @@ List Memories - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79538,6 +79926,10 @@ Retrieve a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79803,6 +80195,10 @@ Update a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80036,6 +80432,10 @@ Delete a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80277,6 +80677,10 @@ List Memory Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80606,6 +81010,10 @@ Retrieve a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80919,6 +81327,10 @@ Redact a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81238,6 +81650,10 @@ Upload File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81477,6 +81893,10 @@ List Files - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81705,6 +82125,10 @@ Download File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81851,6 +82275,10 @@ Get File Metadata - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82074,6 +82502,10 @@ Delete File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82249,6 +82681,10 @@ Create Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82494,6 +82930,10 @@ List Skills - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82727,6 +83167,10 @@ Get Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82955,6 +83399,10 @@ Delete Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83132,6 +83580,10 @@ Create Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83341,6 +83793,10 @@ List Skill Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83549,6 +84005,10 @@ Download a skill version's content as a zip archive. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83703,6 +84163,10 @@ Get Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83906,6 +84370,10 @@ Delete Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84164,6 +84632,10 @@ Create User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84494,6 +84966,10 @@ List User Profiles - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84797,6 +85273,10 @@ Get User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85189,6 +85669,10 @@ Update User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85487,6 +85971,10 @@ Delete User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85650,6 +86138,10 @@ Create Enrollment URL - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85830,6 +86322,10 @@ Create Action URL - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86109,6 +86605,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86581,6 +87081,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -87000,6 +87504,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -87414,6 +87922,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -87828,6 +88340,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88244,6 +88760,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88433,6 +88953,10 @@ Fetches a tunnel by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88632,6 +89156,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88826,6 +89354,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -89015,6 +89547,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -89191,6 +89727,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -89369,6 +89909,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -89569,6 +90113,10 @@ Fetches a tunnel certificate by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -89779,6 +90327,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -89984,6 +90536,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -91690,6 +92246,10 @@ matched as the JWT's `iss` claim and is not fetched. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -92007,6 +92567,10 @@ Archived issuers are excluded unless `include_archived=true`. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -92317,6 +92881,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -92705,6 +93273,10 @@ session. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -93015,6 +93587,10 @@ issuer cannot be changed), or recreate them against another issuer. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationIssuer` @@ -93412,6 +93988,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -93746,6 +94326,10 @@ unless `include_archived=true`. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -94062,6 +94646,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -94465,6 +95053,10 @@ Console session. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -94784,6 +95376,10 @@ other scopes require a Console session. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRule` @@ -95110,6 +95706,10 @@ other scopes require a Console session. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRuleWorkspace` @@ -95308,6 +95908,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaFederationRuleWorkspace` @@ -95501,6 +96105,10 @@ Console session. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class WorkspaceRemoveResponse` @@ -96164,6 +96772,10 @@ accounts. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -96395,6 +97007,10 @@ archived service accounts. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -96617,6 +97233,10 @@ Retrieve a service account by its ID (`svac_...`). - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -96853,6 +97473,10 @@ interactive credential (a user OAuth token or a Console session). - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -97075,6 +97699,10 @@ those rules first or change their target to another service account. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccount` @@ -97317,6 +97945,10 @@ rejected. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -97532,6 +98164,10 @@ page to recover. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -97736,6 +98372,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class WorkspaceRemoveResponse` @@ -98491,6 +99131,10 @@ Create Workspace - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaWorkspace` @@ -100102,6 +100746,10 @@ omitted from the results. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -100319,207 +100967,215 @@ accounts cannot be added and are rejected. - `:"webhooks-2026-10-07"` -#### Returns - -- `class BetaServiceAccountWorkspaceMember` - - - `type: :service_account_workspace_member` - - - `created_by_actor_id: String` - - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. - - - `implicit: bool` - - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. - - - `service_account_id: String` - - Tagged service account ID (`svac_...`). - - - `workspace_id: String` - - Tagged workspace ID (`wrkspc_...`). - - - `workspace_role: BetaWorkspaceRole` - - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. - - - `:workspace_admin` - - - `:workspace_billing` - - - `:workspace_developer` - - - `:workspace_restricted_developer` - - - `:workspace_user` - -#### Example - -```ruby -require "anthropic" - -anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key") - -beta_service_account_workspace_member = anthropic.beta.organization.workspaces.service_accounts.add( - "workspace_id", - service_account_id: "service_account_id", - workspace_role: :workspace_admin -) - -puts(beta_service_account_workspace_member) -``` - -##### Response (200) - -```json -{ - "created_by_actor_id": "created_by_actor_id", - "implicit": true, - "service_account_id": "service_account_id", - "type": "service_account_workspace_member", - "workspace_id": "workspace_id", - "workspace_role": "workspace_admin" -} -``` - -### Get Service Account Workspace Member - -`beta.organization.workspaces.service_accounts.retrieve(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember` - -**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` - -**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=ruby). - -Retrieve a service account's membership in a workspace. - -Returns the membership record, including the service account's -`workspace_role` in this workspace. Archived workspaces return 400. For -the default workspace, returns the implicit (`implicit: true`) -membership when no explicit membership exists; an explicitly added -membership is returned with its assigned role. An archived service -account returns 404. - -#### Parameters - -- `workspace_id: String` (path parameter) - - ID of the workspace. - -- `service_account_id: String` (path parameter) - - ID of the service account. - -- `betas: Array[AnthropicBeta]` (header parameter) - - Optional header to specify the beta version(s) you want to use. - - - `String = String` - - - `:"message-batches-2024-09-24"` - - - `:"prompt-caching-2024-07-31"` + - `:"message-threads-2026-08-12"` - - `:"computer-use-2024-10-22"` - - - `:"computer-use-2025-01-24"` - - - `:"pdfs-2024-09-25"` - - - `:"token-counting-2024-11-01"` - - - `:"token-efficient-tools-2025-02-19"` - - - `:"output-128k-2025-02-19"` - - - `:"files-api-2025-04-14"` - - - `:"mcp-client-2025-04-04"` - - - `:"mcp-client-2025-11-20"` - - - `:"dev-full-thinking-2025-05-14"` - - - `:"interleaved-thinking-2025-05-14"` - - - `:"code-execution-2025-05-22"` - - - `:"extended-cache-ttl-2025-04-11"` - - - `:"context-1m-2025-08-07"` - - - `:"context-management-2025-06-27"` - - - `:"model-context-window-exceeded-2025-08-26"` - - - `:"skills-2025-10-02"` - - - `:"fast-mode-2026-02-01"` - - - `:"output-300k-2026-03-24"` - - - `:"user-profiles-2026-03-24"` - - - `:"user-profiles-2026-08-18"` - - - `:"user-profiles-2026-09-04"` - - - `:"advisor-tool-2026-03-01"` - - - `:"managed-agents-2026-04-01"` - - - `:"cache-diagnosis-2026-04-07"` - - - `:"dreaming-2026-04-21"` - - - `:"thinking-token-count-2026-05-13"` - - - `:"server-side-fallback-2026-06-01"` - - - `:"server-side-fallback-2026-07-01"` - - - `:"fallback-credit-2026-06-01"` - - - `:"fallback-credit-2026-07-01"` - - - `:"agent-memory-2026-07-22"` - - - `:"mid-conversation-tool-changes-2026-07-01"` - - - `:"compact-2026-01-12"` - - - `:"computer-use-2025-11-24"` - - - `:"mcp-tunnels-2026-06-22"` - - - `:"structured-outputs-2025-11-13"` - - - `:"task-budgets-2026-03-13"` - - - `:"thinking-display-updates-2026-08-18"` - - - `:"ce-user-management-2026-07-13"` - - - `:"mid-conversation-output-config-2026-07-01"` - - - `:"thinking-binding-controls-2026-08-01"` - - - `:"mid-conversation-system-clear-at-2026-08-21"` - - - `:"compact-2026-09-04"` - - - `:"inline-tools-2026-09-15"` - - - `:"mcp-client-2026-09-15"` - - - `:"ce-plugins-2026-09-01"` - - - `:"spend-limit-reads-2026-09-26"` - - - `:"telemetry-destinations-2026-08-11"` - - - `:"webhooks-2026-10-07"` + - `:"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `class BetaServiceAccountWorkspaceMember` + + - `type: :service_account_workspace_member` + + - `created_by_actor_id: String` + + Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. + + - `implicit: bool` + + True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. + + - `service_account_id: String` + + Tagged service account ID (`svac_...`). + + - `workspace_id: String` + + Tagged workspace ID (`wrkspc_...`). + + - `workspace_role: BetaWorkspaceRole` + + Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. + + - `:workspace_admin` + + - `:workspace_billing` + + - `:workspace_developer` + + - `:workspace_restricted_developer` + + - `:workspace_user` + +#### Example + +```ruby +require "anthropic" + +anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key") + +beta_service_account_workspace_member = anthropic.beta.organization.workspaces.service_accounts.add( + "workspace_id", + service_account_id: "service_account_id", + workspace_role: :workspace_admin +) + +puts(beta_service_account_workspace_member) +``` + +##### Response (200) + +```json +{ + "created_by_actor_id": "created_by_actor_id", + "implicit": true, + "service_account_id": "service_account_id", + "type": "service_account_workspace_member", + "workspace_id": "workspace_id", + "workspace_role": "workspace_admin" +} +``` + +### Get Service Account Workspace Member + +`beta.organization.workspaces.service_accounts.retrieve(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember` + +**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` + +**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=ruby). + +Retrieve a service account's membership in a workspace. + +Returns the membership record, including the service account's +`workspace_role` in this workspace. Archived workspaces return 400. For +the default workspace, returns the implicit (`implicit: true`) +membership when no explicit membership exists; an explicitly added +membership is returned with its assigned role. An archived service +account returns 404. + +#### Parameters + +- `workspace_id: String` (path parameter) + + ID of the workspace. + +- `service_account_id: String` (path parameter) + + ID of the service account. + +- `betas: Array[AnthropicBeta]` (header parameter) + + Optional header to specify the beta version(s) you want to use. + + - `String = String` + + - `:"message-batches-2024-09-24"` + + - `:"prompt-caching-2024-07-31"` + + - `:"computer-use-2024-10-22"` + + - `:"computer-use-2025-01-24"` + + - `:"pdfs-2024-09-25"` + + - `:"token-counting-2024-11-01"` + + - `:"token-efficient-tools-2025-02-19"` + + - `:"output-128k-2025-02-19"` + + - `:"files-api-2025-04-14"` + + - `:"mcp-client-2025-04-04"` + + - `:"mcp-client-2025-11-20"` + + - `:"dev-full-thinking-2025-05-14"` + + - `:"interleaved-thinking-2025-05-14"` + + - `:"code-execution-2025-05-22"` + + - `:"extended-cache-ttl-2025-04-11"` + + - `:"context-1m-2025-08-07"` + + - `:"context-management-2025-06-27"` + + - `:"model-context-window-exceeded-2025-08-26"` + + - `:"skills-2025-10-02"` + + - `:"fast-mode-2026-02-01"` + + - `:"output-300k-2026-03-24"` + + - `:"user-profiles-2026-03-24"` + + - `:"user-profiles-2026-08-18"` + + - `:"user-profiles-2026-09-04"` + + - `:"advisor-tool-2026-03-01"` + + - `:"managed-agents-2026-04-01"` + + - `:"cache-diagnosis-2026-04-07"` + + - `:"dreaming-2026-04-21"` + + - `:"thinking-token-count-2026-05-13"` + + - `:"server-side-fallback-2026-06-01"` + + - `:"server-side-fallback-2026-07-01"` + + - `:"fallback-credit-2026-06-01"` + + - `:"fallback-credit-2026-07-01"` + + - `:"agent-memory-2026-07-22"` + + - `:"mid-conversation-tool-changes-2026-07-01"` + + - `:"compact-2026-01-12"` + + - `:"computer-use-2025-11-24"` + + - `:"mcp-tunnels-2026-06-22"` + + - `:"structured-outputs-2025-11-13"` + + - `:"task-budgets-2026-03-13"` + + - `:"thinking-display-updates-2026-08-18"` + + - `:"ce-user-management-2026-07-13"` + + - `:"mid-conversation-output-config-2026-07-01"` + + - `:"thinking-binding-controls-2026-08-01"` + + - `:"mid-conversation-system-clear-at-2026-08-21"` + + - `:"compact-2026-09-04"` + + - `:"inline-tools-2026-09-15"` + + - `:"mcp-client-2026-09-15"` + + - `:"ce-plugins-2026-09-01"` + + - `:"spend-limit-reads-2026-09-26"` + + - `:"telemetry-destinations-2026-08-11"` + + - `:"webhooks-2026-10-07"` + + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` #### Returns @@ -100734,6 +101390,10 @@ rejected. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaServiceAccountWorkspaceMember` @@ -100935,6 +101595,10 @@ membership. Archived workspaces return 400. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class ServiceAccountRemoveResponse` @@ -103296,20 +103960,23 @@ puts(page) } ``` -## Beta › Organization › Analytics › Usage Report +## Beta › Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -`beta.organization.analytics.usage_report.list(**kwargs) -> ReportPageCursor` +`beta.organization.analytics.usage.list(**kwargs) -> ReportPageCursor` -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Parameters @@ -103319,19 +103986,41 @@ key with the `read:analytics` scope. format: date-time -- `bucket_width: :"1d" | :"1h" | :"1m"` (query parameter) +- `actor_ids: Array[String]` (query parameter) - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - - `:"1d"` + maxItems: 100 - - `:"1h"` +- `actor_types: Array[BetaAnalyticsActorType]` (query parameter) - - `:"1m"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `:api_actor` + + - `:federated_actor` + + - `:service_account_actor` + + - `:user_actor` + +- `agent_ids: Array[String]` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: Array[String]` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `claude_tag_categories: Array[BetaAnalyticsClaudeTagCategory]` (query parameter) - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -103361,24 +104050,52 @@ key with the `read:analytics` scope. - `:"200k-1M"` +- `deployment_ids: Array[String]` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at: Time` (query parameter) - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time -- `group_by: Array[:claude_tag_category | :claude_tag_user_id | :context_window | 6 more]` (query parameter) +- `environment_ids: Array[String]` (query parameter) - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. maxItems: 100 +- `exclude_deleted_users: bool` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + +- `group_by: Array[BetaAnalyticsUsageGroupBy]` (query parameter) + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `:actor` + + - `:actor_type` + + - `:agent_id` + + - `:api_key_id` + - `:claude_tag_category` - `:claude_tag_user_id` - `:context_window` + - `:deployment_id` + + - `:environment_id` + - `:inference_geo` - `:model` @@ -103387,10 +104104,18 @@ key with the `read:analytics` scope. - `:rbac_group_id` + - `:service_tier` + + - `:session_id` + - `:slack_channel_id` - `:speed` + - `:user_profile_id` + + - `:workspace_id` + - `inference_geos: Array[BetaAnalyticsInferenceGeoFilter]` (query parameter) Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -103405,9 +104130,9 @@ key with the `read:analytics` scope. - `limit: Integer` (query parameter) - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + minimum: 1, maximum: 1000 - `models: Array[String]` (query parameter) @@ -103415,13 +104140,35 @@ key with the `read:analytics` scope. maxItems: 100 +- `order: BetaAnalyticsUsageCostSortOrder` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `:asc` + + - `:desc` + +- `order_by: BetaAnalyticsUsageOrderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `:output_tokens` + + - `:requests` + + - `:time` + + - `:total_tokens` + + - `:uncached_input_tokens` + - `page: String` (query parameter) Opaque cursor from a previous response's `next_page` field. -- `products: Array[BetaAnalyticsProductFilter]` (query parameter) +- `products: Array[BetaAnalyticsUsageCostProductFilter]` (query parameter) - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 @@ -103429,16 +104176,24 @@ key with the `read:analytics` scope. - `:chat_cowork_unified` - - `:"claude-tag"` - - `:claude_code` + - `:claude_console` + - `:claude_design` - `:claude_in_chrome` + - `:claude_tag` + - `:cowork` + - `:managed_agents_api` + + - `:message_batches_api` + + - `:messages_api` + - `:office_agent` - `rbac_group_ids: Array[String]` (query parameter) @@ -103447,13 +104202,37 @@ key with the `read:analytics` scope. maxItems: 100 +- `service_tiers: Array[BetaAnalyticsServiceTier]` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `:batch` + + - `:flex` + + - `:flex_discount` + + - `:priority` + + - `:priority_on_demand` + + - `:standard` + +- `session_ids: Array[String]` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids: Array[String]` (query parameter) Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 -- `speeds: Array[:fast | :standard]` (query parameter) +- `speeds: Array[BetaAnalyticsSpeed]` (query parameter) Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -103463,49 +104242,1443 @@ key with the `read:analytics` scope. - `:standard` -- `user_ids: Array[String]` (query parameter) +- `time_bucket_width: BetaAnalyticsTimeBucketWidth` (query parameter) - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `:"1d"` + + - `:"1h"` + + - `:"1m"` + +- `user_profile_ids: Array[String]` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: Array[String]` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. maxItems: 100 +- `betas: Array[AnthropicBeta]` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `String = String` + + - `:"message-batches-2024-09-24"` + + - `:"prompt-caching-2024-07-31"` + + - `:"computer-use-2024-10-22"` + + - `:"computer-use-2025-01-24"` + + - `:"pdfs-2024-09-25"` + + - `:"token-counting-2024-11-01"` + + - `:"token-efficient-tools-2025-02-19"` + + - `:"output-128k-2025-02-19"` + + - `:"files-api-2025-04-14"` + + - `:"mcp-client-2025-04-04"` + + - `:"mcp-client-2025-11-20"` + + - `:"dev-full-thinking-2025-05-14"` + + - `:"interleaved-thinking-2025-05-14"` + + - `:"code-execution-2025-05-22"` + + - `:"extended-cache-ttl-2025-04-11"` + + - `:"context-1m-2025-08-07"` + + - `:"context-management-2025-06-27"` + + - `:"model-context-window-exceeded-2025-08-26"` + + - `:"skills-2025-10-02"` + + - `:"fast-mode-2026-02-01"` + + - `:"output-300k-2026-03-24"` + + - `:"user-profiles-2026-03-24"` + + - `:"user-profiles-2026-08-18"` + + - `:"user-profiles-2026-09-04"` + + - `:"advisor-tool-2026-03-01"` + + - `:"managed-agents-2026-04-01"` + + - `:"cache-diagnosis-2026-04-07"` + + - `:"dreaming-2026-04-21"` + + - `:"thinking-token-count-2026-05-13"` + + - `:"server-side-fallback-2026-06-01"` + + - `:"server-side-fallback-2026-07-01"` + + - `:"fallback-credit-2026-06-01"` + + - `:"fallback-credit-2026-07-01"` + + - `:"agent-memory-2026-07-22"` + + - `:"mid-conversation-tool-changes-2026-07-01"` + + - `:"compact-2026-01-12"` + + - `:"computer-use-2025-11-24"` + + - `:"mcp-tunnels-2026-06-22"` + + - `:"structured-outputs-2025-11-13"` + + - `:"task-budgets-2026-03-13"` + + - `:"thinking-display-updates-2026-08-18"` + + - `:"ce-user-management-2026-07-13"` + + - `:"mid-conversation-output-config-2026-07-01"` + + - `:"thinking-binding-controls-2026-08-01"` + + - `:"mid-conversation-system-clear-at-2026-08-21"` + + - `:"compact-2026-09-04"` + + - `:"inline-tools-2026-09-15"` + + - `:"mcp-client-2026-09-15"` + + - `:"ce-plugins-2026-09-01"` + + - `:"spend-limit-reads-2026-09-26"` + + - `:"telemetry-destinations-2026-08-11"` + + - `:"webhooks-2026-10-07"` + + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns -- `class BetaAnalyticsUsageReportTimeBucket` +- `class BetaAnalyticsUsageItem` - `ending_at: Time` - End of the time bucket (exclusive) in RFC 3339 format. + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `results: Array[BetaAnalyticsUsageBucketedResult]` + - `group: BetaAnalyticsUsageGroup` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + The dimension values this row's usage is broken out by. - - `cache_creation: BetaCacheCreation` + - `actor: BetaAnalyticsActor` - The number of input tokens for cache creation. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `ephemeral_1h_input_tokens: Integer` + - `class BetaAnalyticsReportUserActor` - The number of input tokens used to create the 1 hour cache entry. + - `type: :user_actor` - minimum: 0 + Actor type. Always `"user_actor"`. - - `ephemeral_5m_input_tokens: Integer` + - `deleted: bool` - The number of input tokens used to create the 5 minute cache entry. + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - minimum: 0 + - `email_address: String` - - `cache_read_input_tokens: Integer` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - The number of input tokens read from the cache. + - `name: String` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: String` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `type: :service_account_actor` + + - `service_account_id: String` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `type: :federated_actor` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAWSProvider` + + - `type: :aws` + + - `account_id: String` + + The AWS account the organization is bound to. + + - `signed_principal: String` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `type: :azure` + + - `subscription_id: String` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGCPProvider` + + - `type: :gcp` + + - `project_number: String` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOIDCProvider` + + - `type: :oidc` + + - `issuer: String` + + The federation issuer's URL. + + - `subject: String` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsAPIActor` + + - `type: :api_actor` + + - `api_key_id: String` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `:api_actor` + + - `:federated_actor` + + - `:service_account_actor` + + - `:user_actor` + + - `agent_id: String` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: String` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - `claude_tag_category: BetaAnalyticsClaudeTagCategory` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `:dm` + + - `:engaged` + + - `:monitoring` + + - `:proactive` + + - `:scheduled` + + - `claude_tag_user_id: String` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `:"0-200k"` + + - `:"200k-1M"` + + - `deployment_id: String` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: String` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `:global` + + - `:us` + + - `model: String` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: String` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: String` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `:batch` + + - `:flex` + + - `:flex_discount` + + - `:priority` + + - `:priority_on_demand` + + - `:standard` + + - `session_id: String` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: String` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `:fast` + + - `:standard` + + - `user_profile_id: String` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: String` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: Time` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: Integer` + + The number of input tokens used to create the 1 hour cache entry. + + minimum: 0 + + - `ephemeral_5m_input_tokens: Integer` + + The number of input tokens used to create the 5 minute cache entry. + + minimum: 0 + + - `cache_read_input_tokens: Integer` + + The number of input tokens read from the cache. + + - `output_tokens: Integer` + + The number of output tokens generated. + + - `requests: Integer` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: Integer` + + The number of web search requests made. + + - `total_tokens: Integer` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: Integer` + + The number of uncached input tokens processed. + +#### Example + +```ruby +require "anthropic" + +anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key") + +page = anthropic.beta.organization.analytics.usage.list(starting_at: "2026-09-01T00:00:00Z") + +puts(page) +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`beta.organization.analytics.cost.list(**kwargs) -> ReportPageCursor` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `starting_at: Time` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `actor_ids: Array[String]` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + +- `actor_types: Array[BetaAnalyticsActorType]` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `:api_actor` + + - `:federated_actor` + + - `:service_account_actor` + + - `:user_actor` + +- `agent_ids: Array[String]` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `api_key_ids: Array[String]` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + +- `claude_tag_categories: Array[BetaAnalyticsClaudeTagCategory]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `:dm` + + - `:engaged` + + - `:monitoring` + + - `:proactive` + + - `:scheduled` + +- `claude_tag_user_ids: Array[String]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: Array[BetaAnalyticsContextWindow]` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `:"0-200k"` + + - `:"200k-1M"` + +- `deployment_ids: Array[String]` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `ending_at: Time` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `environment_ids: Array[String]` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `exclude_deleted_users: bool` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + +- `group_by: Array[BetaAnalyticsCostGroupBy]` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `:actor` + + - `:actor_type` + + - `:agent_id` + + - `:api_key_id` + + - `:claude_tag_category` + + - `:claude_tag_user_id` + + - `:context_window` + + - `:cost_type` + + - `:deployment_id` + + - `:environment_id` + + - `:inference_geo` + + - `:model` + + - `:product` + + - `:rbac_group_id` + + - `:service_tier` + + - `:session_id` + + - `:slack_channel_id` + + - `:speed` + + - `:token_type` + + - `:user_profile_id` + + - `:workspace_id` + +- `inference_geos: Array[BetaAnalyticsInferenceGeoFilter]` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `:global` + + - `:not_available` + + - `:us` + +- `limit: Integer` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + +- `models: Array[String]` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `order: BetaAnalyticsUsageCostSortOrder` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `:asc` + + - `:desc` + +- `order_by: BetaAnalyticsCostOrderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `:amount` + + - `:list_amount` + + - `:time` + +- `page: String` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `products: Array[BetaAnalyticsUsageCostProductFilter]` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `:chat` + + - `:chat_cowork_unified` + + - `:claude_code` + + - `:claude_console` + + - `:claude_design` + + - `:claude_in_chrome` + + - `:claude_tag` + + - `:cowork` + + - `:managed_agents_api` + + - `:message_batches_api` + + - `:messages_api` + + - `:office_agent` + +- `rbac_group_ids: Array[String]` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `service_tiers: Array[BetaAnalyticsServiceTier]` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `:batch` + + - `:flex` + + - `:flex_discount` + + - `:priority` + + - `:priority_on_demand` + + - `:standard` + +- `session_ids: Array[String]` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `slack_channel_ids: Array[String]` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: Array[BetaAnalyticsSpeed]` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `:fast` + + - `:standard` + +- `time_bucket_width: BetaAnalyticsTimeBucketWidth` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `:"1d"` + + - `:"1h"` + + - `:"1m"` + +- `user_profile_ids: Array[String]` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + +- `workspace_ids: Array[String]` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + +- `betas: Array[AnthropicBeta]` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `String = String` + + - `:"message-batches-2024-09-24"` + + - `:"prompt-caching-2024-07-31"` + + - `:"computer-use-2024-10-22"` + + - `:"computer-use-2025-01-24"` + + - `:"pdfs-2024-09-25"` + + - `:"token-counting-2024-11-01"` + + - `:"token-efficient-tools-2025-02-19"` + + - `:"output-128k-2025-02-19"` + + - `:"files-api-2025-04-14"` + + - `:"mcp-client-2025-04-04"` + + - `:"mcp-client-2025-11-20"` + + - `:"dev-full-thinking-2025-05-14"` + + - `:"interleaved-thinking-2025-05-14"` + + - `:"code-execution-2025-05-22"` + + - `:"extended-cache-ttl-2025-04-11"` + + - `:"context-1m-2025-08-07"` + + - `:"context-management-2025-06-27"` + + - `:"model-context-window-exceeded-2025-08-26"` + + - `:"skills-2025-10-02"` + + - `:"fast-mode-2026-02-01"` + + - `:"output-300k-2026-03-24"` + + - `:"user-profiles-2026-03-24"` + + - `:"user-profiles-2026-08-18"` + + - `:"user-profiles-2026-09-04"` + + - `:"advisor-tool-2026-03-01"` + + - `:"managed-agents-2026-04-01"` + + - `:"cache-diagnosis-2026-04-07"` + + - `:"dreaming-2026-04-21"` + + - `:"thinking-token-count-2026-05-13"` + + - `:"server-side-fallback-2026-06-01"` + + - `:"server-side-fallback-2026-07-01"` + + - `:"fallback-credit-2026-06-01"` + + - `:"fallback-credit-2026-07-01"` + + - `:"agent-memory-2026-07-22"` + + - `:"mid-conversation-tool-changes-2026-07-01"` + + - `:"compact-2026-01-12"` + + - `:"computer-use-2025-11-24"` + + - `:"mcp-tunnels-2026-06-22"` + + - `:"structured-outputs-2025-11-13"` + + - `:"task-budgets-2026-03-13"` + + - `:"thinking-display-updates-2026-08-18"` + + - `:"ce-user-management-2026-07-13"` + + - `:"mid-conversation-output-config-2026-07-01"` + + - `:"thinking-binding-controls-2026-08-01"` + + - `:"mid-conversation-system-clear-at-2026-08-21"` + + - `:"compact-2026-09-04"` + + - `:"inline-tools-2026-09-15"` + + - `:"mcp-client-2026-09-15"` + + - `:"ce-plugins-2026-09-01"` + + - `:"spend-limit-reads-2026-09-26"` + + - `:"telemetry-destinations-2026-08-11"` + + - `:"webhooks-2026-10-07"` + + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `class BetaAnalyticsCostItem` + + - `cost: BetaAnalyticsCostMetrics` + + Cost for this row. + + - `amount: String` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: String` + + Currency code for the cost amount. Currently always `"USD"`. + + - `list_amount: String` + + List-price amount (pre-discount) in fractional cents. + + - `requests: Integer` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: Time` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `actor: BetaAnalyticsActor` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `class BetaAnalyticsReportUserActor` + + - `type: :user_actor` + + Actor type. Always `"user_actor"`. + + - `deleted: bool` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: String` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: String` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: String` + + Tagged user ID. + + - `class BetaAnalyticsServiceAccountActor` + + - `type: :service_account_actor` + + - `service_account_id: String` + + Tagged service account ID. + + - `class BetaAnalyticsFederatedActor` + + - `type: :federated_actor` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `class BetaAnalyticsFederatedActorAWSProvider` + + - `type: :aws` + + - `account_id: String` + + The AWS account the organization is bound to. + + - `signed_principal: String` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `class BetaAnalyticsFederatedActorAzureProvider` + + - `type: :azure` + + - `subscription_id: String` + + The Azure subscription the organization is bound to. + + - `class BetaAnalyticsFederatedActorGCPProvider` + + - `type: :gcp` + + - `project_number: String` + + The Google Cloud project the organization is bound to. + + - `class BetaAnalyticsFederatedActorOIDCProvider` + + - `type: :oidc` + + - `issuer: String` + + The federation issuer's URL. + + - `subject: String` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `class BetaAnalyticsAPIActor` + + - `type: :api_actor` + + - `api_key_id: String` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `:api_actor` + + - `:federated_actor` + + - `:service_account_actor` + + - `:user_actor` + + - `agent_id: String` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: String` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `:dm` + + - `:engaged` + + - `:monitoring` + + - `:proactive` + + - `:scheduled` + + - `claude_tag_user_id: String` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `:"0-200k"` + + - `:"200k-1M"` + + - `cost_type: BetaAnalyticsGroupedCostType` + + Cost component breakdown; null when returning the combined total. + + - `:code_execution` + + - `:session_usage` + + - `:tokens` + + - `:web_search` + + - `deployment_id: String` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: String` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `:global` + + - `:us` + + - `model: String` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: String` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: String` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `:batch` + + - `:flex` + + - `:flex_discount` + + - `:priority` + + - `:priority_on_demand` + + - `:standard` + + - `session_id: String` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: String` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `:fast` + + - `:standard` + + - `token_type: BetaAnalyticsTokenType` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `:"cache_creation.ephemeral_1h_input_tokens"` + + - `:"cache_creation.ephemeral_5m_input_tokens"` + + - `:cache_read_input_tokens` + + - `:output_tokens` + + - `:uncached_input_tokens` + + - `user_profile_id: String` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: String` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: Time` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +#### Example + +```ruby +require "anthropic" + +anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key") + +page = anthropic.beta.organization.analytics.cost.list(starting_at: "2026-09-01T00:00:00Z") + +puts(page) +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +`beta.organization.analytics.usage_report.list(**kwargs) -> ReportPageCursor` + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=ruby) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=ruby#migrate-from-enterprise-analytics-reports). + +#### Parameters + +- `starting_at: Time` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + +- `bucket_width: :"1d" | :"1h" | :"1m"` (query parameter) + + Time bucket granularity. + + - `:"1d"` + + - `:"1h"` + + - `:"1m"` + +- `claude_tag_categories: Array[BetaAnalyticsClaudeTagCategory]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `:dm` + + - `:engaged` + + - `:monitoring` + + - `:proactive` + + - `:scheduled` + +- `claude_tag_user_ids: Array[String]` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + +- `context_windows: Array[BetaAnalyticsContextWindow]` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `:"0-200k"` + + - `:"200k-1M"` + +- `ending_at: Time` (query parameter) + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + +- `group_by: Array[:claude_tag_category | :claude_tag_user_id | :context_window | 6 more]` (query parameter) + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `:claude_tag_category` + + - `:claude_tag_user_id` + + - `:context_window` + + - `:inference_geo` + + - `:model` + + - `:product` + + - `:rbac_group_id` + + - `:slack_channel_id` + + - `:speed` + +- `inference_geos: Array[BetaAnalyticsInferenceGeoFilter]` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `:global` + + - `:not_available` + + - `:us` + +- `limit: Integer` (query parameter) + + Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + + minimum: 1 + +- `models: Array[String]` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + +- `page: String` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + +- `products: Array[BetaAnalyticsProductFilter]` (query parameter) + + Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + + maxItems: 100 + + - `:chat` + + - `:chat_cowork_unified` + + - `:"claude-tag"` + + - `:claude_code` + + - `:claude_design` + + - `:claude_in_chrome` + + - `:cowork` + + - `:office_agent` + +- `rbac_group_ids: Array[String]` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + +- `slack_channel_ids: Array[String]` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + +- `speeds: Array[:fast | :standard]` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `:fast` + + - `:standard` + +- `user_ids: Array[String]` (query parameter) + + Filter to specific users by tagged user ID. + + maxItems: 100 + +#### Returns + +- `class BetaAnalyticsUsageReportTimeBucket` + + - `ending_at: Time` + + End of the time bucket (exclusive) in RFC 3339 format. + + format: date-time + + - `results: Array[BetaAnalyticsUsageBucketedResult]` + + Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: Integer` + + The number of input tokens used to create the 1 hour cache entry. + + minimum: 0 + + - `ephemeral_5m_input_tokens: Integer` + + The number of input tokens used to create the 5 minute cache entry. + + minimum: 0 + + - `cache_read_input_tokens: Integer` + + The number of input tokens read from the cache. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. - `:dm` @@ -103648,15 +105821,11 @@ puts(page) **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=ruby) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=ruby#migrate-from-enterprise-analytics-reports). #### Parameters @@ -104047,12 +106216,11 @@ puts(page) **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. + +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=ruby) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=ruby#migrate-from-enterprise-analytics-reports). #### Parameters @@ -104390,15 +106558,11 @@ puts(page) **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=ruby) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=ruby#migrate-from-enterprise-analytics-reports). #### Parameters @@ -104945,6 +107109,10 @@ Anthropic account team. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSpendLimit` @@ -105455,6 +107623,10 @@ come in a fixed order that is not creation order. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSpendLimit` @@ -108207,6 +110379,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPlugin` @@ -108585,6 +110761,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPlugin` @@ -108986,6 +111166,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPlugin` @@ -109423,6 +111607,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPlugin` @@ -109813,6 +112001,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedPlugin` @@ -110005,6 +112197,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginVersion` @@ -110333,6 +112529,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginVersion` @@ -110653,6 +112853,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginVersion` @@ -110984,6 +113188,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `StringIO` @@ -111161,6 +113369,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginInstallationSetting` @@ -111419,6 +113631,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginInstallationSetting` @@ -111668,239 +113884,247 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` -#### Returns - -- `class BetaDeletedPluginInstallationSetting` - - Confirmation that one target's installation setting was removed, naming - the Plugin and the target in place of an ID. - - - `type: :plugin_installation_setting_deleted` - - Always `plugin_installation_setting_deleted`. - - - `plugin_id: String` - - The Plugin's ID. - - - `target: BetaPluginTargetOrganization | BetaPluginTargetRBACGroup | BetaPluginTargetOrganizationMember` - - Whose setting was removed. - - - `class BetaPluginTargetOrganization` - - - `type: :organization` - - Every member of the organization. - - - `class BetaPluginTargetRBACGroup` - - - `type: :rbac_group` - - An RBAC Group. - - - `rbac_group_id: String` - - The RBAC Group's ID. - - - `class BetaPluginTargetOrganizationMember` - - - `type: :organization_member` - - One member of the organization. - - - `user_id: String` - - The member's User ID. - -#### Example - -```ruby -require "anthropic" - -anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key") - -beta_deleted_plugin_installation_setting = anthropic.beta.organization.plugins.installation_settings.remove("target", plugin_id: "plugin_id") - -puts(beta_deleted_plugin_installation_setting) -``` - -##### Response (200) - -```json -{ - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "target": { - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "type": "rbac_group" - }, - "type": "plugin_installation_setting_deleted" -} -``` - -## Beta › Organization › Plugins › Shares - -### List Plugin Shares - -`beta.organization.plugins.shares.list(plugin_id, **kwargs) -> PageCursor` - -**GET** `/v1/organizations/plugins/{plugin_id}/shares` - -List the shares the owner of a member-owned Plugin has given — to every member of -the organization, to an RBAC Group, or to one member — most recently granted first. - -Shares are read-only in this API: members give and withdraw them in claude.ai, and -who gave a share is recorded on the Compliance API activity feed rather than on the -share. An organization-owned Plugin has installation settings instead, so this path -returns 404 for one. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `plugin_id: String` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - -- `limit: Integer` (query parameter) - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `100`. - - minimum: 1, maximum: 100 - -- `organization_id: String` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - -- `page: String` (query parameter) - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - -- `target_type: :organization | :organization_member | :rbac_group` (query parameter) - - Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). - - - `:organization` - - - `:organization_member` - - - `:rbac_group` - -- `betas: Array[AnthropicBeta]` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `String = String` - - - `:"message-batches-2024-09-24"` - - - `:"prompt-caching-2024-07-31"` - - - `:"computer-use-2024-10-22"` - - - `:"computer-use-2025-01-24"` - - - `:"pdfs-2024-09-25"` - - - `:"token-counting-2024-11-01"` - - - `:"token-efficient-tools-2025-02-19"` - - - `:"output-128k-2025-02-19"` - - - `:"files-api-2025-04-14"` - - - `:"mcp-client-2025-04-04"` - - - `:"mcp-client-2025-11-20"` - - - `:"dev-full-thinking-2025-05-14"` - - - `:"interleaved-thinking-2025-05-14"` - - - `:"code-execution-2025-05-22"` - - - `:"extended-cache-ttl-2025-04-11"` - - - `:"context-1m-2025-08-07"` - - - `:"context-management-2025-06-27"` - - - `:"model-context-window-exceeded-2025-08-26"` - - - `:"skills-2025-10-02"` - - - `:"fast-mode-2026-02-01"` - - - `:"output-300k-2026-03-24"` - - - `:"user-profiles-2026-03-24"` - - - `:"user-profiles-2026-08-18"` - - - `:"user-profiles-2026-09-04"` - - - `:"advisor-tool-2026-03-01"` - - - `:"managed-agents-2026-04-01"` - - - `:"cache-diagnosis-2026-04-07"` - - - `:"dreaming-2026-04-21"` - - - `:"thinking-token-count-2026-05-13"` - - - `:"server-side-fallback-2026-06-01"` - - - `:"server-side-fallback-2026-07-01"` - - - `:"fallback-credit-2026-06-01"` - - - `:"fallback-credit-2026-07-01"` - - - `:"agent-memory-2026-07-22"` - - - `:"mid-conversation-tool-changes-2026-07-01"` - - - `:"compact-2026-01-12"` - - - `:"computer-use-2025-11-24"` - - - `:"mcp-tunnels-2026-06-22"` - - - `:"structured-outputs-2025-11-13"` - - - `:"task-budgets-2026-03-13"` - - - `:"thinking-display-updates-2026-08-18"` - - - `:"ce-user-management-2026-07-13"` - - - `:"mid-conversation-output-config-2026-07-01"` - - - `:"thinking-binding-controls-2026-08-01"` - - - `:"mid-conversation-system-clear-at-2026-08-21"` - - - `:"compact-2026-09-04"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `class BetaDeletedPluginInstallationSetting` + + Confirmation that one target's installation setting was removed, naming + the Plugin and the target in place of an ID. + + - `type: :plugin_installation_setting_deleted` + + Always `plugin_installation_setting_deleted`. + + - `plugin_id: String` + + The Plugin's ID. + + - `target: BetaPluginTargetOrganization | BetaPluginTargetRBACGroup | BetaPluginTargetOrganizationMember` + + Whose setting was removed. + + - `class BetaPluginTargetOrganization` + + - `type: :organization` + + Every member of the organization. + + - `class BetaPluginTargetRBACGroup` + + - `type: :rbac_group` + + An RBAC Group. + + - `rbac_group_id: String` + + The RBAC Group's ID. + + - `class BetaPluginTargetOrganizationMember` + + - `type: :organization_member` + + One member of the organization. + + - `user_id: String` + + The member's User ID. + +#### Example + +```ruby +require "anthropic" + +anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key") + +beta_deleted_plugin_installation_setting = anthropic.beta.organization.plugins.installation_settings.remove("target", plugin_id: "plugin_id") + +puts(beta_deleted_plugin_installation_setting) +``` + +##### Response (200) + +```json +{ + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "target": { + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "type": "rbac_group" + }, + "type": "plugin_installation_setting_deleted" +} +``` + +## Beta › Organization › Plugins › Shares + +### List Plugin Shares + +`beta.organization.plugins.shares.list(plugin_id, **kwargs) -> PageCursor` + +**GET** `/v1/organizations/plugins/{plugin_id}/shares` + +List the shares the owner of a member-owned Plugin has given — to every member of +the organization, to an RBAC Group, or to one member — most recently granted first. + +Shares are read-only in this API: members give and withdraw them in claude.ai, and +who gave a share is recorded on the Compliance API activity feed rather than on the +share. An organization-owned Plugin has installation settings instead, so this path +returns 404 for one. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `plugin_id: String` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + +- `limit: Integer` (query parameter) + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `100`. + + minimum: 1, maximum: 100 + +- `organization_id: String` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + +- `page: String` (query parameter) + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + +- `target_type: :organization | :organization_member | :rbac_group` (query parameter) + + Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). + + - `:organization` + + - `:organization_member` + + - `:rbac_group` + +- `betas: Array[AnthropicBeta]` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `String = String` + + - `:"message-batches-2024-09-24"` + + - `:"prompt-caching-2024-07-31"` + + - `:"computer-use-2024-10-22"` + + - `:"computer-use-2025-01-24"` + + - `:"pdfs-2024-09-25"` + + - `:"token-counting-2024-11-01"` + + - `:"token-efficient-tools-2025-02-19"` + + - `:"output-128k-2025-02-19"` + + - `:"files-api-2025-04-14"` + + - `:"mcp-client-2025-04-04"` + + - `:"mcp-client-2025-11-20"` + + - `:"dev-full-thinking-2025-05-14"` + + - `:"interleaved-thinking-2025-05-14"` + + - `:"code-execution-2025-05-22"` + + - `:"extended-cache-ttl-2025-04-11"` + + - `:"context-1m-2025-08-07"` + + - `:"context-management-2025-06-27"` + + - `:"model-context-window-exceeded-2025-08-26"` + + - `:"skills-2025-10-02"` + + - `:"fast-mode-2026-02-01"` + + - `:"output-300k-2026-03-24"` + + - `:"user-profiles-2026-03-24"` + + - `:"user-profiles-2026-08-18"` + + - `:"user-profiles-2026-09-04"` + + - `:"advisor-tool-2026-03-01"` + + - `:"managed-agents-2026-04-01"` + + - `:"cache-diagnosis-2026-04-07"` + + - `:"dreaming-2026-04-21"` + + - `:"thinking-token-count-2026-05-13"` + + - `:"server-side-fallback-2026-06-01"` + + - `:"server-side-fallback-2026-07-01"` + + - `:"fallback-credit-2026-06-01"` + + - `:"fallback-credit-2026-07-01"` + + - `:"agent-memory-2026-07-22"` + + - `:"mid-conversation-tool-changes-2026-07-01"` + + - `:"compact-2026-01-12"` + + - `:"computer-use-2025-11-24"` + + - `:"mcp-tunnels-2026-06-22"` + + - `:"structured-outputs-2025-11-13"` + + - `:"task-budgets-2026-03-13"` + + - `:"thinking-display-updates-2026-08-18"` + + - `:"ce-user-management-2026-07-13"` + + - `:"mid-conversation-output-config-2026-07-01"` + + - `:"thinking-binding-controls-2026-08-01"` + + - `:"mid-conversation-system-clear-at-2026-08-21"` + + - `:"compact-2026-09-04"` + + - `:"inline-tools-2026-09-15"` + + - `:"mcp-client-2026-09-15"` + + - `:"ce-plugins-2026-09-01"` + + - `:"spend-limit-reads-2026-09-26"` + + - `:"telemetry-destinations-2026-08-11"` + + - `:"webhooks-2026-10-07"` + + - `:"message-threads-2026-08-12"` - - `:"inline-tools-2026-09-15"` - - - `:"mcp-client-2026-09-15"` - - - `:"ce-plugins-2026-09-01"` - - - `:"spend-limit-reads-2026-09-26"` - - - `:"telemetry-destinations-2026-08-11"` - - - `:"webhooks-2026-10-07"` + - `:"analytics-usage-cost-2026-08-24"` #### Returns @@ -112156,6 +114380,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplace` @@ -112418,6 +114646,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplace` @@ -112688,6 +114920,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplace` @@ -112967,6 +115203,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplaceValidationReport` @@ -113229,6 +115469,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaPluginMarketplaceValidationReport` @@ -113580,6 +115824,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -113933,6 +116181,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -114279,6 +116531,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -114756,6 +117012,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestination` @@ -115099,6 +117359,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedTelemetryDestination` @@ -115256,6 +117520,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestinationTestResponse` @@ -115447,6 +117715,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -115633,6 +117905,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaTelemetryDestinationWorkspace` @@ -115817,6 +118093,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedTelemetryDestinationWorkspace` @@ -116010,6 +118290,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaNewOrganizationWebhookEndpoint` @@ -116249,6 +118533,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -116469,6 +118757,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -116712,6 +119004,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpoint` @@ -116925,6 +119221,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaDeletedOrganizationWebhookEndpoint` @@ -117089,6 +119389,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaOrganizationWebhookEndpointSigningSecret` diff --git a/content/en/api/ruby/beta/agents.md b/content/en/api/ruby/beta/agents.md index 851a9cae11..2dc2a7bc23 100644 --- a/content/en/api/ruby/beta/agents.md +++ b/content/en/api/ruby/beta/agents.md @@ -1073,6 +1073,10 @@ Create Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2130,6 +2134,10 @@ List Agents - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3173,6 +3181,10 @@ Get Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5159,6 +5171,10 @@ Update Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -6191,6 +6207,10 @@ Archive Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -13621,6 +13641,10 @@ List Agent Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/agents/archive.md b/content/en/api/ruby/beta/agents/archive.md index 6a3d638044..8924bdd64e 100644 --- a/content/en/api/ruby/beta/agents/archive.md +++ b/content/en/api/ruby/beta/agents/archive.md @@ -127,6 +127,10 @@ Archive Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/agents/create.md b/content/en/api/ruby/beta/agents/create.md index e395803bbe..597dbeff6f 100644 --- a/content/en/api/ruby/beta/agents/create.md +++ b/content/en/api/ruby/beta/agents/create.md @@ -1071,6 +1071,10 @@ Create Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/agents/list.md b/content/en/api/ruby/beta/agents/list.md index 94d15991f5..4b3540c763 100644 --- a/content/en/api/ruby/beta/agents/list.md +++ b/content/en/api/ruby/beta/agents/list.md @@ -149,6 +149,10 @@ List Agents - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/agents/retrieve.md b/content/en/api/ruby/beta/agents/retrieve.md index fd3ea0a18d..25420b4c0e 100644 --- a/content/en/api/ruby/beta/agents/retrieve.md +++ b/content/en/api/ruby/beta/agents/retrieve.md @@ -133,6 +133,10 @@ Get Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/agents/update.md b/content/en/api/ruby/beta/agents/update.md index 51755c088f..5ddec404e4 100644 --- a/content/en/api/ruby/beta/agents/update.md +++ b/content/en/api/ruby/beta/agents/update.md @@ -1081,6 +1081,10 @@ Update Agent - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/agents/versions.md b/content/en/api/ruby/beta/agents/versions.md index da21f25cc4..4bc3749187 100644 --- a/content/en/api/ruby/beta/agents/versions.md +++ b/content/en/api/ruby/beta/agents/versions.md @@ -139,6 +139,10 @@ List Agent Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/agents/versions/list.md b/content/en/api/ruby/beta/agents/versions/list.md index 5aaa4cb7be..6fa8bfe80e 100644 --- a/content/en/api/ruby/beta/agents/versions/list.md +++ b/content/en/api/ruby/beta/agents/versions/list.md @@ -137,6 +137,10 @@ List Agent Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployment_runs.md b/content/en/api/ruby/beta/deployment_runs.md index 2868659559..11b1f6f630 100644 --- a/content/en/api/ruby/beta/deployment_runs.md +++ b/content/en/api/ruby/beta/deployment_runs.md @@ -179,6 +179,10 @@ List Deployment Runs - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -575,6 +579,10 @@ Get Deployment Run - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployment_runs/list.md b/content/en/api/ruby/beta/deployment_runs/list.md index efd9b5b4ea..be56cb421b 100644 --- a/content/en/api/ruby/beta/deployment_runs/list.md +++ b/content/en/api/ruby/beta/deployment_runs/list.md @@ -177,6 +177,10 @@ List Deployment Runs - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployment_runs/retrieve.md b/content/en/api/ruby/beta/deployment_runs/retrieve.md index 19491c0e1a..30244f384b 100644 --- a/content/en/api/ruby/beta/deployment_runs/retrieve.md +++ b/content/en/api/ruby/beta/deployment_runs/retrieve.md @@ -127,6 +127,10 @@ Get Deployment Run - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments.md b/content/en/api/ruby/beta/deployments.md index 68239738d3..94f1b43803 100644 --- a/content/en/api/ruby/beta/deployments.md +++ b/content/en/api/ruby/beta/deployments.md @@ -525,6 +525,10 @@ Create Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1297,6 +1301,10 @@ List Deployments - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2031,6 +2039,10 @@ Get Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3160,6 +3172,10 @@ Update Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3889,6 +3905,10 @@ Archive Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4618,6 +4638,10 @@ Run Deployment Now - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5009,6 +5033,10 @@ Pause Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5738,6 +5766,10 @@ Unpause Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/archive.md b/content/en/api/ruby/beta/deployments/archive.md index 1f62dd3233..74e895587a 100644 --- a/content/en/api/ruby/beta/deployments/archive.md +++ b/content/en/api/ruby/beta/deployments/archive.md @@ -127,6 +127,10 @@ Archive Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/create.md b/content/en/api/ruby/beta/deployments/create.md index a4be197fff..f970f502b1 100644 --- a/content/en/api/ruby/beta/deployments/create.md +++ b/content/en/api/ruby/beta/deployments/create.md @@ -523,6 +523,10 @@ Create Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/list.md b/content/en/api/ruby/beta/deployments/list.md index 65ab5b3720..ba6467b299 100644 --- a/content/en/api/ruby/beta/deployments/list.md +++ b/content/en/api/ruby/beta/deployments/list.md @@ -165,6 +165,10 @@ List Deployments - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/pause.md b/content/en/api/ruby/beta/deployments/pause.md index e71a8eb5b9..adf84b0d43 100644 --- a/content/en/api/ruby/beta/deployments/pause.md +++ b/content/en/api/ruby/beta/deployments/pause.md @@ -127,6 +127,10 @@ Pause Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/retrieve.md b/content/en/api/ruby/beta/deployments/retrieve.md index 2ac3322692..271c613747 100644 --- a/content/en/api/ruby/beta/deployments/retrieve.md +++ b/content/en/api/ruby/beta/deployments/retrieve.md @@ -127,6 +127,10 @@ Get Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/run.md b/content/en/api/ruby/beta/deployments/run.md index 9d77494806..dbbbb1c43f 100644 --- a/content/en/api/ruby/beta/deployments/run.md +++ b/content/en/api/ruby/beta/deployments/run.md @@ -127,6 +127,10 @@ Run Deployment Now - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/unpause.md b/content/en/api/ruby/beta/deployments/unpause.md index 2267387a0a..88eb3cbd73 100644 --- a/content/en/api/ruby/beta/deployments/unpause.md +++ b/content/en/api/ruby/beta/deployments/unpause.md @@ -127,6 +127,10 @@ Unpause Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/deployments/update.md b/content/en/api/ruby/beta/deployments/update.md index ba89676292..b51cb89086 100644 --- a/content/en/api/ruby/beta/deployments/update.md +++ b/content/en/api/ruby/beta/deployments/update.md @@ -527,6 +527,10 @@ Update Deployment - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments.md b/content/en/api/ruby/beta/environments.md index 2be6076fde..1cac0bc78a 100644 --- a/content/en/api/ruby/beta/environments.md +++ b/content/en/api/ruby/beta/environments.md @@ -239,6 +239,10 @@ Create a new environment with the specified configuration. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -570,6 +574,10 @@ List environments with pagination support. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -894,6 +902,10 @@ Retrieve a specific environment by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1327,6 +1339,10 @@ Update an existing environment's configuration. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1646,6 +1662,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1809,6 +1829,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2583,6 +2607,10 @@ Retrieve detailed information about a specific work item. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2842,6 +2870,10 @@ Long poll for work items in the queue. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: String` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -3089,6 +3121,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -3340,6 +3376,10 @@ Record a heartbeat for a work item to maintain the lease. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -3530,6 +3570,10 @@ Stop a work item, initiating graceful or forced shutdown. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3787,6 +3831,10 @@ List work items in an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + #### Returns - `class BetaSelfHostedWork` @@ -4039,6 +4087,10 @@ Update work item metadata with merge semantics. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4288,6 +4340,10 @@ Get statistics about the work queue for an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/archive.md b/content/en/api/ruby/beta/environments/archive.md index f91c3c3406..1d4c045d2b 100644 --- a/content/en/api/ruby/beta/environments/archive.md +++ b/content/en/api/ruby/beta/environments/archive.md @@ -125,6 +125,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/create.md b/content/en/api/ruby/beta/environments/create.md index 820bea59da..1c5cf1710e 100644 --- a/content/en/api/ruby/beta/environments/create.md +++ b/content/en/api/ruby/beta/environments/create.md @@ -237,6 +237,10 @@ Create a new environment with the specified configuration. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/delete.md b/content/en/api/ruby/beta/environments/delete.md index 9b9ae1267b..50ea87ca1e 100644 --- a/content/en/api/ruby/beta/environments/delete.md +++ b/content/en/api/ruby/beta/environments/delete.md @@ -125,6 +125,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/list.md b/content/en/api/ruby/beta/environments/list.md index 4a434f875d..215ea25a91 100644 --- a/content/en/api/ruby/beta/environments/list.md +++ b/content/en/api/ruby/beta/environments/list.md @@ -137,6 +137,10 @@ List environments with pagination support. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/retrieve.md b/content/en/api/ruby/beta/environments/retrieve.md index e9ae65b0ce..80c621c6d0 100644 --- a/content/en/api/ruby/beta/environments/retrieve.md +++ b/content/en/api/ruby/beta/environments/retrieve.md @@ -125,6 +125,10 @@ Retrieve a specific environment by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/update.md b/content/en/api/ruby/beta/environments/update.md index 82499e03c9..96c50ff0a9 100644 --- a/content/en/api/ruby/beta/environments/update.md +++ b/content/en/api/ruby/beta/environments/update.md @@ -239,6 +239,10 @@ Update an existing environment's configuration. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/work.md b/content/en/api/ruby/beta/environments/work.md index 6cd9008e7b..39c2d359e7 100644 --- a/content/en/api/ruby/beta/environments/work.md +++ b/content/en/api/ruby/beta/environments/work.md @@ -131,6 +131,10 @@ Retrieve detailed information about a specific work item. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -390,6 +394,10 @@ Long poll for work items in the queue. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: String` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -637,6 +645,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + ### Returns - `class BetaSelfHostedWork` @@ -888,6 +900,10 @@ Record a heartbeat for a work item to maintain the lease. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + ### Returns - `class BetaSelfHostedWorkHeartbeatResponse` @@ -1078,6 +1094,10 @@ Stop a work item, initiating graceful or forced shutdown. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1335,6 +1355,10 @@ List work items in an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + ### Returns - `class BetaSelfHostedWork` @@ -1587,6 +1611,10 @@ Update work item metadata with merge semantics. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1836,6 +1864,10 @@ Get statistics about the work queue for an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/work/ack.md b/content/en/api/ruby/beta/environments/work/ack.md index 121bb8c99f..fd96f9ba12 100644 --- a/content/en/api/ruby/beta/environments/work/ack.md +++ b/content/en/api/ruby/beta/environments/work/ack.md @@ -129,6 +129,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/ruby/beta/environments/work/heartbeat.md b/content/en/api/ruby/beta/environments/work/heartbeat.md index d33df957eb..82052eeeaa 100644 --- a/content/en/api/ruby/beta/environments/work/heartbeat.md +++ b/content/en/api/ruby/beta/environments/work/heartbeat.md @@ -137,6 +137,10 @@ Record a heartbeat for a work item to maintain the lease. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + ## Returns - `class BetaSelfHostedWorkHeartbeatResponse` diff --git a/content/en/api/ruby/beta/environments/work/list.md b/content/en/api/ruby/beta/environments/work/list.md index f80ee4065d..11ad20dde5 100644 --- a/content/en/api/ruby/beta/environments/work/list.md +++ b/content/en/api/ruby/beta/environments/work/list.md @@ -137,6 +137,10 @@ List work items in an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + ## Returns - `class BetaSelfHostedWork` diff --git a/content/en/api/ruby/beta/environments/work/poll.md b/content/en/api/ruby/beta/environments/work/poll.md index 7493062227..4a51ea8e36 100644 --- a/content/en/api/ruby/beta/environments/work/poll.md +++ b/content/en/api/ruby/beta/environments/work/poll.md @@ -139,6 +139,10 @@ Long poll for work items in the queue. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `anthropic_worker_id: String` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console diff --git a/content/en/api/ruby/beta/environments/work/retrieve.md b/content/en/api/ruby/beta/environments/work/retrieve.md index d2b7630e86..3407b725ee 100644 --- a/content/en/api/ruby/beta/environments/work/retrieve.md +++ b/content/en/api/ruby/beta/environments/work/retrieve.md @@ -129,6 +129,10 @@ Retrieve detailed information about a specific work item. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/work/stats.md b/content/en/api/ruby/beta/environments/work/stats.md index e7eba2b024..80da89b00e 100644 --- a/content/en/api/ruby/beta/environments/work/stats.md +++ b/content/en/api/ruby/beta/environments/work/stats.md @@ -125,6 +125,10 @@ Get statistics about the work queue for an environment. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/work/stop.md b/content/en/api/ruby/beta/environments/work/stop.md index f4c8a3ad01..e87ad4d21b 100644 --- a/content/en/api/ruby/beta/environments/work/stop.md +++ b/content/en/api/ruby/beta/environments/work/stop.md @@ -133,6 +133,10 @@ Stop a work item, initiating graceful or forced shutdown. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/environments/work/update.md b/content/en/api/ruby/beta/environments/work/update.md index 2c71e774f5..cdffa41d63 100644 --- a/content/en/api/ruby/beta/environments/work/update.md +++ b/content/en/api/ruby/beta/environments/work/update.md @@ -133,6 +133,10 @@ Update work item metadata with merge semantics. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/files.md b/content/en/api/ruby/beta/files.md index 18b86908f0..2728a025b3 100644 --- a/content/en/api/ruby/beta/files.md +++ b/content/en/api/ruby/beta/files.md @@ -137,6 +137,10 @@ Upload File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -376,6 +380,10 @@ List Files - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -604,6 +612,10 @@ Download File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -750,6 +762,10 @@ Get File Metadata - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -973,6 +989,10 @@ Delete File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/files/delete.md b/content/en/api/ruby/beta/files/delete.md index aa7bcd8c2e..a262a38bb3 100644 --- a/content/en/api/ruby/beta/files/delete.md +++ b/content/en/api/ruby/beta/files/delete.md @@ -127,6 +127,10 @@ Delete File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/files/download.md b/content/en/api/ruby/beta/files/download.md index cc61853285..b24d77234b 100644 --- a/content/en/api/ruby/beta/files/download.md +++ b/content/en/api/ruby/beta/files/download.md @@ -127,6 +127,10 @@ Download File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/files/list.md b/content/en/api/ruby/beta/files/list.md index f60e09e827..965ad83253 100644 --- a/content/en/api/ruby/beta/files/list.md +++ b/content/en/api/ruby/beta/files/list.md @@ -143,6 +143,10 @@ List Files - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/files/retrieve_metadata.md b/content/en/api/ruby/beta/files/retrieve_metadata.md index f4b26ebe95..f505047656 100644 --- a/content/en/api/ruby/beta/files/retrieve_metadata.md +++ b/content/en/api/ruby/beta/files/retrieve_metadata.md @@ -127,6 +127,10 @@ Get File Metadata - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/files/upload.md b/content/en/api/ruby/beta/files/upload.md index ff466a303a..ba6f24f831 100644 --- a/content/en/api/ruby/beta/files/upload.md +++ b/content/en/api/ruby/beta/files/upload.md @@ -135,6 +135,10 @@ Upload File - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores.md b/content/en/api/ruby/beta/memory_stores.md index 4ddf6e2a76..692fd76354 100644 --- a/content/en/api/ruby/beta/memory_stores.md +++ b/content/en/api/ruby/beta/memory_stores.md @@ -147,6 +147,10 @@ Create a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -378,6 +382,10 @@ List Memory Stores - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -590,6 +598,10 @@ Retrieve a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -821,6 +833,10 @@ Update a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1032,6 +1048,10 @@ Delete a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1197,6 +1217,10 @@ Archive a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1500,6 +1524,10 @@ Create a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1763,6 +1791,10 @@ List Memories - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2025,6 +2057,10 @@ Retrieve a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2290,6 +2326,10 @@ Update a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2523,6 +2563,10 @@ Delete a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2764,6 +2808,10 @@ List Memory Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3093,6 +3141,10 @@ Retrieve a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3406,6 +3458,10 @@ Redact a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/archive.md b/content/en/api/ruby/beta/memory_stores/archive.md index 549db832b5..96b264be79 100644 --- a/content/en/api/ruby/beta/memory_stores/archive.md +++ b/content/en/api/ruby/beta/memory_stores/archive.md @@ -129,6 +129,10 @@ Archive a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/create.md b/content/en/api/ruby/beta/memory_stores/create.md index 6e4c259e75..327d10e718 100644 --- a/content/en/api/ruby/beta/memory_stores/create.md +++ b/content/en/api/ruby/beta/memory_stores/create.md @@ -145,6 +145,10 @@ Create a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/delete.md b/content/en/api/ruby/beta/memory_stores/delete.md index bc04c72022..ca8dc46dce 100644 --- a/content/en/api/ruby/beta/memory_stores/delete.md +++ b/content/en/api/ruby/beta/memory_stores/delete.md @@ -129,6 +129,10 @@ Delete a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/list.md b/content/en/api/ruby/beta/memory_stores/list.md index c37b6264c0..a9ab0d67d2 100644 --- a/content/en/api/ruby/beta/memory_stores/list.md +++ b/content/en/api/ruby/beta/memory_stores/list.md @@ -149,6 +149,10 @@ List Memory Stores - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memories.md b/content/en/api/ruby/beta/memory_stores/memories.md index 03f654f32b..98de8ca010 100644 --- a/content/en/api/ruby/beta/memory_stores/memories.md +++ b/content/en/api/ruby/beta/memory_stores/memories.md @@ -157,6 +157,10 @@ Create a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -420,6 +424,10 @@ List Memories - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -682,6 +690,10 @@ Retrieve a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -947,6 +959,10 @@ Update a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1180,6 +1196,10 @@ Delete a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memories/create.md b/content/en/api/ruby/beta/memory_stores/memories/create.md index 910c2229b1..d1a79bf4ca 100644 --- a/content/en/api/ruby/beta/memory_stores/memories/create.md +++ b/content/en/api/ruby/beta/memory_stores/memories/create.md @@ -155,6 +155,10 @@ Create a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memories/delete.md b/content/en/api/ruby/beta/memory_stores/memories/delete.md index 3d56f44cbd..6d7acbe76c 100644 --- a/content/en/api/ruby/beta/memory_stores/memories/delete.md +++ b/content/en/api/ruby/beta/memory_stores/memories/delete.md @@ -137,6 +137,10 @@ Delete a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memories/list.md b/content/en/api/ruby/beta/memory_stores/memories/list.md index 09665520ab..fc918f4858 100644 --- a/content/en/api/ruby/beta/memory_stores/memories/list.md +++ b/content/en/api/ruby/beta/memory_stores/memories/list.md @@ -167,6 +167,10 @@ List Memories - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memories/retrieve.md b/content/en/api/ruby/beta/memory_stores/memories/retrieve.md index 087e4d259f..b65282fe81 100644 --- a/content/en/api/ruby/beta/memory_stores/memories/retrieve.md +++ b/content/en/api/ruby/beta/memory_stores/memories/retrieve.md @@ -145,6 +145,10 @@ Retrieve a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memories/update.md b/content/en/api/ruby/beta/memory_stores/memories/update.md index 6692f01163..d67f72d7ec 100644 --- a/content/en/api/ruby/beta/memory_stores/memories/update.md +++ b/content/en/api/ruby/beta/memory_stores/memories/update.md @@ -169,6 +169,10 @@ Update a Memory - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memory_versions.md b/content/en/api/ruby/beta/memory_stores/memory_versions.md index ca68e7a0e9..92394aca7f 100644 --- a/content/en/api/ruby/beta/memory_stores/memory_versions.md +++ b/content/en/api/ruby/beta/memory_stores/memory_versions.md @@ -201,6 +201,10 @@ List Memory Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -530,6 +534,10 @@ Retrieve a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -843,6 +851,10 @@ Redact a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memory_versions/list.md b/content/en/api/ruby/beta/memory_stores/memory_versions/list.md index 6d7d1f793e..025e0581cd 100644 --- a/content/en/api/ruby/beta/memory_stores/memory_versions/list.md +++ b/content/en/api/ruby/beta/memory_stores/memory_versions/list.md @@ -199,6 +199,10 @@ List Memory Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memory_versions/redact.md b/content/en/api/ruby/beta/memory_stores/memory_versions/redact.md index 0d8a5a3952..5e531f7ad1 100644 --- a/content/en/api/ruby/beta/memory_stores/memory_versions/redact.md +++ b/content/en/api/ruby/beta/memory_stores/memory_versions/redact.md @@ -131,6 +131,10 @@ Redact a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/memory_versions/retrieve.md b/content/en/api/ruby/beta/memory_stores/memory_versions/retrieve.md index e753a68494..a14e5f30eb 100644 --- a/content/en/api/ruby/beta/memory_stores/memory_versions/retrieve.md +++ b/content/en/api/ruby/beta/memory_stores/memory_versions/retrieve.md @@ -145,6 +145,10 @@ Retrieve a Memory Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/retrieve.md b/content/en/api/ruby/beta/memory_stores/retrieve.md index 610e321b7c..3805a84e6d 100644 --- a/content/en/api/ruby/beta/memory_stores/retrieve.md +++ b/content/en/api/ruby/beta/memory_stores/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/memory_stores/update.md b/content/en/api/ruby/beta/memory_stores/update.md index b6f730eef1..a0f0265d0c 100644 --- a/content/en/api/ruby/beta/memory_stores/update.md +++ b/content/en/api/ruby/beta/memory_stores/update.md @@ -149,6 +149,10 @@ Update a Memory Store - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages.md b/content/en/api/ruby/beta/messages.md index 763e31a0b3..be22325b51 100644 --- a/content/en/api/ruby/beta/messages.md +++ b/content/en/api/ruby/beta/messages.md @@ -3944,6 +3944,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `class BetaThinkingConfigAdaptive` +- `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4249,6 +4269,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -12406,6 +12430,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -16393,6 +16421,26 @@ Streams a message like `stream_raw` and returns a MessageStream, which accumulat - `class BetaThinkingConfigAdaptive` +- `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -16698,6 +16746,10 @@ Streams a message like `stream_raw` and returns a MessageStream, which accumulat - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -54801,6 +54853,28 @@ puts(result) - `:max` +### Beta Message Thread Param + +- `type BetaMessageThreadParam = BetaThreadCreateParams | BetaThreadContinueParams` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `class BetaMessageTokensCount` @@ -77425,6 +77499,26 @@ puts(result) minimum: 1 +### Beta Thread Continue Params + +- `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + ### Beta Token Task Budget - `class BetaTokenTaskBudget` @@ -96832,6 +96926,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -97145,6 +97259,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -97421,6 +97539,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -97698,6 +97820,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -97972,6 +98098,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -98239,6 +98369,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -98408,6 +98542,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages/batches.md b/content/en/api/ruby/beta/messages/batches.md index 26a58d59f6..930cad948b 100644 --- a/content/en/api/ruby/beta/messages/batches.md +++ b/content/en/api/ruby/beta/messages/batches.md @@ -3964,6 +3964,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4277,6 +4297,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4553,6 +4577,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4830,6 +4858,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5104,6 +5136,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5371,6 +5407,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5540,6 +5580,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages/batches/cancel.md b/content/en/api/ruby/beta/messages/batches/cancel.md index 76d809a83e..a317c3bd10 100644 --- a/content/en/api/ruby/beta/messages/batches/cancel.md +++ b/content/en/api/ruby/beta/messages/batches/cancel.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages/batches/create.md b/content/en/api/ruby/beta/messages/batches/create.md index bc4c02addd..4a2a4e1dae 100644 --- a/content/en/api/ruby/beta/messages/batches/create.md +++ b/content/en/api/ruby/beta/messages/batches/create.md @@ -3962,6 +3962,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `class BetaThinkingConfigAdaptive` + - `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4275,6 +4295,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. diff --git a/content/en/api/ruby/beta/messages/batches/delete.md b/content/en/api/ruby/beta/messages/batches/delete.md index c64fa920f9..823e296c9d 100644 --- a/content/en/api/ruby/beta/messages/batches/delete.md +++ b/content/en/api/ruby/beta/messages/batches/delete.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages/batches/list.md b/content/en/api/ruby/beta/messages/batches/list.md index 768d189bc4..5b9a6615eb 100644 --- a/content/en/api/ruby/beta/messages/batches/list.md +++ b/content/en/api/ruby/beta/messages/batches/list.md @@ -141,6 +141,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages/batches/results.md b/content/en/api/ruby/beta/messages/batches/results.md index 39716a95c6..7742e9cf46 100644 --- a/content/en/api/ruby/beta/messages/batches/results.md +++ b/content/en/api/ruby/beta/messages/batches/results.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages/batches/retrieve.md b/content/en/api/ruby/beta/messages/batches/retrieve.md index ba6ce113f7..28e25fa44d 100644 --- a/content/en/api/ruby/beta/messages/batches/retrieve.md +++ b/content/en/api/ruby/beta/messages/batches/retrieve.md @@ -129,6 +129,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/messages/count_tokens.md b/content/en/api/ruby/beta/messages/count_tokens.md index fcdbb4a4e4..4aa6c93387 100644 --- a/content/en/api/ruby/beta/messages/count_tokens.md +++ b/content/en/api/ruby/beta/messages/count_tokens.md @@ -4036,6 +4036,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/ruby/beta/messages/create.md b/content/en/api/ruby/beta/messages/create.md index 35d980735d..cb0ef9271d 100644 --- a/content/en/api/ruby/beta/messages/create.md +++ b/content/en/api/ruby/beta/messages/create.md @@ -3942,6 +3942,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `class BetaThinkingConfigAdaptive` +- `thread: BetaMessageThreadParam` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `class BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: :create` + + - `class BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: :continue` + + - `previous_message_id: String` + + The `id` of the previous response in this Thread. + - `tool_choice: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4247,6 +4267,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `user_profile_id: String` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/ruby/beta/models.md b/content/en/api/ruby/beta/models.md index b13424e415..1f49bc3de1 100644 --- a/content/en/api/ruby/beta/models.md +++ b/content/en/api/ruby/beta/models.md @@ -155,6 +155,10 @@ The Models API response can be used to determine which models are available for - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -481,7 +485,7 @@ puts(page) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -620,6 +624,10 @@ The Models API response can be used to determine information about a specific mo - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -944,7 +952,7 @@ puts(beta_model_info) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/ruby/beta/models/list.md b/content/en/api/ruby/beta/models/list.md index 93d7138f07..52871fe56b 100644 --- a/content/en/api/ruby/beta/models/list.md +++ b/content/en/api/ruby/beta/models/list.md @@ -153,6 +153,10 @@ The Models API response can be used to determine which models are available for - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -479,7 +483,7 @@ puts(page) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/ruby/beta/models/retrieve.md b/content/en/api/ruby/beta/models/retrieve.md index f4db0ae14a..99b60d9dd1 100644 --- a/content/en/api/ruby/beta/models/retrieve.md +++ b/content/en/api/ruby/beta/models/retrieve.md @@ -129,6 +129,10 @@ The Models API response can be used to determine information about a specific mo - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -453,7 +457,7 @@ puts(beta_model_info) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/ruby/beta/sessions.md b/content/en/api/ruby/beta/sessions.md index 7e0b912f70..70dced7bbe 100644 --- a/content/en/api/ruby/beta/sessions.md +++ b/content/en/api/ruby/beta/sessions.md @@ -1251,6 +1251,10 @@ Create Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2818,6 +2822,10 @@ List Sessions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4306,6 +4314,10 @@ Get Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -6368,6 +6380,10 @@ Update Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7850,6 +7866,10 @@ Delete Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -8009,6 +8029,10 @@ Archive Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19803,6 +19827,10 @@ List Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23263,6 +23291,10 @@ Send Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23880,6 +23912,10 @@ Stream Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27030,6 +27066,10 @@ Add Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27221,6 +27261,10 @@ List Session Resources - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27499,6 +27543,10 @@ Get Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27775,6 +27823,10 @@ Update Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28046,6 +28098,10 @@ Delete Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28234,6 +28290,10 @@ List Session Threads - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29312,6 +29372,10 @@ Get Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30388,6 +30452,10 @@ Archive Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31472,6 +31540,10 @@ List Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34583,6 +34655,10 @@ Stream Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/archive.md b/content/en/api/ruby/beta/sessions/archive.md index 32be65a784..c20a4d03bd 100644 --- a/content/en/api/ruby/beta/sessions/archive.md +++ b/content/en/api/ruby/beta/sessions/archive.md @@ -125,6 +125,10 @@ Archive Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/create.md b/content/en/api/ruby/beta/sessions/create.md index 518a788673..3402255922 100644 --- a/content/en/api/ruby/beta/sessions/create.md +++ b/content/en/api/ruby/beta/sessions/create.md @@ -1249,6 +1249,10 @@ Create Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/delete.md b/content/en/api/ruby/beta/sessions/delete.md index ba9637f427..489f581389 100644 --- a/content/en/api/ruby/beta/sessions/delete.md +++ b/content/en/api/ruby/beta/sessions/delete.md @@ -125,6 +125,10 @@ Delete Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/events.md b/content/en/api/ruby/beta/sessions/events.md index af6ee72449..30ddb9a848 100644 --- a/content/en/api/ruby/beta/sessions/events.md +++ b/content/en/api/ruby/beta/sessions/events.md @@ -253,6 +253,10 @@ List Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3713,6 +3717,10 @@ Send Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4330,6 +4338,10 @@ Stream Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/events/list.md b/content/en/api/ruby/beta/sessions/events/list.md index 9327a7bf46..8bc82cdb1b 100644 --- a/content/en/api/ruby/beta/sessions/events/list.md +++ b/content/en/api/ruby/beta/sessions/events/list.md @@ -251,6 +251,10 @@ List Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/events/send.md b/content/en/api/ruby/beta/sessions/events/send.md index d1711d89a7..c770eb404d 100644 --- a/content/en/api/ruby/beta/sessions/events/send.md +++ b/content/en/api/ruby/beta/sessions/events/send.md @@ -487,6 +487,10 @@ Send Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/events/stream.md b/content/en/api/ruby/beta/sessions/events/stream.md index 2c4faa3c87..7d8350bc73 100644 --- a/content/en/api/ruby/beta/sessions/events/stream.md +++ b/content/en/api/ruby/beta/sessions/events/stream.md @@ -133,6 +133,10 @@ Stream Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/list.md b/content/en/api/ruby/beta/sessions/list.md index 5a9aeefd69..b5f2dfbc4e 100644 --- a/content/en/api/ruby/beta/sessions/list.md +++ b/content/en/api/ruby/beta/sessions/list.md @@ -207,6 +207,10 @@ List Sessions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/resources.md b/content/en/api/ruby/beta/sessions/resources.md index 1de3e7598b..4fc2a142b8 100644 --- a/content/en/api/ruby/beta/sessions/resources.md +++ b/content/en/api/ruby/beta/sessions/resources.md @@ -141,6 +141,10 @@ Add Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -332,6 +336,10 @@ List Session Resources - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -610,6 +618,10 @@ Get Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -886,6 +898,10 @@ Update Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1157,6 +1173,10 @@ Delete Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/resources/add.md b/content/en/api/ruby/beta/sessions/resources/add.md index 6c52a903af..5e481e861e 100644 --- a/content/en/api/ruby/beta/sessions/resources/add.md +++ b/content/en/api/ruby/beta/sessions/resources/add.md @@ -139,6 +139,10 @@ Add Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/resources/delete.md b/content/en/api/ruby/beta/sessions/resources/delete.md index e140fee0b1..a6438823c2 100644 --- a/content/en/api/ruby/beta/sessions/resources/delete.md +++ b/content/en/api/ruby/beta/sessions/resources/delete.md @@ -127,6 +127,10 @@ Delete Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/resources/list.md b/content/en/api/ruby/beta/sessions/resources/list.md index 0266b6aac2..9d03da0f43 100644 --- a/content/en/api/ruby/beta/sessions/resources/list.md +++ b/content/en/api/ruby/beta/sessions/resources/list.md @@ -135,6 +135,10 @@ List Session Resources - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/resources/retrieve.md b/content/en/api/ruby/beta/sessions/resources/retrieve.md index 54731b871e..4948f5c190 100644 --- a/content/en/api/ruby/beta/sessions/resources/retrieve.md +++ b/content/en/api/ruby/beta/sessions/resources/retrieve.md @@ -127,6 +127,10 @@ Get Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/resources/update.md b/content/en/api/ruby/beta/sessions/resources/update.md index d7dd91354d..f2e1e5e506 100644 --- a/content/en/api/ruby/beta/sessions/resources/update.md +++ b/content/en/api/ruby/beta/sessions/resources/update.md @@ -133,6 +133,10 @@ Update Session Resource - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/retrieve.md b/content/en/api/ruby/beta/sessions/retrieve.md index 3793021b62..1b11d8eaf1 100644 --- a/content/en/api/ruby/beta/sessions/retrieve.md +++ b/content/en/api/ruby/beta/sessions/retrieve.md @@ -125,6 +125,10 @@ Get Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/threads.md b/content/en/api/ruby/beta/sessions/threads.md index 214c1b7606..af604e9e9f 100644 --- a/content/en/api/ruby/beta/sessions/threads.md +++ b/content/en/api/ruby/beta/sessions/threads.md @@ -151,6 +151,10 @@ List Session Threads - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1229,6 +1233,10 @@ Get Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2305,6 +2313,10 @@ Archive Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7939,6 +7951,10 @@ List Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -11050,6 +11066,10 @@ Stream Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/threads/archive.md b/content/en/api/ruby/beta/sessions/threads/archive.md index deb0472297..68a6269df4 100644 --- a/content/en/api/ruby/beta/sessions/threads/archive.md +++ b/content/en/api/ruby/beta/sessions/threads/archive.md @@ -127,6 +127,10 @@ Archive Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/threads/events.md b/content/en/api/ruby/beta/sessions/threads/events.md index 1e28c01e25..3fb3fa5033 100644 --- a/content/en/api/ruby/beta/sessions/threads/events.md +++ b/content/en/api/ruby/beta/sessions/threads/events.md @@ -135,6 +135,10 @@ List Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3246,6 +3250,10 @@ Stream Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/threads/events/list.md b/content/en/api/ruby/beta/sessions/threads/events/list.md index 3edf94a822..0777f2cb8b 100644 --- a/content/en/api/ruby/beta/sessions/threads/events/list.md +++ b/content/en/api/ruby/beta/sessions/threads/events/list.md @@ -133,6 +133,10 @@ List Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/threads/events/stream.md b/content/en/api/ruby/beta/sessions/threads/events/stream.md index 91640bccc1..851c7d37b0 100644 --- a/content/en/api/ruby/beta/sessions/threads/events/stream.md +++ b/content/en/api/ruby/beta/sessions/threads/events/stream.md @@ -135,6 +135,10 @@ Stream Session Thread Events - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/threads/list.md b/content/en/api/ruby/beta/sessions/threads/list.md index 9eb1ea9bf8..30b0174bfd 100644 --- a/content/en/api/ruby/beta/sessions/threads/list.md +++ b/content/en/api/ruby/beta/sessions/threads/list.md @@ -149,6 +149,10 @@ List Session Threads - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/threads/retrieve.md b/content/en/api/ruby/beta/sessions/threads/retrieve.md index 5207b0523d..aba59f209a 100644 --- a/content/en/api/ruby/beta/sessions/threads/retrieve.md +++ b/content/en/api/ruby/beta/sessions/threads/retrieve.md @@ -127,6 +127,10 @@ Get Session Thread - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/sessions/update.md b/content/en/api/ruby/beta/sessions/update.md index 4fdffdbd34..9e9eb235e2 100644 --- a/content/en/api/ruby/beta/sessions/update.md +++ b/content/en/api/ruby/beta/sessions/update.md @@ -705,6 +705,10 @@ Update Session - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills.md b/content/en/api/ruby/beta/skills.md index 18ff2f8a6c..2ca2de6ca1 100644 --- a/content/en/api/ruby/beta/skills.md +++ b/content/en/api/ruby/beta/skills.md @@ -137,6 +137,10 @@ Create Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -382,6 +386,10 @@ List Skills - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -615,6 +623,10 @@ Get Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -843,6 +855,10 @@ Delete Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1129,6 +1145,10 @@ Create Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1338,6 +1358,10 @@ List Skill Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1546,6 +1570,10 @@ Download a skill version's content as a zip archive. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1700,6 +1728,10 @@ Get Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1903,6 +1935,10 @@ Delete Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/create.md b/content/en/api/ruby/beta/skills/create.md index dc394ab35e..97a0e97401 100644 --- a/content/en/api/ruby/beta/skills/create.md +++ b/content/en/api/ruby/beta/skills/create.md @@ -135,6 +135,10 @@ Create Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/delete.md b/content/en/api/ruby/beta/skills/delete.md index d5026e5301..f57fc95621 100644 --- a/content/en/api/ruby/beta/skills/delete.md +++ b/content/en/api/ruby/beta/skills/delete.md @@ -129,6 +129,10 @@ Delete Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/list.md b/content/en/api/ruby/beta/skills/list.md index 78a0a9f0b9..107460963c 100644 --- a/content/en/api/ruby/beta/skills/list.md +++ b/content/en/api/ruby/beta/skills/list.md @@ -146,6 +146,10 @@ List Skills - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/retrieve.md b/content/en/api/ruby/beta/skills/retrieve.md index a5f4bfe569..4f67200d32 100644 --- a/content/en/api/ruby/beta/skills/retrieve.md +++ b/content/en/api/ruby/beta/skills/retrieve.md @@ -129,6 +129,10 @@ Get Skill - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/versions.md b/content/en/api/ruby/beta/skills/versions.md index 503f06dca3..2db9b8b181 100644 --- a/content/en/api/ruby/beta/skills/versions.md +++ b/content/en/api/ruby/beta/skills/versions.md @@ -137,6 +137,10 @@ Create Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -346,6 +350,10 @@ List Skill Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -554,6 +562,10 @@ Download a skill version's content as a zip archive. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -708,6 +720,10 @@ Get Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -911,6 +927,10 @@ Delete Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/versions/create.md b/content/en/api/ruby/beta/skills/versions/create.md index c7b8a28c18..fec6dd8f10 100644 --- a/content/en/api/ruby/beta/skills/versions/create.md +++ b/content/en/api/ruby/beta/skills/versions/create.md @@ -135,6 +135,10 @@ Create Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/versions/delete.md b/content/en/api/ruby/beta/skills/versions/delete.md index 2b5e1bd150..9b0344fc5c 100644 --- a/content/en/api/ruby/beta/skills/versions/delete.md +++ b/content/en/api/ruby/beta/skills/versions/delete.md @@ -135,6 +135,10 @@ Delete Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/versions/download.md b/content/en/api/ruby/beta/skills/versions/download.md index 9ea669a698..99d144fee9 100644 --- a/content/en/api/ruby/beta/skills/versions/download.md +++ b/content/en/api/ruby/beta/skills/versions/download.md @@ -135,6 +135,10 @@ Download a skill version's content as a zip archive. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/versions/list.md b/content/en/api/ruby/beta/skills/versions/list.md index 4c53addba8..f219160358 100644 --- a/content/en/api/ruby/beta/skills/versions/list.md +++ b/content/en/api/ruby/beta/skills/versions/list.md @@ -141,6 +141,10 @@ List Skill Versions - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/skills/versions/retrieve.md b/content/en/api/ruby/beta/skills/versions/retrieve.md index 9e367b470e..7eddc4fdff 100644 --- a/content/en/api/ruby/beta/skills/versions/retrieve.md +++ b/content/en/api/ruby/beta/skills/versions/retrieve.md @@ -135,6 +135,10 @@ Get Skill Version - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels.md b/content/en/api/ruby/beta/tunnels.md index 0105ab950f..46debf0e5d 100644 --- a/content/en/api/ruby/beta/tunnels.md +++ b/content/en/api/ruby/beta/tunnels.md @@ -133,6 +133,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -322,6 +326,10 @@ Fetches a tunnel by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -521,6 +529,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -715,6 +727,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -904,6 +920,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1080,6 +1100,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1308,6 +1332,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1508,6 +1536,10 @@ Fetches a tunnel certificate by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1718,6 +1750,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1923,6 +1959,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/archive.md b/content/en/api/ruby/beta/tunnels/archive.md index 45b54dac73..d731117f28 100644 --- a/content/en/api/ruby/beta/tunnels/archive.md +++ b/content/en/api/ruby/beta/tunnels/archive.md @@ -129,6 +129,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/certificates.md b/content/en/api/ruby/beta/tunnels/certificates.md index ea880e7159..624c2f2329 100644 --- a/content/en/api/ruby/beta/tunnels/certificates.md +++ b/content/en/api/ruby/beta/tunnels/certificates.md @@ -137,6 +137,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -337,6 +341,10 @@ Fetches a tunnel certificate by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -547,6 +555,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -752,6 +764,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/certificates/archive.md b/content/en/api/ruby/beta/tunnels/certificates/archive.md index 8381bfdd3d..6bed1b5636 100644 --- a/content/en/api/ruby/beta/tunnels/certificates/archive.md +++ b/content/en/api/ruby/beta/tunnels/certificates/archive.md @@ -133,6 +133,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/certificates/create.md b/content/en/api/ruby/beta/tunnels/certificates/create.md index 217ed2995b..f7cf367cb2 100644 --- a/content/en/api/ruby/beta/tunnels/certificates/create.md +++ b/content/en/api/ruby/beta/tunnels/certificates/create.md @@ -135,6 +135,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/certificates/list.md b/content/en/api/ruby/beta/tunnels/certificates/list.md index 21b00194ec..53877c9ee8 100644 --- a/content/en/api/ruby/beta/tunnels/certificates/list.md +++ b/content/en/api/ruby/beta/tunnels/certificates/list.md @@ -143,6 +143,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/certificates/retrieve.md b/content/en/api/ruby/beta/tunnels/certificates/retrieve.md index 124363f4a1..dcdc7d8b21 100644 --- a/content/en/api/ruby/beta/tunnels/certificates/retrieve.md +++ b/content/en/api/ruby/beta/tunnels/certificates/retrieve.md @@ -133,6 +133,10 @@ Fetches a tunnel certificate by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/create.md b/content/en/api/ruby/beta/tunnels/create.md index 1a6974ef17..a2dce2737b 100644 --- a/content/en/api/ruby/beta/tunnels/create.md +++ b/content/en/api/ruby/beta/tunnels/create.md @@ -131,6 +131,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/list.md b/content/en/api/ruby/beta/tunnels/list.md index 9c73f1d996..a7a92259ed 100644 --- a/content/en/api/ruby/beta/tunnels/list.md +++ b/content/en/api/ruby/beta/tunnels/list.md @@ -139,6 +139,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/retrieve.md b/content/en/api/ruby/beta/tunnels/retrieve.md index 90491bbe86..1269f971d6 100644 --- a/content/en/api/ruby/beta/tunnels/retrieve.md +++ b/content/en/api/ruby/beta/tunnels/retrieve.md @@ -129,6 +129,10 @@ Fetches a tunnel by ID. - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/reveal_token.md b/content/en/api/ruby/beta/tunnels/reveal_token.md index cc25068610..966084ff48 100644 --- a/content/en/api/ruby/beta/tunnels/reveal_token.md +++ b/content/en/api/ruby/beta/tunnels/reveal_token.md @@ -129,6 +129,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/tunnels/rotate_token.md b/content/en/api/ruby/beta/tunnels/rotate_token.md index 711f5de051..50ad5f85ad 100644 --- a/content/en/api/ruby/beta/tunnels/rotate_token.md +++ b/content/en/api/ruby/beta/tunnels/rotate_token.md @@ -135,6 +135,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/user_profiles.md b/content/en/api/ruby/beta/user_profiles.md index 11939fd047..f9c6211862 100644 --- a/content/en/api/ruby/beta/user_profiles.md +++ b/content/en/api/ruby/beta/user_profiles.md @@ -219,6 +219,10 @@ Create User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -549,6 +553,10 @@ List User Profiles - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -852,6 +860,10 @@ Get User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1244,6 +1256,10 @@ Update User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1542,6 +1558,10 @@ Delete User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1705,6 +1725,10 @@ Create Enrollment URL - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2177,6 +2201,10 @@ Create Action URL - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/user_profiles/create.md b/content/en/api/ruby/beta/user_profiles/create.md index 0f1909c64e..8155e79ee2 100644 --- a/content/en/api/ruby/beta/user_profiles/create.md +++ b/content/en/api/ruby/beta/user_profiles/create.md @@ -217,6 +217,10 @@ Create User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/user_profiles/create_enrollment_url.md b/content/en/api/ruby/beta/user_profiles/create_enrollment_url.md index 5755e9a3d3..785b46d6d8 100644 --- a/content/en/api/ruby/beta/user_profiles/create_enrollment_url.md +++ b/content/en/api/ruby/beta/user_profiles/create_enrollment_url.md @@ -127,6 +127,10 @@ Create Enrollment URL - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/user_profiles/list.md b/content/en/api/ruby/beta/user_profiles/list.md index b6eff932f2..8765ad6b66 100644 --- a/content/en/api/ruby/beta/user_profiles/list.md +++ b/content/en/api/ruby/beta/user_profiles/list.md @@ -159,6 +159,10 @@ List User Profiles - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/user_profiles/retrieve.md b/content/en/api/ruby/beta/user_profiles/retrieve.md index 2e724c3618..e21092b33b 100644 --- a/content/en/api/ruby/beta/user_profiles/retrieve.md +++ b/content/en/api/ruby/beta/user_profiles/retrieve.md @@ -127,6 +127,10 @@ Get User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/user_profiles/update.md b/content/en/api/ruby/beta/user_profiles/update.md index ce53a7a3fd..7cc7bca30f 100644 --- a/content/en/api/ruby/beta/user_profiles/update.md +++ b/content/en/api/ruby/beta/user_profiles/update.md @@ -221,6 +221,10 @@ Update User Profile - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults.md b/content/en/api/ruby/beta/vaults.md index 42aa634f41..65a58858b9 100644 --- a/content/en/api/ruby/beta/vaults.md +++ b/content/en/api/ruby/beta/vaults.md @@ -135,6 +135,10 @@ Create a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -341,6 +345,10 @@ List Vaults - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -542,6 +550,10 @@ Retrieve a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -748,6 +760,10 @@ Update a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -944,6 +960,10 @@ Delete a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1107,6 +1127,10 @@ Archive a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1533,6 +1557,10 @@ Create a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1873,6 +1901,10 @@ List Credentials - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2201,6 +2233,10 @@ Retrieve a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2667,6 +2703,10 @@ Update a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2993,6 +3033,10 @@ Delete a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3163,6 +3207,10 @@ Archive a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3489,6 +3537,10 @@ Validate an MCP OAuth Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/archive.md b/content/en/api/ruby/beta/vaults/archive.md index 9cdc452889..1c36d3e9a0 100644 --- a/content/en/api/ruby/beta/vaults/archive.md +++ b/content/en/api/ruby/beta/vaults/archive.md @@ -127,6 +127,10 @@ Archive a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/create.md b/content/en/api/ruby/beta/vaults/create.md index 62d364244a..4320639f3d 100644 --- a/content/en/api/ruby/beta/vaults/create.md +++ b/content/en/api/ruby/beta/vaults/create.md @@ -133,6 +133,10 @@ Create a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials.md b/content/en/api/ruby/beta/vaults/credentials.md index 6ec30a7a23..8c0a1bbf33 100644 --- a/content/en/api/ruby/beta/vaults/credentials.md +++ b/content/en/api/ruby/beta/vaults/credentials.md @@ -305,6 +305,10 @@ Create a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -645,6 +649,10 @@ List Credentials - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -973,6 +981,10 @@ Retrieve a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1439,6 +1451,10 @@ Update a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1765,6 +1781,10 @@ Delete a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1935,6 +1955,10 @@ Archive a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2261,6 +2285,10 @@ Validate an MCP OAuth Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials/archive.md b/content/en/api/ruby/beta/vaults/credentials/archive.md index 40b7064eae..2370ccea4d 100644 --- a/content/en/api/ruby/beta/vaults/credentials/archive.md +++ b/content/en/api/ruby/beta/vaults/credentials/archive.md @@ -131,6 +131,10 @@ Archive a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials/create.md b/content/en/api/ruby/beta/vaults/credentials/create.md index f18a001058..3987bdca18 100644 --- a/content/en/api/ruby/beta/vaults/credentials/create.md +++ b/content/en/api/ruby/beta/vaults/credentials/create.md @@ -303,6 +303,10 @@ Create a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials/delete.md b/content/en/api/ruby/beta/vaults/credentials/delete.md index dc9650a2a9..3ebecf9969 100644 --- a/content/en/api/ruby/beta/vaults/credentials/delete.md +++ b/content/en/api/ruby/beta/vaults/credentials/delete.md @@ -131,6 +131,10 @@ Delete a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials/list.md b/content/en/api/ruby/beta/vaults/credentials/list.md index 0923f5a662..3936684609 100644 --- a/content/en/api/ruby/beta/vaults/credentials/list.md +++ b/content/en/api/ruby/beta/vaults/credentials/list.md @@ -141,6 +141,10 @@ List Credentials - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate.md index 3394a5529e..4c128787e5 100644 --- a/content/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate.md @@ -131,6 +131,10 @@ Validate an MCP OAuth Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials/retrieve.md b/content/en/api/ruby/beta/vaults/credentials/retrieve.md index e1ec5049de..7874a9fdee 100644 --- a/content/en/api/ruby/beta/vaults/credentials/retrieve.md +++ b/content/en/api/ruby/beta/vaults/credentials/retrieve.md @@ -131,6 +131,10 @@ Retrieve a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/credentials/update.md b/content/en/api/ruby/beta/vaults/credentials/update.md index 37312c3c66..b7f4dba94b 100644 --- a/content/en/api/ruby/beta/vaults/credentials/update.md +++ b/content/en/api/ruby/beta/vaults/credentials/update.md @@ -271,6 +271,10 @@ Update a Credential - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/delete.md b/content/en/api/ruby/beta/vaults/delete.md index 2743882218..790ab8b9f3 100644 --- a/content/en/api/ruby/beta/vaults/delete.md +++ b/content/en/api/ruby/beta/vaults/delete.md @@ -127,6 +127,10 @@ Delete a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/list.md b/content/en/api/ruby/beta/vaults/list.md index eede18cce1..3ec8c3056e 100644 --- a/content/en/api/ruby/beta/vaults/list.md +++ b/content/en/api/ruby/beta/vaults/list.md @@ -137,6 +137,10 @@ List Vaults - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/retrieve.md b/content/en/api/ruby/beta/vaults/retrieve.md index c273199cba..97671c444e 100644 --- a/content/en/api/ruby/beta/vaults/retrieve.md +++ b/content/en/api/ruby/beta/vaults/retrieve.md @@ -127,6 +127,10 @@ Retrieve a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/beta/vaults/update.md b/content/en/api/ruby/beta/vaults/update.md index cb149e365e..4acb167623 100644 --- a/content/en/api/ruby/beta/vaults/update.md +++ b/content/en/api/ruby/beta/vaults/update.md @@ -137,6 +137,10 @@ Update a Vault - `:"webhooks-2026-10-07"` + - `:"message-threads-2026-08-12"` + + - `:"analytics-usage-cost-2026-08-24"` + - `workspace_id: String` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/ruby/completions.md b/content/en/api/ruby/completions.md index ff80405a8e..ba2d6f823e 100644 --- a/content/en/api/ruby/completions.md +++ b/content/en/api/ruby/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/ruby/completions/create.md b/content/en/api/ruby/completions/create.md index f36d0ddace..3ea854dd4c 100644 --- a/content/en/api/ruby/completions/create.md +++ b/content/en/api/ruby/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/ruby/models.md b/content/en/api/ruby/models.md index 3c9b786515..f511fa3abc 100644 --- a/content/en/api/ruby/models.md +++ b/content/en/api/ruby/models.md @@ -346,7 +346,7 @@ puts(page) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -674,7 +674,7 @@ puts(model_info) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/ruby/models/list.md b/content/en/api/ruby/models/list.md index 83921e9559..1bdbf64565 100644 --- a/content/en/api/ruby/models/list.md +++ b/content/en/api/ruby/models/list.md @@ -344,7 +344,7 @@ puts(page) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/ruby/models/retrieve.md b/content/en/api/ruby/models/retrieve.md index 319befa7b2..3c6e59d4ca 100644 --- a/content/en/api/ruby/models/retrieve.md +++ b/content/en/api/ruby/models/retrieve.md @@ -318,7 +318,7 @@ puts(model_info) "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/typescript/beta.md b/content/en/api/typescript/beta.md index 86c1ccae8b..84265276ac 100644 --- a/content/en/api/typescript/beta.md +++ b/content/en/api/typescript/beta.md @@ -9,7 +9,7 @@ url: https://platform.claude.com/docs/en/api/typescript/beta ### Anthropic Beta -- `type AnthropicBeta = (string & {}) | "message-batches-2024-09-24" | "prompt-caching-2024-07-31" | "computer-use-2024-10-22" | 49 more` +- `type AnthropicBeta = (string & {}) | "message-batches-2024-09-24" | "prompt-caching-2024-07-31" | "computer-use-2024-10-22" | 51 more` - `(string & {})` @@ -117,6 +117,10 @@ url: https://platform.claude.com/docs/en/api/typescript/beta - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Beta API Error - `interface BetaAPIError` @@ -593,6 +597,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -926,7 +934,7 @@ for await (const betaModelInfo of client.beta.models.list()) { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -1067,6 +1075,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1397,7 +1409,7 @@ console.log(betaModelInfo.id); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -5348,6 +5360,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `interface BetaThinkingConfigAdaptive` + - `thread?: BetaMessageThreadParam | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice?: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -5653,6 +5685,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -13988,6 +14024,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -18013,6 +18053,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `interface BetaThinkingConfigAdaptive` + - `thread?: BetaMessageThreadParam | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice?: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -18326,6 +18386,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -18622,6 +18686,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -18915,6 +18983,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19206,6 +19278,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19489,6 +19565,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19664,6 +19744,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -24750,6 +24834,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -25811,6 +25899,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -26859,6 +26951,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28847,6 +28943,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29886,6 +29986,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30936,6 +31040,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32094,6 +32202,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32435,6 +32547,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -32768,6 +32884,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33213,6 +33333,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33540,6 +33664,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -33711,6 +33839,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34044,6 +34176,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34311,6 +34447,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID"?: string` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -34560,6 +34700,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSelfHostedWork` @@ -34819,6 +34963,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSelfHostedWorkHeartbeatResponse` @@ -35018,6 +35166,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35283,6 +35435,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSelfHostedWork` @@ -35544,6 +35700,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -35798,6 +35958,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -37110,6 +37274,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -38684,6 +38852,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -40177,6 +40349,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -42245,6 +42421,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43733,6 +43913,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -43898,6 +44082,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -45514,6 +45702,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -48981,6 +49173,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -49606,6 +49802,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52759,6 +52959,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -52953,6 +53157,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53238,6 +53446,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53518,6 +53730,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53792,6 +54008,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -53984,6 +54204,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -55069,6 +55293,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -56149,6 +56377,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -57237,6 +57469,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -60353,6 +60589,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -63893,6 +64133,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -64671,6 +64915,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -65410,6 +65658,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -66545,6 +66797,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -67280,6 +67536,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68015,6 +68275,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -68412,6 +68676,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69147,6 +69415,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -69934,6 +70206,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70335,6 +70611,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70740,6 +71020,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -70952,6 +71236,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71158,6 +71446,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71370,6 +71662,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71570,6 +71866,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -71739,6 +72039,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72119,6 +72423,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72465,6 +72773,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -72800,6 +73112,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73270,6 +73586,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73600,6 +73920,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -73774,6 +74098,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74104,6 +74432,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74404,6 +74736,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74639,6 +74975,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -74856,6 +75196,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75093,6 +75437,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75308,6 +75656,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75479,6 +75831,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75722,6 +76078,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -75992,6 +76352,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76261,6 +76625,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76532,6 +76900,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -76771,6 +77143,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77019,6 +77395,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77355,6 +77735,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77672,6 +78056,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -77995,6 +78383,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78243,6 +78635,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78478,6 +78874,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78631,6 +79031,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -78860,6 +79264,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79041,6 +79449,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79294,6 +79706,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79534,6 +79950,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79768,6 +80188,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -79951,6 +80375,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80168,6 +80596,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80383,6 +80815,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80546,6 +80982,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -80757,6 +81197,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81023,6 +81467,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81357,6 +81805,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -81665,6 +82117,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82063,6 +82519,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82367,6 +82827,10 @@ Delete User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82536,6 +83000,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -82722,6 +83190,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83005,6 +83477,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83484,6 +83960,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -83908,6 +84388,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84326,6 +84810,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -84744,6 +85232,10 @@ See the [Dreams guide](https://platform.claude.com/docs/en/managed-agents/dreams - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85164,6 +85656,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85357,6 +85853,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85560,6 +86060,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85759,6 +86263,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -85952,6 +86460,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86132,6 +86644,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86314,6 +86830,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86520,6 +87040,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86737,6 +87261,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -86947,6 +87475,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -88757,6 +89289,10 @@ matched as the JWT's `iss` claim and is not fetched. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationIssuer` @@ -89083,6 +89619,10 @@ Archived issuers are excluded unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationIssuer` @@ -89400,6 +89940,10 @@ Retrieve a federation issuer by its ID (`fdis_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationIssuer` @@ -89796,6 +90340,10 @@ session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationIssuer` @@ -90114,6 +90662,10 @@ issuer cannot be changed), or recreate them against another issuer. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationIssuer` @@ -90519,6 +91071,10 @@ manage rules whose `oauth_scope` is `workspace:developer` or - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationRule` @@ -90859,6 +91415,10 @@ unless `include_archived=true`. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationRule` @@ -91182,6 +91742,10 @@ Retrieve a federation rule by its ID (`fdrl_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationRule` @@ -91593,6 +92157,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationRule` @@ -91920,6 +92488,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationRule` @@ -92254,6 +92826,10 @@ other scopes require a Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationRuleWorkspace` @@ -92458,6 +93034,10 @@ rules with `applies_to_all_workspaces` or a legacy single - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaFederationRuleWorkspace` @@ -92660,6 +93240,10 @@ Console session. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface WorkspaceRemoveResponse` @@ -93353,6 +93937,10 @@ accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccount` @@ -93592,6 +94180,10 @@ archived service accounts. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccount` @@ -93821,6 +94413,10 @@ Retrieve a service account by its ID (`svac_...`). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccount` @@ -94065,6 +94661,10 @@ interactive credential (a user OAuth token or a Console session). - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccount` @@ -94295,6 +94895,10 @@ those rules first or change their target to another service account. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccount` @@ -94545,6 +95149,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccountWorkspaceMember` @@ -94766,6 +95374,10 @@ page to recover. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccountWorkspaceMember` @@ -94979,6 +95591,10 @@ to the implicit `workspace_user` membership. Archived workspaces return - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface WorkspaceRemoveResponse` @@ -95770,6 +96386,10 @@ Create Workspace - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaWorkspace` @@ -97483,6 +98103,10 @@ omitted from the results. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccountWorkspaceMember` @@ -97709,213 +98333,221 @@ accounts cannot be added and are rejected. - `"webhooks-2026-10-07"` -#### Returns - -- `interface BetaServiceAccountWorkspaceMember` - - - `type: "service_account_workspace_member"` - - default: service_account_workspace_member - - - `created_by_actor_id: string | null` - - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. - - - `implicit: boolean | null` - - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. - - - `service_account_id: string` - - Tagged service account ID (`svac_...`). - - - `workspace_id: string` - - Tagged workspace ID (`wrkspc_...`). - - - `workspace_role: BetaWorkspaceRole` - - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. - - - `"workspace_admin"` - - - `"workspace_billing"` - - - `"workspace_developer"` - - - `"workspace_restricted_developer"` - - - `"workspace_user"` - -#### Example - -```typescript -import Anthropic from "@anthropic-ai/sdk"; - -const client = new Anthropic({ - apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted -}); - -const betaServiceAccountWorkspaceMember = - await client.beta.organization.workspaces.serviceAccounts.add("workspace_id", { - service_account_id: "service_account_id", - workspace_role: "workspace_admin" - }); - -console.log(betaServiceAccountWorkspaceMember.created_by_actor_id); -``` - -##### Response (200) - -```json -{ - "created_by_actor_id": "created_by_actor_id", - "implicit": true, - "service_account_id": "service_account_id", - "type": "service_account_workspace_member", - "workspace_id": "workspace_id", - "workspace_role": "workspace_admin" -} -``` - -### Get Service Account Workspace Member - -`client.beta.organization.workspaces.serviceAccounts.retrieve(serviceAccountID, params, options?): BetaServiceAccountWorkspaceMember` - -**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` - -**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=typescript). - -Retrieve a service account's membership in a workspace. - -Returns the membership record, including the service account's -`workspace_role` in this workspace. Archived workspaces return 400. For -the default workspace, returns the implicit (`implicit: true`) -membership when no explicit membership exists; an explicitly added -membership is returned with its assigned role. An archived service -account returns 404. - -#### Parameters - -- `serviceAccountID: string` (path parameter) - - ID of the service account. - -- `params: ServiceAccountRetrieveParams` - - - `workspace_id: string` (path parameter) - - ID of the workspace. - - - `betas?: Array` (header parameter) - - Optional header to specify the beta version(s) you want to use. - - - `(string & {})` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` + - `"message-threads-2026-08-12"` - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `interface BetaServiceAccountWorkspaceMember` + + - `type: "service_account_workspace_member"` + + default: service_account_workspace_member + + - `created_by_actor_id: string | null` + + Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. + + - `implicit: boolean | null` + + True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role `workspace_user` and cannot be removed. + + - `service_account_id: string` + + Tagged service account ID (`svac_...`). + + - `workspace_id: string` + + Tagged workspace ID (`wrkspc_...`). + + - `workspace_role: BetaWorkspaceRole` + + Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. + + - `"workspace_admin"` + + - `"workspace_billing"` + + - `"workspace_developer"` + + - `"workspace_restricted_developer"` + + - `"workspace_user"` + +#### Example + +```typescript +import Anthropic from "@anthropic-ai/sdk"; + +const client = new Anthropic({ + apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted +}); + +const betaServiceAccountWorkspaceMember = + await client.beta.organization.workspaces.serviceAccounts.add("workspace_id", { + service_account_id: "service_account_id", + workspace_role: "workspace_admin" + }); + +console.log(betaServiceAccountWorkspaceMember.created_by_actor_id); +``` + +##### Response (200) + +```json +{ + "created_by_actor_id": "created_by_actor_id", + "implicit": true, + "service_account_id": "service_account_id", + "type": "service_account_workspace_member", + "workspace_id": "workspace_id", + "workspace_role": "workspace_admin" +} +``` + +### Get Service Account Workspace Member + +`client.beta.organization.workspaces.serviceAccounts.retrieve(serviceAccountID, params, options?): BetaServiceAccountWorkspaceMember` + +**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` + +**Requires an OAuth access token with the `org:admin` scope**, from `ant auth login --scope org:admin` or a workload identity federation rule; Admin API keys are not accepted. See [Manage WIF with the Admin API](https://platform.claude.com/docs/en/manage-claude/wif-admin-api?sdk_languages=typescript). + +Retrieve a service account's membership in a workspace. + +Returns the membership record, including the service account's +`workspace_role` in this workspace. Archived workspaces return 400. For +the default workspace, returns the implicit (`implicit: true`) +membership when no explicit membership exists; an explicitly added +membership is returned with its assigned role. An archived service +account returns 404. + +#### Parameters + +- `serviceAccountID: string` (path parameter) + + ID of the service account. + +- `params: ServiceAccountRetrieveParams` + + - `workspace_id: string` (path parameter) + + ID of the workspace. + + - `betas?: Array` (header parameter) + + Optional header to specify the beta version(s) you want to use. + + - `(string & {})` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -98136,6 +98768,10 @@ rejected. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaServiceAccountWorkspaceMember` @@ -98343,6 +98979,10 @@ membership. Archived workspaces return 400. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface ServiceAccountRemoveResponse` @@ -100790,24 +101430,27 @@ for await (const betaAnalyticsArtifactActivity of client.beta.organization.analy } ``` -## Beta › Organization › Analytics › Usage Report +## Beta › Organization › Analytics › Usage -### Get Token Usage Over Time +### Get Token Usage By Dimension -`client.beta.organization.analytics.usageReport.list(query, options?): ReportPageCursor` +`client.beta.organization.analytics.usage.list(params, options?): ReportPageCursor` -**GET** `/v1/organizations/analytics/usage_report` +**GET** `/v1/organizations/analytics/usage` -Get token usage over time across a date range. +Get token usage across a date range, broken out by dimension. -Returns token usage bucketed by minute, hour, or day, optionally broken -down by product, model, context window, inference region, or speed. -Available to organizations on a Claude Enterprise plan. Requires an API -key with the `read:analytics` scope. +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +usage in the range, ranked by the `order_by` metric or ordered by time +bucket; every combination is returned across pages. With no `group_by[]` +and no `time_bucket_width`, a single row aggregates the whole range. +Includes all usage, whether or not it is attributable to a seat user. +Requires an API key with the `read:analytics` scope, or an Admin API key. #### Parameters -- `query: UsageReportListParams` +- `params: UsageListParams` - `starting_at: string` (query parameter) @@ -100815,19 +101458,41 @@ key with the `read:analytics` scope. format: date-time - - `bucket_width?: "1d" | "1h" | "1m"` (query parameter) + - `actor_ids?: Array | null` (query parameter) - Time bucket granularity. + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. - - `"1d"` + maxItems: 100 - - `"1h"` + - `actor_types?: Array | null` (query parameter) - - `"1m"` + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_ids?: Array | null` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `api_key_ids?: Array | null` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 - `claude_tag_categories?: Array | null` (query parameter) - Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. maxItems: 100 @@ -100857,24 +101522,52 @@ key with the `read:analytics` scope. - `"200k-1M"` + - `deployment_ids?: Array | null` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + - `ending_at?: string | null` (query parameter) - End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. format: date-time - - `group_by?: Array<"claude_tag_category" | "claude_tag_user_id" | "context_window" | 6 more> | null` (query parameter) + - `environment_ids?: Array | null` (query parameter) - Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `exclude_deleted_users?: boolean` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + - `group_by?: Array | null` (query parameter) + + Dimensions to break usage out by (at most 5): one row per combination of their values with usage in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. When omitted, a single row aggregates the whole range. maxItems: 100 + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + - `"claude_tag_category"` - `"claude_tag_user_id"` - `"context_window"` + - `"deployment_id"` + + - `"environment_id"` + - `"inference_geo"` - `"model"` @@ -100883,10 +101576,18 @@ key with the `read:analytics` scope. - `"rbac_group_id"` + - `"service_tier"` + + - `"session_id"` + - `"slack_channel_id"` - `"speed"` + - `"user_profile_id"` + + - `"workspace_id"` + - `inference_geos?: Array | null` (query parameter) Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. @@ -100899,11 +101600,11 @@ key with the `read:analytics` scope. - `"us"` - - `limit?: number | null` (query parameter) + - `limit?: number` (query parameter) - Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. - minimum: 1 + minimum: 1, maximum: 1000 - `models?: Array | null` (query parameter) @@ -100911,13 +101612,35 @@ key with the `read:analytics` scope. maxItems: 100 + - `order?: BetaAnalyticsUsageCostSortOrder` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + + - `order_by?: BetaAnalyticsUsageOrderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `total_tokens`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `total_tokens`. Defaults to `total_tokens`. + + - `"output_tokens"` + + - `"requests"` + + - `"time"` + + - `"total_tokens"` + + - `"uncached_input_tokens"` + - `page?: string | null` (query parameter) Opaque cursor from a previous response's `next_page` field. - - `products?: Array | null` (query parameter) + - `products?: Array | null` (query parameter) - Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + Product surfaces to include. Defaults to all products. maxItems: 100 @@ -100925,16 +101648,24 @@ key with the `read:analytics` scope. - `"chat_cowork_unified"` - - `"claude-tag"` - - `"claude_code"` + - `"claude_console"` + - `"claude_design"` - `"claude_in_chrome"` + - `"claude_tag"` + - `"cowork"` + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + - `"office_agent"` - `rbac_group_ids?: Array | null` (query parameter) @@ -100943,13 +101674,37 @@ key with the `read:analytics` scope. maxItems: 100 + - `service_tiers?: Array | null` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_ids?: Array | null` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + - `slack_channel_ids?: Array | null` (query parameter) Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. maxItems: 100 - - `speeds?: Array<"fast" | "standard"> | null` (query parameter) + - `speeds?: Array | null` (query parameter) Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. @@ -100959,49 +101714,1459 @@ key with the `read:analytics` scope. - `"standard"` - - `user_ids?: Array | null` (query parameter) + - `time_bucket_width?: BetaAnalyticsTimeBucketWidth | null` (query parameter) - Filter to specific users by tagged user ID. + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + + - `user_profile_ids?: Array | null` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `workspace_ids?: Array | null` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. maxItems: 100 + - `betas?: Array` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `(string & {})` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns -- `interface BetaAnalyticsUsageReportTimeBucket` +- `interface BetaAnalyticsUsageItem` - `ending_at: string` - End of the time bucket (exclusive) in RFC 3339 format. + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. format: date-time - - `results: Array` + - `group: BetaAnalyticsUsageGroup` - Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + The dimension values this row's usage is broken out by. - - `cache_creation: BetaCacheCreation` + - `actor: BetaAnalyticsActor | null` - The number of input tokens for cache creation. + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. - - `ephemeral_1h_input_tokens: number` + - `interface BetaAnalyticsReportUserActor` - The number of input tokens used to create the 1 hour cache entry. + - `type: "user_actor"` - default: 0, minimum: 0 + Actor type. Always `"user_actor"`. - - `ephemeral_5m_input_tokens: number` + - `deleted: boolean` - The number of input tokens used to create the 5 minute cache entry. + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. - default: 0, minimum: 0 + - `email_address: string | null` - - `cache_read_input_tokens: number` + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. - The number of input tokens read from the cache. + - `name: string | null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `interface BetaAnalyticsServiceAccountActor` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `interface BetaAnalyticsFederatedActor` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `interface BetaAnalyticsFederatedActorAWSProvider` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `interface BetaAnalyticsFederatedActorAzureProvider` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `interface BetaAnalyticsFederatedActorGCPProvider` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `interface BetaAnalyticsFederatedActorOIDCProvider` + + - `type: "oidc"` + + - `issuer: string | null` + + The federation issuer's URL. + + - `subject: string | null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `interface BetaAnalyticsAPIActor` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType | null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string | null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string | null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. - `claude_tag_category: BetaAnalyticsClaudeTagCategory | null` - Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string | null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow | null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `deployment_id: string | null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string | null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo | null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string | null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string | null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string | null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier | null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string | null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string | null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed | null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `user_profile_id: string | null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string | null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + + - `usage: BetaAnalyticsUsageMetrics` + + Token usage for this row. + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `output_tokens: number` + + The number of output tokens generated. + + - `requests: number | null` + + Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `server_tool_use: BetaAnalyticsServerToolUse` + + Server-side tool usage metrics. + + - `web_search_requests: number` + + The number of web search requests made. + + - `total_tokens: number` + + Total token count across all token types. This is the value the default `order_by` (`total_tokens`) sorts on. + + - `uncached_input_tokens: number` + + The number of uncached input tokens processed. + +#### Example + +```typescript +import Anthropic from "@anthropic-ai/sdk"; + +const client = new Anthropic({ + apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted +}); + +// Automatically fetches more pages as needed. +for await (const betaAnalyticsUsageItem of client.beta.organization.analytics.usage.list({ + starting_at: "2026-09-01T00:00:00Z" +})) { + console.log(betaAnalyticsUsageItem.ending_at); +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "requests": 128, + "server_tool_use": { + "web_search_requests": 10 + }, + "total_tokens": 5377000, + "uncached_input_tokens": 1284500 + } + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Cost + +### Get Cost By Dimension + +`client.beta.organization.analytics.cost.list(params, options?): ReportPageCursor` + +**GET** `/v1/organizations/analytics/cost` + +Get cost in USD across a date range, broken out by dimension. + +Returns one row per combination of the requested `group_by[]` +dimensions (and time bucket, when `time_bucket_width` is set) that has +cost in the range, ranked by spend or ordered by time bucket; every +combination is returned across pages. With no `group_by[]` and no +`time_bucket_width`, a single row aggregates the whole range. Includes +all cost, whether or not it is attributable to a seat user. Requires an +API key with the `read:analytics` scope, or an Admin API key. + +#### Parameters + +- `params: CostListParams` + + - `starting_at: string` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `actor_ids?: Array | null` (query parameter) + + Filter to usage attributed to specific identities, by tagged ID: a `user_...`, `svac_...` (service account), or `apikey_...` ID. An `apikey_` entry matches only usage attributed to the key itself, not usage on that key attributed to a user or service account (use `api_key_ids[]` for every request a key authenticated). Federated identities have no tagged ID; select them with `actor_types[]`. Use `group_by[]=actor` to break out per-identity values. + + maxItems: 100 + + - `actor_types?: Array | null` (query parameter) + + Filter to usage attributed to specific kinds of identity. Use `group_by[]=actor_type` to break out per-kind values. + + maxItems: 100 + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_ids?: Array | null` (query parameter) + + Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `api_key_ids?: Array | null` (query parameter) + + Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only. + + maxItems: 100 + + - `claude_tag_categories?: Array | null` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_ids?: Array | null` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `context_windows?: Array | null` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + + - `deployment_ids?: Array | null` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `ending_at?: string | null` (query parameter) + + End of range, exclusive. Required when `time_bucket_width` is set. Without `time_bucket_width`, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `environment_ids?: Array | null` (query parameter) + + Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `exclude_deleted_users?: boolean` (query parameter) + + If true, omit rows whose `actor` is a `user_actor` with `deleted: true`. Requires `group_by[]=actor`. Rows for other actor types, and rows whose `actor` is null, are always kept. A page may contain fewer than `limit` rows; use `has_more` and `next_page` to paginate as usual. + + - `group_by?: Array | null` (query parameter) + + Dimensions to break cost out by (at most 5, not counting `cost_type` and `token_type`): one row per combination of their values with cost in the range (and per time bucket, when `time_bucket_width` is set), every combination returned across pages rather than a capped top set. `cost_type` and `token_type` do not count toward `limit`: `cost_type` returns one row per cost component (tokens, web search, code execution, and `session_usage`, Claude Managed Agents session time); `token_type` returns one row per token type, each with `cost_type: "tokens"`; combining both returns the per-token-type rows plus the web-search, code-execution and session-usage rows. When omitted, a single row aggregates the whole range. + + maxItems: 100 + + - `"actor"` + + - `"actor_type"` + + - `"agent_id"` + + - `"api_key_id"` + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"cost_type"` + + - `"deployment_id"` + + - `"environment_id"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"service_tier"` + + - `"session_id"` + + - `"slack_channel_id"` + + - `"speed"` + + - `"token_type"` + + - `"user_profile_id"` + + - `"workspace_id"` + + - `inference_geos?: Array | null` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + + - `limit?: number` (query parameter) + + Number of rows per page (1-1000, default 20). `cost_type`/`token_type` fan-out rows (cost endpoint only) do not count toward this limit, so `data` can exceed it. + + minimum: 1, maximum: 1000 + + - `models?: Array | null` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `order?: BetaAnalyticsUsageCostSortOrder` (query parameter) + + Sort direction of the `order_by` metric, or of the time buckets when `order_by` is `time` and `time_bucket_width` is set. Defaults to `desc`. + + - `"asc"` + + - `"desc"` + + - `order_by?: BetaAnalyticsCostOrderBy` (query parameter) + + Row order. A metric ranks rows by that metric in the `order` direction. `time` orders rows by time bucket in the `order` direction (newest first by default) and, within a bucket, by `amount`, highest first. `time` takes effect only with `time_bucket_width`; without it, `time` is the same as `amount`. Defaults to `amount`. + + - `"amount"` + + - `"list_amount"` + + - `"time"` + + - `page?: string | null` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `products?: Array | null` (query parameter) + + Product surfaces to include. Defaults to all products. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude_code"` + + - `"claude_console"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"claude_tag"` + + - `"cowork"` + + - `"managed_agents_api"` + + - `"message_batches_api"` + + - `"messages_api"` + + - `"office_agent"` + + - `rbac_group_ids?: Array | null` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `service_tiers?: Array | null` (query parameter) + + Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_ids?: Array | null` (query parameter) + + Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `slack_channel_ids?: Array | null` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `speeds?: Array | null` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + + - `time_bucket_width?: BetaAnalyticsTimeBucketWidth | null` (query parameter) + + Time-bucket granularity. When set, rows are returned per time bucket (one per bucket and dimension combination with usage) and each row's `starting_at` and `ending_at` are that bucket's bounds; the time bucket counts toward `limit`. `ending_at` is required when `time_bucket_width` is set, and with `time_bucket_width="1m"` the range may span at most 24 hours. When omitted, each row aggregates the requested range with `starting_at` and `ending_at` each rounded down to the hour. + + - `"1d"` + + - `"1h"` + + - `"1m"` + + - `user_profile_ids?: Array | null` (query parameter) + + Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only. + + maxItems: 100 + + - `workspace_ids?: Array | null` (query parameter) + + Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization. + + maxItems: 100 + + - `betas?: Array` (header parameter) + + This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header. + + - `(string & {})` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `interface BetaAnalyticsCostItem` + + - `cost: BetaAnalyticsCostMetrics` + + Cost for this row. + + - `amount: string` + + Amount (post-discount, pre-credit) in fractional cents (minor units). + + - `currency: string` + + Currency code for the cost amount. Currently always `"USD"`. + + default: USD + + - `list_amount: string` + + List-price amount (pre-discount) in fractional cents. + + - `requests: number | null` + + Number of API requests in this row's scope. Null when `group_by` includes `cost_type` or `token_type` (the count has no per-component attribution; read it from the ungrouped response). For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`). + + - `ending_at: string` + + End of the period this row covers (exclusive), as an RFC 3339 UTC timestamp: the end of the row's time bucket when a time-bucket width is set; otherwise the requested `ending_at` (or, when omitted, the earlier of now and `starting_at` plus 31 days) rounded down to the hour, because without a time bucket the report covers whole hours. + + format: date-time + + - `group: BetaAnalyticsCostGroup` + + The dimension values this row's cost is broken out by. + + - `actor: BetaAnalyticsActor | null` + + The identity the usage is attributed to: the user if one is attributed, else the service account, else the federated (cloud-platform) identity, else the API key. Populated only when `actor` is in `group_by[]`; null for usage with no attributable identity, and for users' and federated identities' usage when the reader is a member who can see only some workspaces. Distinct identities the server cannot render also read null, each as its own row. + + - `interface BetaAnalyticsReportUserActor` + + - `type: "user_actor"` + + Actor type. Always `"user_actor"`. + + - `deleted: boolean` + + True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation. + + - `email_address: string | null` + + The user's current email address, including for users who are no longer members of the organization. Null when the account has been deleted and for system-minted service accounts. + + - `name: string | null` + + The user's current full name. Null when the user has not set one. `"Deleted User"` when the account has been deleted, or when the user is no longer a member and the organization hides removed users' names. + + - `user_id: string` + + Tagged user ID. + + - `interface BetaAnalyticsServiceAccountActor` + + - `type: "service_account_actor"` + + - `service_account_id: string` + + Tagged service account ID. + + - `interface BetaAnalyticsFederatedActor` + + - `type: "federated_actor"` + + - `provider: BetaAnalyticsFederatedActorProvider` + + The trusted provider that asserted the caller's identity. + + - `interface BetaAnalyticsFederatedActorAWSProvider` + + - `type: "aws"` + + - `account_id: string` + + The AWS account the organization is bound to. + + - `signed_principal: string` + + The AWS-signed ARN of the IAM principal that made the requests. + + - `interface BetaAnalyticsFederatedActorAzureProvider` + + - `type: "azure"` + + - `subscription_id: string` + + The Azure subscription the organization is bound to. + + - `interface BetaAnalyticsFederatedActorGCPProvider` + + - `type: "gcp"` + + - `project_number: string` + + The Google Cloud project the organization is bound to. + + - `interface BetaAnalyticsFederatedActorOIDCProvider` + + - `type: "oidc"` + + - `issuer: string | null` + + The federation issuer's URL. + + - `subject: string | null` + + The provider's identifier for the caller: on `aws`, the IAM principal ARN (one role is one actor across its sessions); on `gcp`, the caller's IAM principal identifier as Google Cloud reports it, such as `serviceAccount:`, `user:`, or a `principal://...` URI. + + - `interface BetaAnalyticsAPIActor` + + - `type: "api_actor"` + + - `api_key_id: string` + + Tagged API key ID. + + - `actor_type: BetaAnalyticsActorType | null` + + Kind of identity the usage is attributed to; matches `actor.type` when `actor` is set. Populated only when `actor_type` is in `group_by[]`. + + - `"api_actor"` + + - `"federated_actor"` + + - `"service_account_actor"` + + - `"user_actor"` + + - `agent_id: string | null` + + Claude Managed Agents agent whose session incurred the usage. Populated only when `agent_id` is in `group_by[]`; null for usage outside a managed session. + + - `api_key_id: string | null` + + API key that authenticated the requests, as a tagged API key ID, whichever identity `actor` resolves to. Populated only when `api_key_id` is in `group_by[]`; null for usage not authenticated by an API key. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory | null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time. + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_id: string | null` + + Slack user ID (for example `U0123ABCDEF`) of the member the Claude Tag (Claude in Slack) usage is attributed to, not a claude.ai user ID. Populated only when `claude_tag_user_id` is in `group_by[]`; null for usage that is not Claude Tag and for Claude Tag usage that is not attributed to a single user (for example `monitoring`, and `proactive` usage Claude initiated), so per-user rows can sum to less than the Claude Tag total. Cannot be combined with `group_by[]=rbac_group_id` or the `rbac_group_ids[]` filter. + + - `context_window: BetaAnalyticsContextWindow | null` + + Context-window pricing tier of the usage or cost. Null unless `context_window` is in `group_by[]`; it can also be null on grouped rows with no context-window tier, such as code execution. + + - `"0-200k"` + + - `"200k-1M"` + + - `cost_type: BetaAnalyticsGroupedCostType | null` + + Cost component breakdown; null when returning the combined total. + + - `"code_execution"` + + - `"session_usage"` + + - `"tokens"` + + - `"web_search"` + + - `deployment_id: string | null` + + Deployment that started the Claude Managed Agents session. Populated only when `deployment_id` is in `group_by[]`; null for usage outside a managed session and for sessions no deployment started. + + - `environment_id: string | null` + + Claude Managed Agents environment the session ran in. Populated only when `environment_id` is in `group_by[]`; null for usage outside a managed session. + + - `inference_geo: BetaAnalyticsUsageCostInferenceGeo | null` + + Inference region of the usage or cost. Null unless `inference_geo` is in `group_by[]`; it can also be null on grouped rows where the region is not set (the rows that `inference_geos[]=not_available` matches). + + - `"global"` + + - `"us"` + + - `model: string | null` + + Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution. + + - `product: string | null` + + Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other". + + - `rbac_group_id: string | null` + + RBAC group (team) the usage is attributed to, in the public tagged `rbac_group_...` spelling — the same spelling the activity resources use for this key, so the same team has one id across resources and it round-trips as an `rbac_group_ids[]` filter value. Populated only when `rbac_group_id` is in `group_by[]`. Any-membership semantics: a user in several groups contributes their full usage to each of those groups' rows, so the named-group rows overlap and their sum can exceed the org total. A null value is the single unassigned row: users in no group on that (UTC) day. For the true org total, run the same query without `group_by[]`. + + - `service_tier: BetaAnalyticsServiceTier | null` + + Service tier the usage was served at. Populated only when `service_tier` is in `group_by[]`; null for usage with no service tier (for example, code execution) and for Claude Enterprise usage. + + - `"batch"` + + - `"flex"` + + - `"flex_discount"` + + - `"priority"` + + - `"priority_on_demand"` + + - `"standard"` + + - `session_id: string | null` + + Claude Managed Agents session that incurred the usage. Populated only when `session_id` is in `group_by[]`; null for usage outside a managed session. + + - `slack_channel_id: string | null` + + Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled). + + - `speed: BetaAnalyticsSpeed | null` + + Inference speed mode of the usage or cost: `fast` or `standard`. Null unless `speed` is in `group_by[]`. + + - `"fast"` + + - `"standard"` + + - `token_type: BetaAnalyticsTokenType | null` + + Token type when `cost_type` is `tokens`; null otherwise. + + - `"cache_creation.ephemeral_1h_input_tokens"` + + - `"cache_creation.ephemeral_5m_input_tokens"` + + - `"cache_read_input_tokens"` + + - `"output_tokens"` + + - `"uncached_input_tokens"` + + - `user_profile_id: string | null` + + User profile the usage was attributed to, as a tagged `uprof_` ID. Populated only when `user_profile_id` is in `group_by[]`; null for usage that named no profile and for Claude Enterprise usage. + + - `workspace_id: string | null` + + Workspace the usage occurred in, as a tagged workspace ID, including the organization's default workspace. Populated only when `workspace_id` is in `group_by[]`; null for Claude Enterprise usage. + + - `starting_at: string` + + Start of the period this row covers (inclusive), as an RFC 3339 UTC timestamp: the start of the row's time bucket when a time-bucket width is set, otherwise the requested `starting_at` rounded down to the hour. + + format: date-time + +#### Example + +```typescript +import Anthropic from "@anthropic-ai/sdk"; + +const client = new Anthropic({ + apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted +}); + +// Automatically fetches more pages as needed. +for await (const betaAnalyticsCostItem of client.beta.organization.analytics.cost.list({ + starting_at: "2026-09-01T00:00:00Z" +})) { + console.log(betaAnalyticsCostItem.cost); +} +``` + +##### Response (200) + +```json +{ + "data": [ + { + "cost": { + "amount": "41280.000000", + "currency": "USD", + "list_amount": "51600.000000", + "requests": 128 + }, + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "actor": { + "deleted": false, + "email_address": "user@emaildomain.com", + "name": "Jane Doe", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "actor_type": "user_actor", + "agent_id": "agent_01VHd3EAGJ6PLkP9LM7DDu3f", + "api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT", + "claude_tag_category": "dm", + "claude_tag_user_id": "U0123ABCDEF", + "context_window": "0-200k", + "cost_type": "tokens", + "deployment_id": "depl_01JFC6ihzZHtAuyHsaENdJhY", + "environment_id": "env_017oTjuGedHtjhJauVC5xGJD", + "inference_geo": "global", + "model": "claude-opus-5-5", + "product": "chat", + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "service_tier": "standard", + "session_id": "sesn_0187kPDyNCwibNNvfaPEApCJ", + "slack_channel_id": "C0123ABCDEF", + "speed": "fast", + "token_type": "cache_creation.ephemeral_1h_input_tokens", + "user_profile_id": "uprof_01M33NeYUQK2WV9PpYcsPHLi", + "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" + }, + "starting_at": "2026-09-01T00:00:00Z" + } + ], + "data_refreshed_at": "2019-12-27T18:11:19.117Z", + "has_more": true, + "next_page": "next_page" +} +``` + +## Beta › Organization › Analytics › Usage Report + +### Get Token Usage Over Time + +`client.beta.organization.analytics.usageReport.list(query, options?): ReportPageCursor` + +**GET** `/v1/organizations/analytics/usage_report` + +[Legacy] Get token usage over time across a date range. + +Returns token usage bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as product or model. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=typescript) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=typescript#migrate-from-enterprise-analytics-reports). + +#### Parameters + +- `query: UsageReportListParams` + + - `starting_at: string` (query parameter) + + Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z. + + format: date-time + + - `bucket_width?: "1d" | "1h" | "1m"` (query parameter) + + Time bucket granularity. + + - `"1d"` + + - `"1h"` + + - `"1m"` + + - `claude_tag_categories?: Array | null` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values. + + maxItems: 100 + + - `"dm"` + + - `"engaged"` + + - `"monitoring"` + + - `"proactive"` + + - `"scheduled"` + + - `claude_tag_user_ids?: Array | null` (query parameter) + + Filter to Claude Tag (Claude in Slack) usage attributed to specific Slack users, by Slack user ID (for example `U0123ABCDEF`), not claude.ai user ID. Usage that is not Claude Tag, and Claude Tag usage not attributed to a single user, never matches. Use `group_by[]=claude_tag_user_id` to break out per-user values. + + maxItems: 100 + + - `context_windows?: Array | null` (query parameter) + + Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values. + + maxItems: 100 + + - `"0-200k"` + + - `"200k-1M"` + + - `ending_at?: string | null` (query parameter) + + End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days. + + format: date-time + + - `group_by?: Array<"claude_tag_category" | "claude_tag_user_id" | "context_window" | 6 more> | null` (query parameter) + + Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values. + + maxItems: 100 + + - `"claude_tag_category"` + + - `"claude_tag_user_id"` + + - `"context_window"` + + - `"inference_geo"` + + - `"model"` + + - `"product"` + + - `"rbac_group_id"` + + - `"slack_channel_id"` + + - `"speed"` + + - `inference_geos?: Array | null` (query parameter) + + Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values. + + maxItems: 100 + + - `"global"` + + - `"not_available"` + + - `"us"` + + - `limit?: number | null` (query parameter) + + Maximum number of time buckets per page. Defaults and caps vary by `bucket_width` (`1d`: default 7, max 31; `1h`: default 24, max 168; `1m`: default 60, max 256). + + minimum: 1 + + - `models?: Array | null` (query parameter) + + Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values. + + maxItems: 100 + + - `page?: string | null` (query parameter) + + Opaque cursor from a previous response's `next_page` field. + + - `products?: Array | null` (query parameter) + + Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. + + maxItems: 100 + + - `"chat"` + + - `"chat_cowork_unified"` + + - `"claude-tag"` + + - `"claude_code"` + + - `"claude_design"` + + - `"claude_in_chrome"` + + - `"cowork"` + + - `"office_agent"` + + - `rbac_group_ids?: Array | null` (query parameter) + + Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches. + + maxItems: 100 + + - `slack_channel_ids?: Array | null` (query parameter) + + Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values. + + maxItems: 100 + + - `speeds?: Array<"fast" | "standard"> | null` (query parameter) + + Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values. + + maxItems: 100 + + - `"fast"` + + - `"standard"` + + - `user_ids?: Array | null` (query parameter) + + Filter to specific users by tagged user ID. + + maxItems: 100 + +#### Returns + +- `interface BetaAnalyticsUsageReportTimeBucket` + + - `ending_at: string` + + End of the time bucket (exclusive) in RFC 3339 format. + + format: date-time + + - `results: Array` + + Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter). + + - `cache_creation: BetaCacheCreation` + + The number of input tokens for cache creation. + + - `ephemeral_1h_input_tokens: number` + + The number of input tokens used to create the 1 hour cache entry. + + default: 0, minimum: 0 + + - `ephemeral_5m_input_tokens: number` + + The number of input tokens used to create the 5 minute cache entry. + + default: 0, minimum: 0 + + - `cache_read_input_tokens: number` + + The number of input tokens read from the cache. + + - `claude_tag_category: BetaAnalyticsClaudeTagCategory | null` + + Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time. - `"dm"` @@ -101149,15 +103314,11 @@ for await (const betaAnalyticsUsageReportTimeBucket of client.beta.organization. **GET** `/v1/organizations/analytics/user_usage_report` -Get per-user token usage across a date range. +[Legacy] Get per-user token usage across a date range. -Returns one row per user, ranked by the chosen token metric. Use this to -see which users consume the most tokens. Only usage attributable to a -seat user is included; for organization-wide totals including direct -API-key and automation traffic, use the bucketed -`/v1/organizations/analytics/usage_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=typescript) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=typescript#migrate-from-enterprise-analytics-reports). #### Parameters @@ -101555,12 +103716,11 @@ for await (const betaAnalyticsUsageUsersItem of client.beta.organization.analyti **GET** `/v1/organizations/analytics/cost_report` -Get cost in USD over time across a date range. +[Legacy] Get cost in USD over time across a date range. + +Returns cost bucketed by minute, hour, or day, optionally broken down by one or more `group_by[]` dimensions, such as model or cost type. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. -Returns cost bucketed by minute, hour, or day, optionally broken down by -product, model, context window, inference region, speed, cost type, or -token type. Available to organizations on a Claude Enterprise plan. -Requires an API key with the `read:analytics` scope. +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=typescript) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=typescript#migrate-from-enterprise-analytics-reports). #### Parameters @@ -101907,15 +104067,11 @@ for await (const betaAnalyticsCostReportTimeBucket of client.beta.organization.a **GET** `/v1/organizations/analytics/user_cost_report` -Get per-user cost in USD across a date range. +[Legacy] Get per-user cost in USD across a date range. -Returns one row per user, ranked by spend. Use this to see which users -account for the most cost. Only cost attributable to a seat user is -included; for organization-wide totals including direct API-key and -automation traffic, use the bucketed -`/v1/organizations/analytics/cost_report` endpoint. Available to -organizations on a Claude Enterprise plan. Requires an API key with the -`read:analytics` scope. +Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as requests attributed only to an API key, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope. + +This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=typescript) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=typescript#migrate-from-enterprise-analytics-reports). #### Parameters @@ -102479,6 +104635,10 @@ Anthropic account team. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSpendLimit` @@ -103031,6 +105191,10 @@ come in a fixed order that is not creation order. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSpendLimit` @@ -106022,399 +108186,407 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` -#### Returns - -- `interface BetaPlugin` - - - `type: "plugin"` - - Always `plugin`. - - default: plugin - - - `id: string` - - The Plugin's ID. - - - `components: Array | null` - - What the served version contains; null when not enumerated. - - - `type: "agent" | "cli" | "command" | 3 more` - - The kind of component. - - - `"agent"` - - - `"cli"` - - - `"command"` - - - `"hook"` - - - `"mcp_server"` - - - `"skill"` - - - `description: string | null` - - What the component declares about itself; always null for MCP servers, hooks, and CLIs. - - - `name: string` - - The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. - - - `content_scan: BetaPluginContentScan | null` - - The served version's content scan; null when it has not been scanned. - - - `assessment: "fail" | "pass" | "unknown" | "warn" | null` - - The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. - - - `"fail"` - - - `"pass"` - - - `"unknown"` - - - `"warn"` - - - `reason: string | null` - - The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. - - - `status: "completed" | "errored" | "processing"` - - `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. - - - `"completed"` - - - `"errored"` - - - `"processing"` - - - `created_at: string` - - RFC 3339. - - format: date-time - - - `created_by: BetaPluginUserActor | BetaPluginAPIActor | null` - - Who created the Plugin; null when no creator is recorded. - - - `interface BetaPluginUserActor` - - - `type: "user_actor"` - - A member of the organization. - - default: user_actor - - - `email_address: string | null` - - The member's email address; may be null, for example when they are no longer a member of the organization. - - - `user_id: string` - - The member's User ID. - - - `interface BetaPluginAPIActor` - - - `type: "api_actor"` - - An Admin API key, in the same form the Compliance API activity feed uses for it. - - default: api_actor - - - `api_key_id: string` - - The key's ID. - - - `description: string | null` - - The served version's description. - - - `display_name: string | null` - - The served version's display name. - - - `latest_version_id: string` - - The newest version. - - - `manifest_version: string | null` - - The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - - - `marketplace_id: string` - - The ID of the plugin marketplace the Plugin lives in. - - - `name: string` - - Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. - - - `organization_installation_preference: "auto_install" | "available" | "not_available" | "required" | null` - - Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. - - - `"auto_install"` - - - `"available"` - - - `"not_available"` - - - `"required"` - - - `organization_installation_preference_inherited: boolean | null` - - Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. - - - `owner: BetaPluginOwnerOrganization | BetaPluginOwnerUser` - - Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. - - - `interface BetaPluginOwnerOrganization` - - - `type: "organization"` - - The Plugin lives in a plugin marketplace the organization owns. - - default: organization - - - `interface BetaPluginOwnerUser` - - - `type: "user"` - - The Plugin lives in one member's personal plugin marketplace. - - default: user - - - `user_id: string` - - The member's User ID. - - - `reach: "contained" | "privileged" | "remote" | null` - - How far the served version reaches, or `null` if it is not classified. - - `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. - - If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. - - - `"contained"` - - - `"privileged"` - - - `"remote"` - - - `served_version_id: string` - - The version claude.ai serves to members. - - - `served_version_pinned: boolean` - - True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. - - - `updated_at: string` - - RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. - - format: date-time - -#### Example - -```typescript -import Anthropic from "@anthropic-ai/sdk"; - -const client = new Anthropic({ - apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted -}); - -const betaPlugin = await client.beta.organization.plugins.create({ - files: [fs.createReadStream("path/to/file")] -}); - -console.log(betaPlugin.id); -``` - -##### Response (200) - -```json -{ - "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "components": [ - { - "description": "description", - "name": "review-pr", - "type": "skill" - } - ], - "content_scan": { - "assessment": "warn", - "reason": "credential-exposure", - "status": "completed" - }, - "created_at": "2026-03-14T09:26:53.589793Z", - "created_by": { - "email_address": "user@example.com", - "type": "user_actor", - "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" - }, - "description": "Reviews pull requests against your team's conventions.", - "display_name": "Code Review Helper", - "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", - "manifest_version": "1.2.0", - "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", - "name": "code-review-helper", - "organization_installation_preference": "available", - "organization_installation_preference_inherited": true, - "owner": { - "type": "organization" - }, - "reach": "contained", - "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", - "served_version_pinned": true, - "type": "plugin", - "updated_at": "2026-03-14T09:26:53.589793Z" -} -``` - -### Get Plugin - -`client.beta.organization.plugins.retrieve(pluginID, params?, options?): BetaPlugin` - -**GET** `/v1/organizations/plugins/{plugin_id}` - -Retrieve a Plugin by ID. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `pluginID: string` (path parameter) - - ID of the Plugin (prefixed `plugin_`). - -- `params: PluginRetrieveParams` - - - `organization_id?: string | null` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - - - `betas?: Array` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `(string & {})` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `interface BetaPlugin` + + - `type: "plugin"` + + Always `plugin`. + + default: plugin + + - `id: string` + + The Plugin's ID. + + - `components: Array | null` + + What the served version contains; null when not enumerated. + + - `type: "agent" | "cli" | "command" | 3 more` + + The kind of component. + + - `"agent"` + + - `"cli"` + + - `"command"` + + - `"hook"` + + - `"mcp_server"` + + - `"skill"` + + - `description: string | null` + + What the component declares about itself; always null for MCP servers, hooks, and CLIs. + + - `name: string` + + The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable. + + - `content_scan: BetaPluginContentScan | null` + + The served version's content scan; null when it has not been scanned. + + - `assessment: "fail" | "pass" | "unknown" | "warn" | null` + + The scan's verdict; set only when `status` is `completed`. A `warn` can mean a `fail` that was allowed in claude.ai. + + - `"fail"` + + - `"pass"` + + - `"unknown"` + + - `"warn"` + + - `reason: string | null` + + The primary mechanism behind a `warn` or `fail`, such as `credential-exposure` or `guardrail-tampering`; a mechanism this API does not yet name reads as `other`. Null on a `pass`, whenever `assessment` is null, and when no mechanism is reported for the verdict. + + - `status: "completed" | "errored" | "processing"` + + `processing` while a scan runs, `completed` when it ran to completion, `errored` when it could not run. Once a scan of the version has completed, `content_scan` describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, `status` is `errored` instead. + + - `"completed"` + + - `"errored"` + + - `"processing"` + + - `created_at: string` + + RFC 3339. + + format: date-time + + - `created_by: BetaPluginUserActor | BetaPluginAPIActor | null` + + Who created the Plugin; null when no creator is recorded. + + - `interface BetaPluginUserActor` + + - `type: "user_actor"` + + A member of the organization. + + default: user_actor + + - `email_address: string | null` + + The member's email address; may be null, for example when they are no longer a member of the organization. + + - `user_id: string` + + The member's User ID. + + - `interface BetaPluginAPIActor` + + - `type: "api_actor"` + + An Admin API key, in the same form the Compliance API activity feed uses for it. + + default: api_actor + + - `api_key_id: string` + + The key's ID. + + - `description: string | null` + + The served version's description. + + - `display_name: string | null` + + The served version's display name. + + - `latest_version_id: string` + + The newest version. + + - `manifest_version: string | null` + + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). + + - `marketplace_id: string` + + The ID of the plugin marketplace the Plugin lives in. + + - `name: string` + + Lowercase identifier, unique within its plugin marketplace. Fixed for an organization-owned Plugin's lifetime; a member-owned Plugin's changes when its owner renames it in claude.ai, while its `id` stays the same. + + - `organization_installation_preference: "auto_install" | "available" | "not_available" | "required" | null` + + Organization-owned Plugin: the organization-wide installation setting every member gets unless an RBAC Group they belong to holds its own — the Plugin's own setting, or its plugin marketplace's default. Null for a member-owned Plugin, which has shares instead. One of `required`, `auto_install`, `available`, `not_available`; a value this API does not yet name is returned as stored. + + - `"auto_install"` + + - `"available"` + + - `"not_available"` + + - `"required"` + + - `organization_installation_preference_inherited: boolean | null` + + Organization-owned Plugin: true while it has no organization-wide setting of its own and `organization_installation_preference` is its plugin marketplace's default. Null for a member-owned Plugin. + + - `owner: BetaPluginOwnerOrganization | BetaPluginOwnerUser` + + Who owns the Plugin: the organization, or the member whose personal plugin marketplace it lives in. + + - `interface BetaPluginOwnerOrganization` + + - `type: "organization"` + + The Plugin lives in a plugin marketplace the organization owns. + + default: organization + + - `interface BetaPluginOwnerUser` + + - `type: "user"` + + The Plugin lives in one member's personal plugin marketplace. + + default: user + + - `user_id: string` + + The member's User ID. + + - `reach: "contained" | "privileged" | "remote" | null` + + How far the served version reaches, or `null` if it is not classified. + + `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`. + + If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`. + + - `"contained"` + + - `"privileged"` + + - `"remote"` + + - `served_version_id: string` + + The version claude.ai serves to members. + + - `served_version_pinned: boolean` + + True once the served version has been pinned, through Update Plugin or in claude.ai. While false, a new version normally becomes the served version when it is stored. While the newest version is not the served version, as when a version saved in claude.ai is waiting for its content scan, `served_version_id` differs from `latest_version_id`. + + - `updated_at: string` + + RFC 3339. Moves on a served-version change (including pinning an unpinned Plugin to the version it already serves) and, normally, on a new version. A version saved in claude.ai that waits for its content scan moves it when it becomes the served version, and not necessarily when it is stored. A change to the Plugin's installation settings or shares does not move it. + + format: date-time + +#### Example + +```typescript +import Anthropic from "@anthropic-ai/sdk"; + +const client = new Anthropic({ + apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted +}); + +const betaPlugin = await client.beta.organization.plugins.create({ + files: [fs.createReadStream("path/to/file")] +}); + +console.log(betaPlugin.id); +``` + +##### Response (200) + +```json +{ + "id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "components": [ + { + "description": "description", + "name": "review-pr", + "type": "skill" + } + ], + "content_scan": { + "assessment": "warn", + "reason": "credential-exposure", + "status": "completed" + }, + "created_at": "2026-03-14T09:26:53.589793Z", + "created_by": { + "email_address": "user@example.com", + "type": "user_actor", + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" + }, + "description": "Reviews pull requests against your team's conventions.", + "display_name": "Code Review Helper", + "latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8", + "manifest_version": "1.2.0", + "marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7", + "name": "code-review-helper", + "organization_installation_preference": "available", + "organization_installation_preference_inherited": true, + "owner": { + "type": "organization" + }, + "reach": "contained", + "served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb", + "served_version_pinned": true, + "type": "plugin", + "updated_at": "2026-03-14T09:26:53.589793Z" +} +``` + +### Get Plugin + +`client.beta.organization.plugins.retrieve(pluginID, params?, options?): BetaPlugin` + +**GET** `/v1/organizations/plugins/{plugin_id}` + +Retrieve a Plugin by ID. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `pluginID: string` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + +- `params: PluginRetrieveParams` + + - `organization_id?: string | null` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + + - `betas?: Array` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `(string & {})` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -106831,6 +109003,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPlugin` @@ -107281,6 +109457,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPlugin` @@ -107686,6 +109866,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaDeletedPlugin` @@ -107884,6 +110068,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginVersion` @@ -108224,6 +110412,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginVersion` @@ -108557,6 +110749,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginVersion` @@ -108900,6 +111096,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `type unnamed_schema_3 = Response` @@ -109086,6 +111286,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginInstallationSetting` @@ -109359,6 +111563,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginInstallationSetting` @@ -109620,254 +111828,262 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` -#### Returns - -- `interface BetaDeletedPluginInstallationSetting` - - Confirmation that one target's installation setting was removed, naming - the Plugin and the target in place of an ID. - - - `type: "plugin_installation_setting_deleted"` - - Always `plugin_installation_setting_deleted`. - - default: plugin_installation_setting_deleted - - - `plugin_id: string` - - The Plugin's ID. - - - `target: BetaPluginTargetOrganization | BetaPluginTargetRBACGroup | BetaPluginTargetOrganizationMember` - - Whose setting was removed. - - - `interface BetaPluginTargetOrganization` - - - `type: "organization"` - - Every member of the organization. - - default: organization - - - `interface BetaPluginTargetRBACGroup` - - - `type: "rbac_group"` - - An RBAC Group. - - default: rbac_group - - - `rbac_group_id: string` - - The RBAC Group's ID. - - - `interface BetaPluginTargetOrganizationMember` - - - `type: "organization_member"` - - One member of the organization. - - default: organization_member - - - `user_id: string` - - The member's User ID. - -#### Example - -```typescript -import Anthropic from "@anthropic-ai/sdk"; - -const client = new Anthropic({ - apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted -}); - -const betaDeletedPluginInstallationSetting = - await client.beta.organization.plugins.installationSettings.remove("target", { - plugin_id: "plugin_id" - }); - -console.log(betaDeletedPluginInstallationSetting.plugin_id); -``` - -##### Response (200) - -```json -{ - "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", - "target": { - "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", - "type": "rbac_group" - }, - "type": "plugin_installation_setting_deleted" -} -``` - -## Beta › Organization › Plugins › Shares - -### List Plugin Shares - -`client.beta.organization.plugins.shares.list(pluginID, params?, options?): PageCursor` - -**GET** `/v1/organizations/plugins/{plugin_id}/shares` - -List the shares the owner of a member-owned Plugin has given — to every member of -the organization, to an RBAC Group, or to one member — most recently granted first. - -Shares are read-only in this API: members give and withdraw them in claude.ai, and -who gave a share is recorded on the Compliance API activity feed rather than on the -share. An organization-owned Plugin has installation settings instead, so this path -returns 404 for one. - -**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. - -Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. - -#### Parameters - -- `pluginID: string` (path parameter) - - ID of the Plugin (prefixed `plugin_`). + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + +#### Returns + +- `interface BetaDeletedPluginInstallationSetting` + + Confirmation that one target's installation setting was removed, naming + the Plugin and the target in place of an ID. + + - `type: "plugin_installation_setting_deleted"` + + Always `plugin_installation_setting_deleted`. + + default: plugin_installation_setting_deleted + + - `plugin_id: string` + + The Plugin's ID. + + - `target: BetaPluginTargetOrganization | BetaPluginTargetRBACGroup | BetaPluginTargetOrganizationMember` + + Whose setting was removed. + + - `interface BetaPluginTargetOrganization` + + - `type: "organization"` + + Every member of the organization. + + default: organization + + - `interface BetaPluginTargetRBACGroup` + + - `type: "rbac_group"` + + An RBAC Group. + + default: rbac_group + + - `rbac_group_id: string` + + The RBAC Group's ID. + + - `interface BetaPluginTargetOrganizationMember` + + - `type: "organization_member"` + + One member of the organization. + + default: organization_member + + - `user_id: string` + + The member's User ID. + +#### Example + +```typescript +import Anthropic from "@anthropic-ai/sdk"; + +const client = new Anthropic({ + apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted +}); + +const betaDeletedPluginInstallationSetting = + await client.beta.organization.plugins.installationSettings.remove("target", { + plugin_id: "plugin_id" + }); + +console.log(betaDeletedPluginInstallationSetting.plugin_id); +``` + +##### Response (200) + +```json +{ + "plugin_id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne", + "target": { + "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF", + "type": "rbac_group" + }, + "type": "plugin_installation_setting_deleted" +} +``` + +## Beta › Organization › Plugins › Shares + +### List Plugin Shares + +`client.beta.organization.plugins.shares.list(pluginID, params?, options?): PageCursor` + +**GET** `/v1/organizations/plugins/{plugin_id}/shares` + +List the shares the owner of a member-owned Plugin has given — to every member of +the organization, to an RBAC Group, or to one member — most recently granted first. + +Shares are read-only in this API: members give and withdraw them in claude.ai, and +who gave a share is recorded on the Compliance API activity feed rather than on the +share. An organization-owned Plugin has installation settings instead, so this path +returns 404 for one. + +**Accepted credentials:** an Admin API key with the `read:plugins` or `read:org_audit` scope, or a Compliance Access Key with the `read:compliance_org_data` scope. + +Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled. + +#### Parameters + +- `pluginID: string` (path parameter) + + ID of the Plugin (prefixed `plugin_`). + +- `params: ShareListParams` + + - `limit?: number` (query parameter) + + Number of items to return per page. + + Defaults to `20`. Ranges from `1` to `100`. + + minimum: 1, maximum: 100 + + - `organization_id?: string | null` (query parameter) + + For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. + + - `page?: string | null` (query parameter) + + Optionally set to the `next_page` token from the previous response. + + maxLength: 2048 + + - `target_type?: "organization" | "organization_member" | "rbac_group" | null` (query parameter) + + Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). + + - `"organization"` + + - `"organization_member"` + + - `"rbac_group"` + + - `betas?: Array` (header parameter) + + This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. + + - `(string & {})` + + - `"message-batches-2024-09-24"` + + - `"prompt-caching-2024-07-31"` + + - `"computer-use-2024-10-22"` + + - `"computer-use-2025-01-24"` + + - `"pdfs-2024-09-25"` + + - `"token-counting-2024-11-01"` + + - `"token-efficient-tools-2025-02-19"` + + - `"output-128k-2025-02-19"` + + - `"files-api-2025-04-14"` + + - `"mcp-client-2025-04-04"` + + - `"mcp-client-2025-11-20"` + + - `"dev-full-thinking-2025-05-14"` + + - `"interleaved-thinking-2025-05-14"` + + - `"code-execution-2025-05-22"` + + - `"extended-cache-ttl-2025-04-11"` + + - `"context-1m-2025-08-07"` + + - `"context-management-2025-06-27"` + + - `"model-context-window-exceeded-2025-08-26"` + + - `"skills-2025-10-02"` + + - `"fast-mode-2026-02-01"` + + - `"output-300k-2026-03-24"` + + - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` + + - `"user-profiles-2026-09-04"` + + - `"advisor-tool-2026-03-01"` + + - `"managed-agents-2026-04-01"` + + - `"cache-diagnosis-2026-04-07"` + + - `"dreaming-2026-04-21"` + + - `"thinking-token-count-2026-05-13"` + + - `"server-side-fallback-2026-06-01"` + + - `"server-side-fallback-2026-07-01"` + + - `"fallback-credit-2026-06-01"` + + - `"fallback-credit-2026-07-01"` + + - `"agent-memory-2026-07-22"` + + - `"mid-conversation-tool-changes-2026-07-01"` + + - `"compact-2026-01-12"` + + - `"computer-use-2025-11-24"` + + - `"mcp-tunnels-2026-06-22"` + + - `"structured-outputs-2025-11-13"` + + - `"task-budgets-2026-03-13"` + + - `"thinking-display-updates-2026-08-18"` + + - `"ce-user-management-2026-07-13"` + + - `"mid-conversation-output-config-2026-07-01"` + + - `"thinking-binding-controls-2026-08-01"` + + - `"mid-conversation-system-clear-at-2026-08-21"` + + - `"compact-2026-09-04"` + + - `"inline-tools-2026-09-15"` + + - `"mcp-client-2026-09-15"` + + - `"ce-plugins-2026-09-01"` + + - `"spend-limit-reads-2026-09-26"` + + - `"telemetry-destinations-2026-08-11"` + + - `"webhooks-2026-10-07"` + + - `"message-threads-2026-08-12"` -- `params: ShareListParams` - - - `limit?: number` (query parameter) - - Number of items to return per page. - - Defaults to `20`. Ranges from `1` to `100`. - - minimum: 1, maximum: 100 - - - `organization_id?: string | null` (query parameter) - - For a `read:org_audit` or `read:compliance_org_data` key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its `org_`-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404. - - - `page?: string | null` (query parameter) - - Optionally set to the `next_page` token from the previous response. - - maxLength: 2048 - - - `target_type?: "organization" | "organization_member" | "rbac_group" | null` (query parameter) - - Only shares with this kind of target: `organization` (every member), `rbac_group` (one RBAC Group), or `organization_member` (one member). - - - `"organization"` - - - `"organization_member"` - - - `"rbac_group"` - - - `betas?: Array` (header parameter) - - This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header. - - - `(string & {})` - - - `"message-batches-2024-09-24"` - - - `"prompt-caching-2024-07-31"` - - - `"computer-use-2024-10-22"` - - - `"computer-use-2025-01-24"` - - - `"pdfs-2024-09-25"` - - - `"token-counting-2024-11-01"` - - - `"token-efficient-tools-2025-02-19"` - - - `"output-128k-2025-02-19"` - - - `"files-api-2025-04-14"` - - - `"mcp-client-2025-04-04"` - - - `"mcp-client-2025-11-20"` - - - `"dev-full-thinking-2025-05-14"` - - - `"interleaved-thinking-2025-05-14"` - - - `"code-execution-2025-05-22"` - - - `"extended-cache-ttl-2025-04-11"` - - - `"context-1m-2025-08-07"` - - - `"context-management-2025-06-27"` - - - `"model-context-window-exceeded-2025-08-26"` - - - `"skills-2025-10-02"` - - - `"fast-mode-2026-02-01"` - - - `"output-300k-2026-03-24"` - - - `"user-profiles-2026-03-24"` - - - `"user-profiles-2026-08-18"` - - - `"user-profiles-2026-09-04"` - - - `"advisor-tool-2026-03-01"` - - - `"managed-agents-2026-04-01"` - - - `"cache-diagnosis-2026-04-07"` - - - `"dreaming-2026-04-21"` - - - `"thinking-token-count-2026-05-13"` - - - `"server-side-fallback-2026-06-01"` - - - `"server-side-fallback-2026-07-01"` - - - `"fallback-credit-2026-06-01"` - - - `"fallback-credit-2026-07-01"` - - - `"agent-memory-2026-07-22"` - - - `"mid-conversation-tool-changes-2026-07-01"` - - - `"compact-2026-01-12"` - - - `"computer-use-2025-11-24"` - - - `"mcp-tunnels-2026-06-22"` - - - `"structured-outputs-2025-11-13"` - - - `"task-budgets-2026-03-13"` - - - `"thinking-display-updates-2026-08-18"` - - - `"ce-user-management-2026-07-13"` - - - `"mid-conversation-output-config-2026-07-01"` - - - `"thinking-binding-controls-2026-08-01"` - - - `"mid-conversation-system-clear-at-2026-08-21"` - - - `"compact-2026-09-04"` - - - `"inline-tools-2026-09-15"` - - - `"mcp-client-2026-09-15"` - - - `"ce-plugins-2026-09-01"` - - - `"spend-limit-reads-2026-09-26"` - - - `"telemetry-destinations-2026-08-11"` - - - `"webhooks-2026-10-07"` + - `"analytics-usage-cost-2026-08-24"` #### Returns @@ -110138,6 +112354,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginMarketplace` @@ -110411,6 +112631,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginMarketplace` @@ -110693,6 +112917,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginMarketplace` @@ -110982,6 +113210,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginMarketplaceValidationReport` @@ -111251,6 +113483,10 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaPluginMarketplaceValidationReport` @@ -111612,6 +113848,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaTelemetryDestination` @@ -111972,6 +114212,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaTelemetryDestination` @@ -112323,6 +114567,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaTelemetryDestination` @@ -112806,6 +115054,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaTelemetryDestination` @@ -113155,6 +115407,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaDeletedTelemetryDestination` @@ -113317,6 +115573,10 @@ Send one test span, named `anthropic.test`, to the destination with its register - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaTelemetryDestinationTestResponse` @@ -113513,6 +115773,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaTelemetryDestinationWorkspace` @@ -113706,6 +115970,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaTelemetryDestinationWorkspace` @@ -113894,6 +116162,10 @@ See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage- - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaDeletedTelemetryDestinationWorkspace` @@ -114091,6 +116363,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaNewOrganizationWebhookEndpoint` @@ -114334,6 +116610,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaOrganizationWebhookEndpoint` @@ -114559,6 +116839,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaOrganizationWebhookEndpoint` @@ -114808,6 +117092,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaOrganizationWebhookEndpoint` @@ -115027,6 +117315,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaDeletedOrganizationWebhookEndpoint` @@ -115199,6 +117491,10 @@ Every request must include the beta header `anthropic-beta: webhooks-2026-10-07` - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaOrganizationWebhookEndpointSigningSecret` diff --git a/content/en/api/typescript/beta/agents.md b/content/en/api/typescript/beta/agents.md index 7d06cb3da4..3980d9f6df 100644 --- a/content/en/api/typescript/beta/agents.md +++ b/content/en/api/typescript/beta/agents.md @@ -1071,6 +1071,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2132,6 +2136,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3180,6 +3188,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5168,6 +5180,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -6207,6 +6223,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -13639,6 +13659,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/agents/archive.md b/content/en/api/typescript/beta/agents/archive.md index 682222d56b..d9f95bb747 100644 --- a/content/en/api/typescript/beta/agents/archive.md +++ b/content/en/api/typescript/beta/agents/archive.md @@ -129,6 +129,10 @@ Archive Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/agents/create.md b/content/en/api/typescript/beta/agents/create.md index c9c0fbd613..36df244b12 100644 --- a/content/en/api/typescript/beta/agents/create.md +++ b/content/en/api/typescript/beta/agents/create.md @@ -1069,6 +1069,10 @@ Create Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/agents/list.md b/content/en/api/typescript/beta/agents/list.md index 8ea7a9c304..d3c016ac67 100644 --- a/content/en/api/typescript/beta/agents/list.md +++ b/content/en/api/typescript/beta/agents/list.md @@ -151,6 +151,10 @@ List Agents - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/agents/retrieve.md b/content/en/api/typescript/beta/agents/retrieve.md index 81368e5fc5..906eb97e84 100644 --- a/content/en/api/typescript/beta/agents/retrieve.md +++ b/content/en/api/typescript/beta/agents/retrieve.md @@ -135,6 +135,10 @@ Get Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/agents/update.md b/content/en/api/typescript/beta/agents/update.md index f1c5431ced..35da891d34 100644 --- a/content/en/api/typescript/beta/agents/update.md +++ b/content/en/api/typescript/beta/agents/update.md @@ -1079,6 +1079,10 @@ Update Agent - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/agents/versions.md b/content/en/api/typescript/beta/agents/versions.md index 1965f08b9e..af4cb7df23 100644 --- a/content/en/api/typescript/beta/agents/versions.md +++ b/content/en/api/typescript/beta/agents/versions.md @@ -141,6 +141,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/agents/versions/list.md b/content/en/api/typescript/beta/agents/versions/list.md index 398cf48f31..3647c51ae5 100644 --- a/content/en/api/typescript/beta/agents/versions/list.md +++ b/content/en/api/typescript/beta/agents/versions/list.md @@ -139,6 +139,10 @@ List Agent Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployment_runs.md b/content/en/api/typescript/beta/deployment_runs.md index 4d7baa113a..0cc9d086b3 100644 --- a/content/en/api/typescript/beta/deployment_runs.md +++ b/content/en/api/typescript/beta/deployment_runs.md @@ -181,6 +181,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -582,6 +586,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployment_runs/list.md b/content/en/api/typescript/beta/deployment_runs/list.md index e69edf3341..c4291073f7 100644 --- a/content/en/api/typescript/beta/deployment_runs/list.md +++ b/content/en/api/typescript/beta/deployment_runs/list.md @@ -179,6 +179,10 @@ List Deployment Runs - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployment_runs/retrieve.md b/content/en/api/typescript/beta/deployment_runs/retrieve.md index 192c0f2dc5..a5a7585491 100644 --- a/content/en/api/typescript/beta/deployment_runs/retrieve.md +++ b/content/en/api/typescript/beta/deployment_runs/retrieve.md @@ -129,6 +129,10 @@ Get Deployment Run - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments.md b/content/en/api/typescript/beta/deployments.md index 3451f64d2f..d86eb0daa9 100644 --- a/content/en/api/typescript/beta/deployments.md +++ b/content/en/api/typescript/beta/deployments.md @@ -527,6 +527,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1305,6 +1309,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2044,6 +2052,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3179,6 +3191,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3914,6 +3930,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4649,6 +4669,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5046,6 +5070,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5781,6 +5809,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/archive.md b/content/en/api/typescript/beta/deployments/archive.md index 0afc397d14..f8f2c86555 100644 --- a/content/en/api/typescript/beta/deployments/archive.md +++ b/content/en/api/typescript/beta/deployments/archive.md @@ -129,6 +129,10 @@ Archive Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/create.md b/content/en/api/typescript/beta/deployments/create.md index cc1a2c9814..8061db89bf 100644 --- a/content/en/api/typescript/beta/deployments/create.md +++ b/content/en/api/typescript/beta/deployments/create.md @@ -525,6 +525,10 @@ Create Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/list.md b/content/en/api/typescript/beta/deployments/list.md index 2d990b44c5..385ab2e9fd 100644 --- a/content/en/api/typescript/beta/deployments/list.md +++ b/content/en/api/typescript/beta/deployments/list.md @@ -167,6 +167,10 @@ List Deployments - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/pause.md b/content/en/api/typescript/beta/deployments/pause.md index 61c259fb09..d0808910f8 100644 --- a/content/en/api/typescript/beta/deployments/pause.md +++ b/content/en/api/typescript/beta/deployments/pause.md @@ -129,6 +129,10 @@ Pause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/retrieve.md b/content/en/api/typescript/beta/deployments/retrieve.md index e2d026aafb..6ade60305a 100644 --- a/content/en/api/typescript/beta/deployments/retrieve.md +++ b/content/en/api/typescript/beta/deployments/retrieve.md @@ -129,6 +129,10 @@ Get Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/run.md b/content/en/api/typescript/beta/deployments/run.md index 5c0dcc1080..f01c8d87b4 100644 --- a/content/en/api/typescript/beta/deployments/run.md +++ b/content/en/api/typescript/beta/deployments/run.md @@ -129,6 +129,10 @@ Run Deployment Now - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/unpause.md b/content/en/api/typescript/beta/deployments/unpause.md index 17d4b16dba..0627b68092 100644 --- a/content/en/api/typescript/beta/deployments/unpause.md +++ b/content/en/api/typescript/beta/deployments/unpause.md @@ -129,6 +129,10 @@ Unpause Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/deployments/update.md b/content/en/api/typescript/beta/deployments/update.md index 7097724d15..9ae736f570 100644 --- a/content/en/api/typescript/beta/deployments/update.md +++ b/content/en/api/typescript/beta/deployments/update.md @@ -529,6 +529,10 @@ Update Deployment - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments.md b/content/en/api/typescript/beta/environments.md index 9c21f6bef4..3d14f5dde1 100644 --- a/content/en/api/typescript/beta/environments.md +++ b/content/en/api/typescript/beta/environments.md @@ -243,6 +243,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -584,6 +588,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -917,6 +925,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1362,6 +1374,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1689,6 +1705,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1860,6 +1880,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2656,6 +2680,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2923,6 +2951,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID"?: string` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -3172,6 +3204,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSelfHostedWork` @@ -3431,6 +3467,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSelfHostedWorkHeartbeatResponse` @@ -3630,6 +3670,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3895,6 +3939,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + #### Returns - `interface BetaSelfHostedWork` @@ -4156,6 +4204,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4410,6 +4462,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/archive.md b/content/en/api/typescript/beta/environments/archive.md index ccbb298ff3..5366ba14b6 100644 --- a/content/en/api/typescript/beta/environments/archive.md +++ b/content/en/api/typescript/beta/environments/archive.md @@ -127,6 +127,10 @@ Archive an environment by ID. Archived environments cannot be used to create new - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/create.md b/content/en/api/typescript/beta/environments/create.md index 68138fee38..82b6684bda 100644 --- a/content/en/api/typescript/beta/environments/create.md +++ b/content/en/api/typescript/beta/environments/create.md @@ -241,6 +241,10 @@ Create a new environment with the specified configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/delete.md b/content/en/api/typescript/beta/environments/delete.md index a85852d653..97797f2cab 100644 --- a/content/en/api/typescript/beta/environments/delete.md +++ b/content/en/api/typescript/beta/environments/delete.md @@ -127,6 +127,10 @@ Delete an environment by ID. Returns a confirmation of the deletion. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/list.md b/content/en/api/typescript/beta/environments/list.md index fd245f4f26..096c58644a 100644 --- a/content/en/api/typescript/beta/environments/list.md +++ b/content/en/api/typescript/beta/environments/list.md @@ -139,6 +139,10 @@ List environments with pagination support. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/retrieve.md b/content/en/api/typescript/beta/environments/retrieve.md index b4f46f461a..a9b56cfd41 100644 --- a/content/en/api/typescript/beta/environments/retrieve.md +++ b/content/en/api/typescript/beta/environments/retrieve.md @@ -127,6 +127,10 @@ Retrieve a specific environment by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/update.md b/content/en/api/typescript/beta/environments/update.md index b32dd58163..b0a47fe4e5 100644 --- a/content/en/api/typescript/beta/environments/update.md +++ b/content/en/api/typescript/beta/environments/update.md @@ -243,6 +243,10 @@ Update an existing environment's configuration. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/work.md b/content/en/api/typescript/beta/environments/work.md index a09bec3ccf..64267791e6 100644 --- a/content/en/api/typescript/beta/environments/work.md +++ b/content/en/api/typescript/beta/environments/work.md @@ -133,6 +133,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -400,6 +404,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID"?: string` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console @@ -649,6 +657,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `interface BetaSelfHostedWork` @@ -908,6 +920,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `interface BetaSelfHostedWorkHeartbeatResponse` @@ -1107,6 +1123,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1372,6 +1392,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Returns - `interface BetaSelfHostedWork` @@ -1633,6 +1657,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1887,6 +1915,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/work/ack.md b/content/en/api/typescript/beta/environments/work/ack.md index 0b4a68d7dd..314dbd3621 100644 --- a/content/en/api/typescript/beta/environments/work/ack.md +++ b/content/en/api/typescript/beta/environments/work/ack.md @@ -131,6 +131,10 @@ Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `interface BetaSelfHostedWork` diff --git a/content/en/api/typescript/beta/environments/work/heartbeat.md b/content/en/api/typescript/beta/environments/work/heartbeat.md index 140f80458a..65719d3395 100644 --- a/content/en/api/typescript/beta/environments/work/heartbeat.md +++ b/content/en/api/typescript/beta/environments/work/heartbeat.md @@ -139,6 +139,10 @@ Record a heartbeat for a work item to maintain the lease. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `interface BetaSelfHostedWorkHeartbeatResponse` diff --git a/content/en/api/typescript/beta/environments/work/list.md b/content/en/api/typescript/beta/environments/work/list.md index 9ee3beb4ad..df1fb290fe 100644 --- a/content/en/api/typescript/beta/environments/work/list.md +++ b/content/en/api/typescript/beta/environments/work/list.md @@ -139,6 +139,10 @@ List work items in an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Returns - `interface BetaSelfHostedWork` diff --git a/content/en/api/typescript/beta/environments/work/poll.md b/content/en/api/typescript/beta/environments/work/poll.md index 8466098393..b5ef97ee0b 100644 --- a/content/en/api/typescript/beta/environments/work/poll.md +++ b/content/en/api/typescript/beta/environments/work/poll.md @@ -141,6 +141,10 @@ Long poll for work items in the queue. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `"Anthropic-Worker-ID"?: string` (header parameter) Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console diff --git a/content/en/api/typescript/beta/environments/work/retrieve.md b/content/en/api/typescript/beta/environments/work/retrieve.md index 215514168b..2822494166 100644 --- a/content/en/api/typescript/beta/environments/work/retrieve.md +++ b/content/en/api/typescript/beta/environments/work/retrieve.md @@ -131,6 +131,10 @@ Retrieve detailed information about a specific work item. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/work/stats.md b/content/en/api/typescript/beta/environments/work/stats.md index fb11855858..6e7cff545e 100644 --- a/content/en/api/typescript/beta/environments/work/stats.md +++ b/content/en/api/typescript/beta/environments/work/stats.md @@ -127,6 +127,10 @@ Get statistics about the work queue for an environment. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/work/stop.md b/content/en/api/typescript/beta/environments/work/stop.md index 6954c193d2..23bb374b77 100644 --- a/content/en/api/typescript/beta/environments/work/stop.md +++ b/content/en/api/typescript/beta/environments/work/stop.md @@ -135,6 +135,10 @@ Stop a work item, initiating graceful or forced shutdown. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/environments/work/update.md b/content/en/api/typescript/beta/environments/work/update.md index 738928f92b..cbe5173385 100644 --- a/content/en/api/typescript/beta/environments/work/update.md +++ b/content/en/api/typescript/beta/environments/work/update.md @@ -135,6 +135,10 @@ Update work item metadata with merge semantics. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/files.md b/content/en/api/typescript/beta/files.md index b009f3c7ca..ef48349e18 100644 --- a/content/en/api/typescript/beta/files.md +++ b/content/en/api/typescript/beta/files.md @@ -139,6 +139,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -387,6 +391,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -622,6 +630,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -775,6 +787,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1004,6 +1020,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/files/delete.md b/content/en/api/typescript/beta/files/delete.md index b37587a4a5..99a1a6cb90 100644 --- a/content/en/api/typescript/beta/files/delete.md +++ b/content/en/api/typescript/beta/files/delete.md @@ -129,6 +129,10 @@ Delete File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/files/download.md b/content/en/api/typescript/beta/files/download.md index b03d24deba..b517c1f5e7 100644 --- a/content/en/api/typescript/beta/files/download.md +++ b/content/en/api/typescript/beta/files/download.md @@ -129,6 +129,10 @@ Download File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/files/list.md b/content/en/api/typescript/beta/files/list.md index 414c097556..3cf3644c51 100644 --- a/content/en/api/typescript/beta/files/list.md +++ b/content/en/api/typescript/beta/files/list.md @@ -145,6 +145,10 @@ List Files - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/files/retrieve_metadata.md b/content/en/api/typescript/beta/files/retrieve_metadata.md index 352682a23e..4bf48586f3 100644 --- a/content/en/api/typescript/beta/files/retrieve_metadata.md +++ b/content/en/api/typescript/beta/files/retrieve_metadata.md @@ -129,6 +129,10 @@ Get File Metadata - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/files/upload.md b/content/en/api/typescript/beta/files/upload.md index 6cd547cf94..58db7e5f9b 100644 --- a/content/en/api/typescript/beta/files/upload.md +++ b/content/en/api/typescript/beta/files/upload.md @@ -137,6 +137,10 @@ Upload File - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores.md b/content/en/api/typescript/beta/memory_stores.md index e21f463050..e2d7615dfe 100644 --- a/content/en/api/typescript/beta/memory_stores.md +++ b/content/en/api/typescript/beta/memory_stores.md @@ -149,6 +149,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -384,6 +388,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -601,6 +609,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -838,6 +850,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1053,6 +1069,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1224,6 +1244,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1531,6 +1555,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1801,6 +1829,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2070,6 +2102,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2341,6 +2377,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2580,6 +2620,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2828,6 +2872,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3164,6 +3212,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3481,6 +3533,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/archive.md b/content/en/api/typescript/beta/memory_stores/archive.md index 475733aa5f..c9302251c6 100644 --- a/content/en/api/typescript/beta/memory_stores/archive.md +++ b/content/en/api/typescript/beta/memory_stores/archive.md @@ -131,6 +131,10 @@ Archive a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/create.md b/content/en/api/typescript/beta/memory_stores/create.md index 48e592f801..b9f5ae0d83 100644 --- a/content/en/api/typescript/beta/memory_stores/create.md +++ b/content/en/api/typescript/beta/memory_stores/create.md @@ -147,6 +147,10 @@ Create a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/delete.md b/content/en/api/typescript/beta/memory_stores/delete.md index 9295df662f..3541cd54e1 100644 --- a/content/en/api/typescript/beta/memory_stores/delete.md +++ b/content/en/api/typescript/beta/memory_stores/delete.md @@ -131,6 +131,10 @@ Delete a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/list.md b/content/en/api/typescript/beta/memory_stores/list.md index ba093f418f..d58521020d 100644 --- a/content/en/api/typescript/beta/memory_stores/list.md +++ b/content/en/api/typescript/beta/memory_stores/list.md @@ -151,6 +151,10 @@ List Memory Stores - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memories.md b/content/en/api/typescript/beta/memory_stores/memories.md index 72a11bd965..bfe79c9e48 100644 --- a/content/en/api/typescript/beta/memory_stores/memories.md +++ b/content/en/api/typescript/beta/memory_stores/memories.md @@ -159,6 +159,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -429,6 +433,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -698,6 +706,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -969,6 +981,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1208,6 +1224,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memories/create.md b/content/en/api/typescript/beta/memory_stores/memories/create.md index 60c9273141..5e68653353 100644 --- a/content/en/api/typescript/beta/memory_stores/memories/create.md +++ b/content/en/api/typescript/beta/memory_stores/memories/create.md @@ -157,6 +157,10 @@ Create a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memories/delete.md b/content/en/api/typescript/beta/memory_stores/memories/delete.md index b07f3dd910..b92c4b4a1d 100644 --- a/content/en/api/typescript/beta/memory_stores/memories/delete.md +++ b/content/en/api/typescript/beta/memory_stores/memories/delete.md @@ -139,6 +139,10 @@ Delete a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memories/list.md b/content/en/api/typescript/beta/memory_stores/memories/list.md index 41bb237792..407c10c2bd 100644 --- a/content/en/api/typescript/beta/memory_stores/memories/list.md +++ b/content/en/api/typescript/beta/memory_stores/memories/list.md @@ -169,6 +169,10 @@ List Memories - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memories/retrieve.md b/content/en/api/typescript/beta/memory_stores/memories/retrieve.md index eb36c7cd94..438b52c6d9 100644 --- a/content/en/api/typescript/beta/memory_stores/memories/retrieve.md +++ b/content/en/api/typescript/beta/memory_stores/memories/retrieve.md @@ -147,6 +147,10 @@ Retrieve a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memories/update.md b/content/en/api/typescript/beta/memory_stores/memories/update.md index ddc4f43f0f..0edd02325b 100644 --- a/content/en/api/typescript/beta/memory_stores/memories/update.md +++ b/content/en/api/typescript/beta/memory_stores/memories/update.md @@ -171,6 +171,10 @@ Update a Memory - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memory_versions.md b/content/en/api/typescript/beta/memory_stores/memory_versions.md index 508021162a..86547d2e77 100644 --- a/content/en/api/typescript/beta/memory_stores/memory_versions.md +++ b/content/en/api/typescript/beta/memory_stores/memory_versions.md @@ -203,6 +203,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -539,6 +543,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -856,6 +864,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memory_versions/list.md b/content/en/api/typescript/beta/memory_stores/memory_versions/list.md index 8bdf752ab9..9c6897c40a 100644 --- a/content/en/api/typescript/beta/memory_stores/memory_versions/list.md +++ b/content/en/api/typescript/beta/memory_stores/memory_versions/list.md @@ -201,6 +201,10 @@ List Memory Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memory_versions/redact.md b/content/en/api/typescript/beta/memory_stores/memory_versions/redact.md index 5c85f1879c..20c7388983 100644 --- a/content/en/api/typescript/beta/memory_stores/memory_versions/redact.md +++ b/content/en/api/typescript/beta/memory_stores/memory_versions/redact.md @@ -133,6 +133,10 @@ Redact a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/memory_versions/retrieve.md b/content/en/api/typescript/beta/memory_stores/memory_versions/retrieve.md index 770858ad76..be039d4aeb 100644 --- a/content/en/api/typescript/beta/memory_stores/memory_versions/retrieve.md +++ b/content/en/api/typescript/beta/memory_stores/memory_versions/retrieve.md @@ -147,6 +147,10 @@ Retrieve a Memory Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/retrieve.md b/content/en/api/typescript/beta/memory_stores/retrieve.md index f2aa13659b..9f500b698d 100644 --- a/content/en/api/typescript/beta/memory_stores/retrieve.md +++ b/content/en/api/typescript/beta/memory_stores/retrieve.md @@ -129,6 +129,10 @@ Retrieve a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/memory_stores/update.md b/content/en/api/typescript/beta/memory_stores/update.md index dfc083f8ac..bfac05b363 100644 --- a/content/en/api/typescript/beta/memory_stores/update.md +++ b/content/en/api/typescript/beta/memory_stores/update.md @@ -151,6 +151,10 @@ Update a Memory Store - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages.md b/content/en/api/typescript/beta/messages.md index 1749651af3..fa70cadcf7 100644 --- a/content/en/api/typescript/beta/messages.md +++ b/content/en/api/typescript/beta/messages.md @@ -3946,6 +3946,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `interface BetaThinkingConfigAdaptive` + - `thread?: BetaMessageThreadParam | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice?: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4251,6 +4271,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -12586,6 +12610,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. @@ -51417,6 +51445,28 @@ console.log(betaMessageTokensCount.context_management); - `"max"` +### Beta Message Thread Param + +- `type BetaMessageThreadParam = BetaThreadCreateParams | BetaThreadContinueParams | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + ### Beta Message Tokens Count - `interface BetaMessageTokensCount` @@ -74637,6 +74687,26 @@ console.log(betaMessageTokensCount.context_management); minimum: 1 +### Beta Thread Continue Params + +- `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + +### Beta Thread Create Params + +- `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + ### Beta Token Task Budget - `interface BetaTokenTaskBudget` @@ -94208,6 +94278,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `interface BetaThinkingConfigAdaptive` + - `thread?: BetaMessageThreadParam | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice?: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -94521,6 +94611,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -94817,6 +94911,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95110,6 +95208,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95401,6 +95503,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95684,6 +95790,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -95859,6 +95969,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages/batches.md b/content/en/api/typescript/beta/messages/batches.md index 433e543dfe..43e65b6b34 100644 --- a/content/en/api/typescript/beta/messages/batches.md +++ b/content/en/api/typescript/beta/messages/batches.md @@ -3966,6 +3966,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `interface BetaThinkingConfigAdaptive` + - `thread?: BetaMessageThreadParam | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice?: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4279,6 +4299,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. @@ -4575,6 +4599,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4868,6 +4896,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5159,6 +5191,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5442,6 +5478,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -5617,6 +5657,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages/batches/cancel.md b/content/en/api/typescript/beta/messages/batches/cancel.md index 0c513d0ac0..141f97fd88 100644 --- a/content/en/api/typescript/beta/messages/batches/cancel.md +++ b/content/en/api/typescript/beta/messages/batches/cancel.md @@ -133,6 +133,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages/batches/create.md b/content/en/api/typescript/beta/messages/batches/create.md index 7f30401819..2c53528183 100644 --- a/content/en/api/typescript/beta/messages/batches/create.md +++ b/content/en/api/typescript/beta/messages/batches/create.md @@ -3964,6 +3964,26 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `interface BetaThinkingConfigAdaptive` + - `thread?: BetaMessageThreadParam | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice?: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4277,6 +4297,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute the requests in this batch to. Use when acting on behalf of a party other than your organization. Applies to every request in the batch; an individual request whose `user_profile_id` body field conflicts with this header is errored. diff --git a/content/en/api/typescript/beta/messages/batches/delete.md b/content/en/api/typescript/beta/messages/batches/delete.md index 2561f9c9a7..b51458a889 100644 --- a/content/en/api/typescript/beta/messages/batches/delete.md +++ b/content/en/api/typescript/beta/messages/batches/delete.md @@ -133,6 +133,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages/batches/list.md b/content/en/api/typescript/beta/messages/batches/list.md index 8b4e04a47e..77ad7e70f0 100644 --- a/content/en/api/typescript/beta/messages/batches/list.md +++ b/content/en/api/typescript/beta/messages/batches/list.md @@ -143,6 +143,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages/batches/results.md b/content/en/api/typescript/beta/messages/batches/results.md index 6ae387af68..9ab834aa0a 100644 --- a/content/en/api/typescript/beta/messages/batches/results.md +++ b/content/en/api/typescript/beta/messages/batches/results.md @@ -133,6 +133,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages/batches/retrieve.md b/content/en/api/typescript/beta/messages/batches/retrieve.md index ff0026c21b..ef21ace1cd 100644 --- a/content/en/api/typescript/beta/messages/batches/retrieve.md +++ b/content/en/api/typescript/beta/messages/batches/retrieve.md @@ -131,6 +131,10 @@ Learn more about the Message Batches API in our [user guide](https://platform.cl - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/messages/count_tokens.md b/content/en/api/typescript/beta/messages/count_tokens.md index ca6d30102a..4532413f3f 100644 --- a/content/en/api/typescript/beta/messages/count_tokens.md +++ b/content/en/api/typescript/beta/messages/count_tokens.md @@ -4038,6 +4038,10 @@ Learn more about token counting in our [user guide](https://platform.claude.com/ - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/typescript/beta/messages/create.md b/content/en/api/typescript/beta/messages/create.md index 3e8a0bfb37..16b02c0da4 100644 --- a/content/en/api/typescript/beta/messages/create.md +++ b/content/en/api/typescript/beta/messages/create.md @@ -3944,6 +3944,26 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `interface BetaThinkingConfigAdaptive` + - `thread?: BetaMessageThreadParam | null` + + Server-held conversation state (a Thread). `{"type": "create"}` asks the server to hold this conversation's state under the response's `id`; `{"type": "continue", "previous_message_id": ...}` resumes from a previous response so only the new turn's messages are sent. The response shape is unchanged. + + - `interface BetaThreadCreateParams` + + Start holding conversation state under this response's `id`. + + - `type: "create"` + + - `interface BetaThreadContinueParams` + + Resume from the response named by `previous_message_id`. + + - `type: "continue"` + + - `previous_message_id: string` + + The `id` of the previous response in this Thread. + - `tool_choice?: BetaToolChoice` How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. @@ -4249,6 +4269,10 @@ Learn more about the Messages API in our [user guide](https://platform.claude.co - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `user_profile_id?: string` (header parameter) The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. diff --git a/content/en/api/typescript/beta/models.md b/content/en/api/typescript/beta/models.md index 6c0db04997..1fcc51146c 100644 --- a/content/en/api/typescript/beta/models.md +++ b/content/en/api/typescript/beta/models.md @@ -157,6 +157,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -490,7 +494,7 @@ for await (const betaModelInfo of client.beta.models.list()) { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -631,6 +635,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -961,7 +969,7 @@ console.log(betaModelInfo.id); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/typescript/beta/models/list.md b/content/en/api/typescript/beta/models/list.md index cdbad71844..3f3098b980 100644 --- a/content/en/api/typescript/beta/models/list.md +++ b/content/en/api/typescript/beta/models/list.md @@ -155,6 +155,10 @@ The Models API response can be used to determine which models are available for - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -488,7 +492,7 @@ for await (const betaModelInfo of client.beta.models.list()) { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/typescript/beta/models/retrieve.md b/content/en/api/typescript/beta/models/retrieve.md index 5199425ac1..2e8b85abe7 100644 --- a/content/en/api/typescript/beta/models/retrieve.md +++ b/content/en/api/typescript/beta/models/retrieve.md @@ -131,6 +131,10 @@ The Models API response can be used to determine information about a specific mo - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -461,7 +465,7 @@ console.log(betaModelInfo.id); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/typescript/beta/sessions.md b/content/en/api/typescript/beta/sessions.md index 6164e42d98..6501dd05c3 100644 --- a/content/en/api/typescript/beta/sessions.md +++ b/content/en/api/typescript/beta/sessions.md @@ -1249,6 +1249,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2823,6 +2827,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4316,6 +4324,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -6384,6 +6396,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7872,6 +7888,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -8037,6 +8057,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -19833,6 +19857,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23300,6 +23328,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -23925,6 +23957,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27078,6 +27114,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27272,6 +27312,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27557,6 +27601,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -27837,6 +27885,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28111,6 +28163,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -28303,6 +28359,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -29388,6 +29448,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -30468,6 +30532,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -31556,6 +31624,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -34672,6 +34744,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/archive.md b/content/en/api/typescript/beta/sessions/archive.md index abdefbea4e..898ab74419 100644 --- a/content/en/api/typescript/beta/sessions/archive.md +++ b/content/en/api/typescript/beta/sessions/archive.md @@ -127,6 +127,10 @@ Archive Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/create.md b/content/en/api/typescript/beta/sessions/create.md index b12570ce1f..757f150fe3 100644 --- a/content/en/api/typescript/beta/sessions/create.md +++ b/content/en/api/typescript/beta/sessions/create.md @@ -1247,6 +1247,10 @@ Create Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/delete.md b/content/en/api/typescript/beta/sessions/delete.md index af3b2e15c2..91913b9772 100644 --- a/content/en/api/typescript/beta/sessions/delete.md +++ b/content/en/api/typescript/beta/sessions/delete.md @@ -127,6 +127,10 @@ Delete Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/events.md b/content/en/api/typescript/beta/sessions/events.md index a3c458cdb9..188b433d09 100644 --- a/content/en/api/typescript/beta/sessions/events.md +++ b/content/en/api/typescript/beta/sessions/events.md @@ -255,6 +255,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3722,6 +3726,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -4347,6 +4355,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/events/list.md b/content/en/api/typescript/beta/sessions/events/list.md index cb76f0df7e..869e811e57 100644 --- a/content/en/api/typescript/beta/sessions/events/list.md +++ b/content/en/api/typescript/beta/sessions/events/list.md @@ -253,6 +253,10 @@ List Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/events/send.md b/content/en/api/typescript/beta/sessions/events/send.md index 87481c4816..ddd84e2c13 100644 --- a/content/en/api/typescript/beta/sessions/events/send.md +++ b/content/en/api/typescript/beta/sessions/events/send.md @@ -489,6 +489,10 @@ Send Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/events/stream.md b/content/en/api/typescript/beta/sessions/events/stream.md index ced359fa57..f027b195ca 100644 --- a/content/en/api/typescript/beta/sessions/events/stream.md +++ b/content/en/api/typescript/beta/sessions/events/stream.md @@ -135,6 +135,10 @@ Stream Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/list.md b/content/en/api/typescript/beta/sessions/list.md index 624f04e167..59c5ddcd3e 100644 --- a/content/en/api/typescript/beta/sessions/list.md +++ b/content/en/api/typescript/beta/sessions/list.md @@ -209,6 +209,10 @@ List Sessions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/resources.md b/content/en/api/typescript/beta/sessions/resources.md index 4a007ae600..936088a988 100644 --- a/content/en/api/typescript/beta/sessions/resources.md +++ b/content/en/api/typescript/beta/sessions/resources.md @@ -143,6 +143,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -337,6 +341,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -622,6 +630,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -902,6 +914,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1176,6 +1192,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/resources/add.md b/content/en/api/typescript/beta/sessions/resources/add.md index ad905ee114..c102a7120a 100644 --- a/content/en/api/typescript/beta/sessions/resources/add.md +++ b/content/en/api/typescript/beta/sessions/resources/add.md @@ -141,6 +141,10 @@ Add Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/resources/delete.md b/content/en/api/typescript/beta/sessions/resources/delete.md index 52521a8109..1dedb79280 100644 --- a/content/en/api/typescript/beta/sessions/resources/delete.md +++ b/content/en/api/typescript/beta/sessions/resources/delete.md @@ -129,6 +129,10 @@ Delete Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/resources/list.md b/content/en/api/typescript/beta/sessions/resources/list.md index 9a22910cfa..24ea2c043f 100644 --- a/content/en/api/typescript/beta/sessions/resources/list.md +++ b/content/en/api/typescript/beta/sessions/resources/list.md @@ -137,6 +137,10 @@ List Session Resources - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/resources/retrieve.md b/content/en/api/typescript/beta/sessions/resources/retrieve.md index db5d1f4e0e..986ebf7ed1 100644 --- a/content/en/api/typescript/beta/sessions/resources/retrieve.md +++ b/content/en/api/typescript/beta/sessions/resources/retrieve.md @@ -129,6 +129,10 @@ Get Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/resources/update.md b/content/en/api/typescript/beta/sessions/resources/update.md index 2fb48f22fd..cbd788c178 100644 --- a/content/en/api/typescript/beta/sessions/resources/update.md +++ b/content/en/api/typescript/beta/sessions/resources/update.md @@ -135,6 +135,10 @@ Update Session Resource - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/retrieve.md b/content/en/api/typescript/beta/sessions/retrieve.md index 53f248695a..63f43bca59 100644 --- a/content/en/api/typescript/beta/sessions/retrieve.md +++ b/content/en/api/typescript/beta/sessions/retrieve.md @@ -127,6 +127,10 @@ Get Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/threads.md b/content/en/api/typescript/beta/sessions/threads.md index 9234fc874d..43a210643f 100644 --- a/content/en/api/typescript/beta/sessions/threads.md +++ b/content/en/api/typescript/beta/sessions/threads.md @@ -153,6 +153,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1238,6 +1242,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2318,6 +2326,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -7956,6 +7968,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -11072,6 +11088,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/threads/archive.md b/content/en/api/typescript/beta/sessions/threads/archive.md index 523032a549..ea29363900 100644 --- a/content/en/api/typescript/beta/sessions/threads/archive.md +++ b/content/en/api/typescript/beta/sessions/threads/archive.md @@ -129,6 +129,10 @@ Archive Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/threads/events.md b/content/en/api/typescript/beta/sessions/threads/events.md index 7c72a59cae..2fe25e7012 100644 --- a/content/en/api/typescript/beta/sessions/threads/events.md +++ b/content/en/api/typescript/beta/sessions/threads/events.md @@ -137,6 +137,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3253,6 +3257,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/threads/events/list.md b/content/en/api/typescript/beta/sessions/threads/events/list.md index 9a4d885260..aa8ea52411 100644 --- a/content/en/api/typescript/beta/sessions/threads/events/list.md +++ b/content/en/api/typescript/beta/sessions/threads/events/list.md @@ -135,6 +135,10 @@ List Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/threads/events/stream.md b/content/en/api/typescript/beta/sessions/threads/events/stream.md index b2d3b7ddc9..851937c1d1 100644 --- a/content/en/api/typescript/beta/sessions/threads/events/stream.md +++ b/content/en/api/typescript/beta/sessions/threads/events/stream.md @@ -137,6 +137,10 @@ Stream Session Thread Events - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/threads/list.md b/content/en/api/typescript/beta/sessions/threads/list.md index 16c27ebfea..bc91584ed0 100644 --- a/content/en/api/typescript/beta/sessions/threads/list.md +++ b/content/en/api/typescript/beta/sessions/threads/list.md @@ -151,6 +151,10 @@ List Session Threads - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/threads/retrieve.md b/content/en/api/typescript/beta/sessions/threads/retrieve.md index d324a508e0..8bf2a4b32a 100644 --- a/content/en/api/typescript/beta/sessions/threads/retrieve.md +++ b/content/en/api/typescript/beta/sessions/threads/retrieve.md @@ -129,6 +129,10 @@ Get Session Thread - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/sessions/update.md b/content/en/api/typescript/beta/sessions/update.md index 413eb847e8..699558dfe9 100644 --- a/content/en/api/typescript/beta/sessions/update.md +++ b/content/en/api/typescript/beta/sessions/update.md @@ -707,6 +707,10 @@ Update Session - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills.md b/content/en/api/typescript/beta/skills.md index 1fe7687e9a..1bc30f2e5b 100644 --- a/content/en/api/typescript/beta/skills.md +++ b/content/en/api/typescript/beta/skills.md @@ -139,6 +139,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -392,6 +396,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -632,6 +640,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -866,6 +878,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1162,6 +1178,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1379,6 +1399,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1594,6 +1618,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1757,6 +1785,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1968,6 +2000,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/create.md b/content/en/api/typescript/beta/skills/create.md index 56dc41786a..51d64b2d4d 100644 --- a/content/en/api/typescript/beta/skills/create.md +++ b/content/en/api/typescript/beta/skills/create.md @@ -137,6 +137,10 @@ Create Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/delete.md b/content/en/api/typescript/beta/skills/delete.md index ca2fc95865..d59bb95487 100644 --- a/content/en/api/typescript/beta/skills/delete.md +++ b/content/en/api/typescript/beta/skills/delete.md @@ -131,6 +131,10 @@ Delete Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/list.md b/content/en/api/typescript/beta/skills/list.md index 008d12fd8d..b04195be2f 100644 --- a/content/en/api/typescript/beta/skills/list.md +++ b/content/en/api/typescript/beta/skills/list.md @@ -148,6 +148,10 @@ List Skills - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/retrieve.md b/content/en/api/typescript/beta/skills/retrieve.md index 771b584bd5..6872917d98 100644 --- a/content/en/api/typescript/beta/skills/retrieve.md +++ b/content/en/api/typescript/beta/skills/retrieve.md @@ -131,6 +131,10 @@ Get Skill - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/versions.md b/content/en/api/typescript/beta/skills/versions.md index 1d83ce37ca..09d9a54c66 100644 --- a/content/en/api/typescript/beta/skills/versions.md +++ b/content/en/api/typescript/beta/skills/versions.md @@ -139,6 +139,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -356,6 +360,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -571,6 +579,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -734,6 +746,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -945,6 +961,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/versions/create.md b/content/en/api/typescript/beta/skills/versions/create.md index 21cededa4e..8b9b31e4ec 100644 --- a/content/en/api/typescript/beta/skills/versions/create.md +++ b/content/en/api/typescript/beta/skills/versions/create.md @@ -137,6 +137,10 @@ Create Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/versions/delete.md b/content/en/api/typescript/beta/skills/versions/delete.md index ac310e32ee..dca3732aca 100644 --- a/content/en/api/typescript/beta/skills/versions/delete.md +++ b/content/en/api/typescript/beta/skills/versions/delete.md @@ -137,6 +137,10 @@ Delete Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/versions/download.md b/content/en/api/typescript/beta/skills/versions/download.md index e4738faa04..6e993b75d2 100644 --- a/content/en/api/typescript/beta/skills/versions/download.md +++ b/content/en/api/typescript/beta/skills/versions/download.md @@ -137,6 +137,10 @@ Download a skill version's content as a zip archive. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/versions/list.md b/content/en/api/typescript/beta/skills/versions/list.md index d73f2a9fdc..5492fb5311 100644 --- a/content/en/api/typescript/beta/skills/versions/list.md +++ b/content/en/api/typescript/beta/skills/versions/list.md @@ -143,6 +143,10 @@ List Skill Versions - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/skills/versions/retrieve.md b/content/en/api/typescript/beta/skills/versions/retrieve.md index 17bd051bba..c9324c6264 100644 --- a/content/en/api/typescript/beta/skills/versions/retrieve.md +++ b/content/en/api/typescript/beta/skills/versions/retrieve.md @@ -137,6 +137,10 @@ Get Skill Version - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels.md b/content/en/api/typescript/beta/tunnels.md index c1b4536387..f046e90a60 100644 --- a/content/en/api/typescript/beta/tunnels.md +++ b/content/en/api/typescript/beta/tunnels.md @@ -135,6 +135,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -328,6 +332,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -531,6 +539,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -730,6 +742,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -923,6 +939,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1103,6 +1123,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1335,6 +1359,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1541,6 +1569,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1758,6 +1790,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1968,6 +2004,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/archive.md b/content/en/api/typescript/beta/tunnels/archive.md index 0d776beda8..916e142348 100644 --- a/content/en/api/typescript/beta/tunnels/archive.md +++ b/content/en/api/typescript/beta/tunnels/archive.md @@ -131,6 +131,10 @@ Archives a tunnel. Archival is irreversible: every non-archived certificate on t - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/certificates.md b/content/en/api/typescript/beta/tunnels/certificates.md index 92aa0923ad..080f102b88 100644 --- a/content/en/api/typescript/beta/tunnels/certificates.md +++ b/content/en/api/typescript/beta/tunnels/certificates.md @@ -139,6 +139,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -345,6 +349,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -562,6 +570,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -772,6 +784,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/certificates/archive.md b/content/en/api/typescript/beta/tunnels/certificates/archive.md index d2f41dc6e6..7877c3caf7 100644 --- a/content/en/api/typescript/beta/tunnels/certificates/archive.md +++ b/content/en/api/typescript/beta/tunnels/certificates/archive.md @@ -135,6 +135,10 @@ Archives a tunnel certificate, removing it from the set Anthropic trusts for the - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/certificates/create.md b/content/en/api/typescript/beta/tunnels/certificates/create.md index 7be2ff7b22..b5773570ed 100644 --- a/content/en/api/typescript/beta/tunnels/certificates/create.md +++ b/content/en/api/typescript/beta/tunnels/certificates/create.md @@ -137,6 +137,10 @@ Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/certificates/list.md b/content/en/api/typescript/beta/tunnels/certificates/list.md index 8507b60c68..159d2ee068 100644 --- a/content/en/api/typescript/beta/tunnels/certificates/list.md +++ b/content/en/api/typescript/beta/tunnels/certificates/list.md @@ -145,6 +145,10 @@ Lists the certificates registered on a tunnel. Archived certificates are exclude - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/certificates/retrieve.md b/content/en/api/typescript/beta/tunnels/certificates/retrieve.md index d66b171f18..234eb9e599 100644 --- a/content/en/api/typescript/beta/tunnels/certificates/retrieve.md +++ b/content/en/api/typescript/beta/tunnels/certificates/retrieve.md @@ -135,6 +135,10 @@ Fetches a tunnel certificate by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/create.md b/content/en/api/typescript/beta/tunnels/create.md index ef9bf3aea5..eec9af42be 100644 --- a/content/en/api/typescript/beta/tunnels/create.md +++ b/content/en/api/typescript/beta/tunnels/create.md @@ -133,6 +133,10 @@ Creates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/list.md b/content/en/api/typescript/beta/tunnels/list.md index 3ba9854440..447c06553a 100644 --- a/content/en/api/typescript/beta/tunnels/list.md +++ b/content/en/api/typescript/beta/tunnels/list.md @@ -141,6 +141,10 @@ Lists tunnels. Results are ordered by creation time, newest first; archived tunn - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/retrieve.md b/content/en/api/typescript/beta/tunnels/retrieve.md index 41bc213819..5f9f33341a 100644 --- a/content/en/api/typescript/beta/tunnels/retrieve.md +++ b/content/en/api/typescript/beta/tunnels/retrieve.md @@ -131,6 +131,10 @@ Fetches a tunnel by ID. - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/reveal_token.md b/content/en/api/typescript/beta/tunnels/reveal_token.md index b950b6a0de..9c1c2d7c57 100644 --- a/content/en/api/typescript/beta/tunnels/reveal_token.md +++ b/content/en/api/typescript/beta/tunnels/reveal_token.md @@ -131,6 +131,10 @@ Reveals a tunnel's connector token. The value is fetched live on each call; Anth - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/tunnels/rotate_token.md b/content/en/api/typescript/beta/tunnels/rotate_token.md index 05ac576f5b..a48a123460 100644 --- a/content/en/api/typescript/beta/tunnels/rotate_token.md +++ b/content/en/api/typescript/beta/tunnels/rotate_token.md @@ -137,6 +137,10 @@ Rotates a tunnel's connector token. Rotation invalidates the current token for n - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/user_profiles.md b/content/en/api/typescript/beta/user_profiles.md index 84123a1638..7fc6873a28 100644 --- a/content/en/api/typescript/beta/user_profiles.md +++ b/content/en/api/typescript/beta/user_profiles.md @@ -221,6 +221,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -555,6 +559,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -863,6 +871,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1261,6 +1273,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1565,6 +1581,10 @@ Delete User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1734,6 +1754,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2212,6 +2236,10 @@ Create Action URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/user_profiles/create.md b/content/en/api/typescript/beta/user_profiles/create.md index 6ac5791c70..231d21c5d2 100644 --- a/content/en/api/typescript/beta/user_profiles/create.md +++ b/content/en/api/typescript/beta/user_profiles/create.md @@ -219,6 +219,10 @@ Create User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/user_profiles/create_enrollment_url.md b/content/en/api/typescript/beta/user_profiles/create_enrollment_url.md index 9dc6057e58..f7675dfdee 100644 --- a/content/en/api/typescript/beta/user_profiles/create_enrollment_url.md +++ b/content/en/api/typescript/beta/user_profiles/create_enrollment_url.md @@ -129,6 +129,10 @@ Create Enrollment URL - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/user_profiles/list.md b/content/en/api/typescript/beta/user_profiles/list.md index 946a30f11a..765fd105ff 100644 --- a/content/en/api/typescript/beta/user_profiles/list.md +++ b/content/en/api/typescript/beta/user_profiles/list.md @@ -161,6 +161,10 @@ List User Profiles - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/user_profiles/retrieve.md b/content/en/api/typescript/beta/user_profiles/retrieve.md index 6e986f641c..f52bd77964 100644 --- a/content/en/api/typescript/beta/user_profiles/retrieve.md +++ b/content/en/api/typescript/beta/user_profiles/retrieve.md @@ -129,6 +129,10 @@ Get User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/user_profiles/update.md b/content/en/api/typescript/beta/user_profiles/update.md index 43c3f2ff96..46ebce34f5 100644 --- a/content/en/api/typescript/beta/user_profiles/update.md +++ b/content/en/api/typescript/beta/user_profiles/update.md @@ -223,6 +223,10 @@ Update User Profile - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults.md b/content/en/api/typescript/beta/vaults.md index ae49233610..6b06eb0e78 100644 --- a/content/en/api/typescript/beta/vaults.md +++ b/content/en/api/typescript/beta/vaults.md @@ -137,6 +137,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -349,6 +353,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -555,6 +563,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -767,6 +779,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -967,6 +983,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1136,6 +1156,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1568,6 +1592,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1914,6 +1942,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2249,6 +2281,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2719,6 +2755,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3049,6 +3089,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3223,6 +3267,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -3553,6 +3601,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/archive.md b/content/en/api/typescript/beta/vaults/archive.md index 572caf7f5d..d0a6c88fac 100644 --- a/content/en/api/typescript/beta/vaults/archive.md +++ b/content/en/api/typescript/beta/vaults/archive.md @@ -129,6 +129,10 @@ Archive a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/create.md b/content/en/api/typescript/beta/vaults/create.md index f605e866cd..8778b08f0e 100644 --- a/content/en/api/typescript/beta/vaults/create.md +++ b/content/en/api/typescript/beta/vaults/create.md @@ -135,6 +135,10 @@ Create a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials.md b/content/en/api/typescript/beta/vaults/credentials.md index d079ff6d3c..ca1c85401b 100644 --- a/content/en/api/typescript/beta/vaults/credentials.md +++ b/content/en/api/typescript/beta/vaults/credentials.md @@ -307,6 +307,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -653,6 +657,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -988,6 +996,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1458,6 +1470,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1788,6 +1804,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -1962,6 +1982,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). @@ -2292,6 +2316,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials/archive.md b/content/en/api/typescript/beta/vaults/credentials/archive.md index cf2c57eee2..4b432786e9 100644 --- a/content/en/api/typescript/beta/vaults/credentials/archive.md +++ b/content/en/api/typescript/beta/vaults/credentials/archive.md @@ -133,6 +133,10 @@ Archive a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials/create.md b/content/en/api/typescript/beta/vaults/credentials/create.md index 946ef34a65..6338f723b0 100644 --- a/content/en/api/typescript/beta/vaults/credentials/create.md +++ b/content/en/api/typescript/beta/vaults/credentials/create.md @@ -305,6 +305,10 @@ Create a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials/delete.md b/content/en/api/typescript/beta/vaults/credentials/delete.md index 17fa7f9034..61fbe0feda 100644 --- a/content/en/api/typescript/beta/vaults/credentials/delete.md +++ b/content/en/api/typescript/beta/vaults/credentials/delete.md @@ -133,6 +133,10 @@ Delete a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials/list.md b/content/en/api/typescript/beta/vaults/credentials/list.md index 8271a0ec62..5b30f86372 100644 --- a/content/en/api/typescript/beta/vaults/credentials/list.md +++ b/content/en/api/typescript/beta/vaults/credentials/list.md @@ -143,6 +143,10 @@ List Credentials - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate.md index 66c249a4bf..af3ce3796b 100644 --- a/content/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate.md @@ -133,6 +133,10 @@ Validate an MCP OAuth Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials/retrieve.md b/content/en/api/typescript/beta/vaults/credentials/retrieve.md index f86d2dfa00..b2ba127986 100644 --- a/content/en/api/typescript/beta/vaults/credentials/retrieve.md +++ b/content/en/api/typescript/beta/vaults/credentials/retrieve.md @@ -133,6 +133,10 @@ Retrieve a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/credentials/update.md b/content/en/api/typescript/beta/vaults/credentials/update.md index 0b231c05b1..066eecf053 100644 --- a/content/en/api/typescript/beta/vaults/credentials/update.md +++ b/content/en/api/typescript/beta/vaults/credentials/update.md @@ -273,6 +273,10 @@ Update a Credential - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/delete.md b/content/en/api/typescript/beta/vaults/delete.md index c7740fb746..19508da550 100644 --- a/content/en/api/typescript/beta/vaults/delete.md +++ b/content/en/api/typescript/beta/vaults/delete.md @@ -129,6 +129,10 @@ Delete a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/list.md b/content/en/api/typescript/beta/vaults/list.md index 3e7055c21a..9eb5e74bfc 100644 --- a/content/en/api/typescript/beta/vaults/list.md +++ b/content/en/api/typescript/beta/vaults/list.md @@ -139,6 +139,10 @@ List Vaults - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/retrieve.md b/content/en/api/typescript/beta/vaults/retrieve.md index 79f228a04f..5cc548f9ee 100644 --- a/content/en/api/typescript/beta/vaults/retrieve.md +++ b/content/en/api/typescript/beta/vaults/retrieve.md @@ -129,6 +129,10 @@ Retrieve a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/beta/vaults/update.md b/content/en/api/typescript/beta/vaults/update.md index 4132fa8f1c..75cd37866a 100644 --- a/content/en/api/typescript/beta/vaults/update.md +++ b/content/en/api/typescript/beta/vaults/update.md @@ -139,6 +139,10 @@ Update a Vault - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + - `workspace_id?: string` (header parameter) Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). diff --git a/content/en/api/typescript/completions.md b/content/en/api/typescript/completions.md index 5e7c589ae7..e3f6397826 100644 --- a/content/en/api/typescript/completions.md +++ b/content/en/api/typescript/completions.md @@ -143,6 +143,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ### Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/typescript/completions/create.md b/content/en/api/typescript/completions/create.md index 9f42e461ba..e0c33958c0 100644 --- a/content/en/api/typescript/completions/create.md +++ b/content/en/api/typescript/completions/create.md @@ -141,6 +141,10 @@ Future models and features will not be compatible with Text Completions. See our - `"webhooks-2026-10-07"` + - `"message-threads-2026-08-12"` + + - `"analytics-usage-cost-2026-08-24"` + ## Body parameters - `max_tokens_to_sample: number` diff --git a/content/en/api/typescript/models.md b/content/en/api/typescript/models.md index c392b305cf..87cbeb872d 100644 --- a/content/en/api/typescript/models.md +++ b/content/en/api/typescript/models.md @@ -355,7 +355,7 @@ for await (const modelInfo of client.models.list()) { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", @@ -691,7 +691,7 @@ console.log(modelInfo.id); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/typescript/models/list.md b/content/en/api/typescript/models/list.md index 2649e28e24..3fd03fdd51 100644 --- a/content/en/api/typescript/models/list.md +++ b/content/en/api/typescript/models/list.md @@ -353,7 +353,7 @@ for await (const modelInfo of client.models.list()) { "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/typescript/models/retrieve.md b/content/en/api/typescript/models/retrieve.md index 3dc570537f..f7c7baa840 100644 --- a/content/en/api/typescript/models/retrieve.md +++ b/content/en/api/typescript/models/retrieve.md @@ -326,7 +326,7 @@ console.log(modelInfo.id); "deprecated_at": "2019-12-27T18:11:19.117Z", "display_name": "Claude Opus 5.5", "lifecycle": "active", - "line": "haiku", + "line": "opus", "max_input_tokens": 0, "max_tokens": 0, "retires_at": "2019-12-27T18:11:19.117Z", diff --git a/content/en/api/versioning.md b/content/en/api/versioning.md index 4ec38e9786..a30cba8f11 100644 --- a/content/en/api/versioning.md +++ b/content/en/api/versioning.md @@ -47,7 +47,7 @@ Anthropic recommends using the latest API version whenever possible. * The per-user [usage](https://platform.claude.com/docs/en/api/beta/organization/analytics/user_usage_report/list) and [cost](https://platform.claude.com/docs/en/api/beta/organization/analytics/user_cost_report/list) reports no longer have `actor.email`. Use `actor.email_address` instead. * The [activity summaries](https://platform.claude.com/docs/en/api/beta/organization/analytics/summaries/list) response no longer has `summaries`. Use `data` instead. -- `2023-06-01` +* `2023-06-01` * New format for [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) server-sent events (SSE): @@ -57,4 +57,4 @@ Anthropic recommends using the latest API version whenever possible. * Removed legacy `exception` and `truncated` values in responses. -- `2023-01-01`: Initial release. +* `2023-01-01`: Initial release. diff --git a/content/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed.md b/content/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed.md index 44e861fb48..fdf0fdee95 100644 --- a/content/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed.md +++ b/content/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed.md @@ -574,7 +574,7 @@ Anthropic manages rate limits for Claude Models on Google Cloud (Anthropic manag Claude Models on Google Cloud (Anthropic managed) bills through Google Cloud Marketplace. Anthropic meters your usage. It reports the usage to Google Cloud in Claude Consumption Units. One Claude Consumption Unit is $0.01 USD. The charges appear on your Google Cloud bill. Anthropic doesn’t send a separate invoice. -View usage and cost data on the **Usage** and **Cost** pages in the [Claude Console](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#using-the-claude-console). +View usage and cost data on the **Usage** and **Cost** pages in the [Claude Console](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#using-the-claude-console), or query it with the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). If you have a Google Cloud spend commitment, usage counts toward it the way other Marketplace purchases do. diff --git a/content/en/build-with-claude/claude-platform-on-aws.md b/content/en/build-with-claude/claude-platform-on-aws.md index b05793d78e..c2643c4755 100644 --- a/content/en/build-with-claude/claude-platform-on-aws.md +++ b/content/en/build-with-claude/claude-platform-on-aws.md @@ -578,7 +578,7 @@ The following capabilities are not currently available on Claude Platform on AWS * **HIPAA readiness:** Anthropic’s HIPAA-ready program is not available. See [API and data retention](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention). * **Computer use and browser use toolsets:** `computer_toolset_20260801` and `browser_toolset_20260801` are not currently available on Claude Platform on AWS. The beta computer use tool versions remain available for the models listed under [Earlier tool versions](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#earlier-tool-versions). -- **Admin API:** Workspace endpoints (create, get, list, update, and archive on `/v1/organizations/workspaces`), external key endpoints (register, get, list, update, and delete on `/v1/organizations/external_keys`, for [CMEK](https://platform.claude.com/docs/en/manage-claude/cmek); keys are validated when attached to a workspace rather than through a validate endpoint), and the [telemetry destination endpoints](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#telemetry-destinations) are available. Other Admin API endpoints (organization members, workspace members, invites, API keys, usage reports, cost reports, and rate limit reports) are not currently available. View usage and cost data in the [Claude Console](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#using-the-claude-console) instead. AWS IAM manages organization membership. +- **Admin API:** Workspace endpoints (create, get, list, update, and archive on `/v1/organizations/workspaces`), external key endpoints (register, get, list, update, and delete on `/v1/organizations/external_keys`, for [CMEK](https://platform.claude.com/docs/en/manage-claude/cmek); keys are validated when attached to a workspace rather than through a validate endpoint), the [telemetry destination endpoints](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#telemetry-destinations), and the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) endpoints are available. Other Admin API endpoints (organization members, workspace members, invites, API keys, the legacy [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api), and rate limit reports) are not available. AWS IAM manages organization membership. - **Workspace member management:** Adding or removing users from individual workspaces is not available. AWS IAM policies on workspace ARNs control access. - **Claude Code workspace and Analytics API:** The Claude Code workspace with automatic rate limits is not available. Claude Code usage appears in the general usage view rather than a dedicated screen. - **OAuth authentication:** Not supported. Use SigV4 or API key authentication. @@ -869,7 +869,7 @@ Spend is calculated at list prices and can take about 2 hours to reflect recent ## Monitoring and logging -AWS CloudTrail can capture all requests to Claude Platform on AWS. Workspace, external key, telemetry destination, compliance, vault, and webhook operations are logged as Management events by default. Inference, batch, file, skill, model, user profile, and Claude Managed Agents operations (other than vaults and webhooks) are classified as Data events and require explicit data event logging configuration, which incurs additional CloudTrail charges. See the [IAM actions reference](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#route-to-action-mapping) for the full event type classification and the [AWS CloudTrail documentation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/) for configuration details. +AWS CloudTrail can capture all requests to Claude Platform on AWS. Workspace, external key, telemetry destination, compliance, vault, and webhook operations are logged as Management events by default. Inference, batch, file, skill, model, user profile, usage and cost report, and Claude Managed Agents operations (other than vaults and webhooks) are classified as Data events and require explicit data event logging configuration, which incurs additional CloudTrail charges. See the [IAM actions reference](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#route-to-action-mapping) for the full event type classification and the [AWS CloudTrail documentation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/) for configuration details. ### Request IDs diff --git a/content/en/build-with-claude/compaction-thinking-blocks.md b/content/en/build-with-claude/compaction-thinking-blocks.md index c2f70445f3..e3c0385caf 100644 --- a/content/en/build-with-claude/compaction-thinking-blocks.md +++ b/content/en/build-with-claude/compaction-thinking-blocks.md @@ -39,7 +39,7 @@ The thinking blocks in kept turns stay valid while all of these hold: * **The kept turns directly follow the summarized messages, and you send them unchanged.** Send each kept message exactly as it is in your history. Don’t skip or add a message between the last summarized message and the first kept one. The first kept message must also have a different role from the last summarized message, and it can’t be a mid-conversation `role: "system"` message. Otherwise, the API merges it into the last summarized message. One way to get the first kept message right is to compact exactly the `messages` of a request you already sent. The kept turns then start with Claude’s reply to it. * **`system` and the `tools` not marked `defer_loading: true` don’t change.** They are the same on the compaction request as on the requests that produced the kept thinking, and they stay the same on the requests that follow. [Change the system prompt or tools](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks#change-the-system-prompt-or-tools) covers how to change them safely. -If a condition doesn’t hold, nothing fails when you compact, and the API accepts the block on later requests either way. The failure comes on the first later request that sends the kept thinking where the API enforces the check: a 400 error by default, or dropped thinking blocks if the request sets `thinking.block_binding.prefix_mismatch_behavior` to `"drop_block"`. In the Message Batches API, an item that leaves the field unset doesn’t fail. Where the check applies by default, the API drops the blocks instead. [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior) describes both outcomes, and [When the API enforces the check](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) says which requests are checked. +If a condition doesn’t hold, nothing fails when you compact, and the API accepts the compaction block on later requests either way. What fails is the kept thinking, on the first later request that sends it. [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior) describes what happens then, and [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) covers requests that don’t set the field, including Message Batches items. ## Compact again without breaking older thinking @@ -63,12 +63,12 @@ Mid-conversation system messages inside the summarized turns are summarized too, The compaction response doesn’t say whether the kept thinking holds. The first request after the swap does. To check in your tests: -1. Have a short conversation with thinking on. Use a model on which the API runs the check (see [When the API enforces the check](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement)), and use it for every step, because a model that can’t read a thinking block drops it with no error. +1. Have a short conversation with thinking on. Use a model that runs the prefix check (see [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check)), and use it for every step, because a model that can’t read a thinking block drops it with no error. 2. Compact the older turns, and keep at least one turn that holds a thinking block. 3. Send the next request, with the block first, then the kept turn, then a new `user` message, and with `thinking.block_binding.prefix_mismatch_behavior` set to `"error"`. 4. Read the result. A 200 response whose `input_transformations` array is empty means no thinking block failed the check or was dropped. A 400 error that says the block is bound to a different conversation means one did. The message starts with the path of the first block that failed, and [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior) shows it in full. -The `prefix_mismatch_behavior` field needs the `thinking-binding-controls-2026-08-01` beta header in addition to the [`compact-2026-09-04` beta header](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand#request-a-summary). Setting the field also opts the request into the check on accounts where the check isn’t on by default. +The `prefix_mismatch_behavior` field needs the `thinking-binding-controls-2026-08-01` beta header in addition to the [`compact-2026-09-04` beta header](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand#request-a-summary). The value a request sets applies on any account. The following program runs the four steps. It prints how many thinking blocks the kept turn holds and how many entries `input_transformations` has; no entries means the kept thinking held: @@ -690,7 +690,7 @@ Thinking blocks in the kept turn: 1 Dropped thinking blocks: 0 ``` -In production, `"drop_block"` keeps requests succeeding when a condition doesn’t hold, and reports each dropped block in `input_transformations` with `reason: "prefix_binding_mismatch"`. An entry whose `path` falls in a kept turn means that turn’s thinking didn’t hold. [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior) describes what is dropped and says how to alert on it. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. A request that sets it with `thinking: {"type": "between_tools"}` on Claude Sonnet 5.5, or with `thinking: {"type": "disabled"}` on Claude Haiku 5.5, returns a 400 error. On those requests, make sure every condition holds, or remove the `thinking` and `redacted_thinking` blocks from the kept turns. +In production, `"drop_block"` keeps requests succeeding when a condition doesn’t hold. The response lists each dropped block in `input_transformations` with `reason: "prefix_binding_mismatch"`. An entry whose `path` falls in a kept turn means a condition didn’t hold for that turn’s thinking. [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior) describes what is dropped and says how to alert on it. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With any other thinking setting on those models, you can’t send `block_binding`, so make sure every condition holds or strip the `thinking` and `redacted_thinking` blocks from the kept turns. ## Availability diff --git a/content/en/build-with-claude/compaction-threshold.md b/content/en/build-with-claude/compaction-threshold.md index 0fae7df7d2..dfdd1f81fb 100644 --- a/content/en/build-with-claude/compaction-threshold.md +++ b/content/en/build-with-claude/compaction-threshold.md @@ -1656,7 +1656,7 @@ When the API receives a `compaction` block, all content blocks before it are ign * Keep the original messages in your list and let the API handle removing the compacted content * Manually drop the compacted messages and only include the compaction block onward -On Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, thinking blocks from before a `compaction` block aren’t carried forward, so the summary is all the model has of that earlier work. If you write your own `instructions`, tell the model what the summary must retain; see [Tell the model what to preserve in compaction summaries](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#tell-the-model-what-to-preserve-in-compaction-summaries). +On Claude 5.1 and later models, thinking blocks from before a `compaction` block aren’t carried forward, so the summary is all the model has of that earlier work. If you write your own `instructions`, tell the model what the summary must retain; see [Tell the model what to preserve in compaction summaries](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#tell-the-model-what-to-preserve-in-compaction-summaries). ### Streaming @@ -2513,7 +2513,7 @@ Here’s a complete example of a long-running conversation with compaction: messages.append({"role": "assistant", "content": response.content}) # Return the text content - return next(block.text for block in response.content if block.type == "text") + return next((block.text for block in response.content if block.type == "text"), "") # Run a long conversation @@ -2771,7 +2771,7 @@ Here’s a complete example of a long-running conversation with compaction: ```
-On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, remove the `thinking` and `redacted_thinking` blocks from any assistant turn you re-insert after the compaction block, or send `thinking.block_binding.prefix_mismatch_behavior: "drop_block"` with the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers). Those blocks were produced when the full history was present, so they no longer pass the [conversation check](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation). Where the check is enforced, the continuation request is rejected with a 400 error. The preserved text and tool blocks can stay as they are. Letting the API summarize everything, without re-inserting earlier turns, avoids this. On Claude Sonnet 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With `between_tools`, remove the blocks instead. On Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`, so with `thinking: {"type": "disabled"}`, remove the blocks instead. +On Claude 5.1 and later models, thinking blocks in any assistant turn you reinsert after the compaction block fail the [prefix check](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation), because they were produced when the full history was present. Strip the `thinking` and `redacted_thinking` blocks from those turns. Alternatively, send `thinking.block_binding.prefix_mismatch_behavior: "drop_block"` with the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers). The preserved text and tool blocks can stay as they are. Letting the API summarize everything, without reinserting earlier turns, avoids this. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With any other thinking setting on those models, strip the blocks. Here’s an example that uses `pause_after_compaction` to preserve the prior exchange and the current user message (three messages total) instead of summarizing them. It keeps their text and tool blocks unchanged, removes the `thinking` and `redacted_thinking` blocks from the preserved assistant turn, and drops that turn if nothing else is left: @@ -2857,7 +2857,7 @@ Here’s an example that uses `pause_after_compaction` to preserve the prior exc messages.append({"role": "assistant", "content": response.content}) # Return the text content - return next(block.text for block in response.content if block.type == "text") + return next((block.text for block in response.content if block.type == "text"), "") # Run a long conversation diff --git a/content/en/build-with-claude/compaction.md b/content/en/build-with-claude/compaction.md index 59628e7168..36735c75e4 100644 --- a/content/en/build-with-claude/compaction.md +++ b/content/en/build-with-claude/compaction.md @@ -12,16 +12,16 @@ If you want to skip this overview, start with [Compaction on demand](https://pla Use on-demand compaction wherever it is available. -| | [Compaction on demand](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand) | [Compaction at a token threshold](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold) | Your own summarizer ([Compact on the client](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#custom-compaction-on-the-client)) | -| ------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Who decides when** | You, by sending a request | The API, when input tokens reach the trigger you set | You | -| **Code you write** | A [compaction loop](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand#compact-in-a-loop) that requests the summary and swaps it in | One parameter on your ordinary requests | The summarization call, its prompt, and the history rewrite | -| **What you send back afterward** | The returned block first in `messages`, in place of the messages it summarizes | The response, appended as usual. The API drops what came before the block | Your summary, as a message of your own | -| **Recent turns stay word for word** | Yes: [Compaction that keeps recent turns](https://platform.claude.com/docs/en/build-with-claude/compaction-keep-recent-turns) | Yes, by [pausing after compaction](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#pausing-after-compaction) and re-inserting them | Yes | -| **Runs in the background** | Yes: [Compaction in the background](https://platform.claude.com/docs/en/build-with-claude/compaction-background) | No: it runs inside the request that reaches the threshold | Yes, in your own code | -| **Kept turns keep their thinking**, on models with [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) | Yes, under the conditions in [Compaction and preserved thinking](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks) | No: on Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, remove or drop the thinking in turns you re-insert (see the [threshold compaction examples](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#examples)) | No: that thinking [fails the check](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#keep-tail-compaction) | -| **Beta header, parameter, and platforms** | `compact-2026-09-04` and the top-level `compaction` parameter. Platforms: see the [on-demand API support section](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand#availability-feature-support) | See the [threshold API support section](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#availability-feature-support) and [Basic usage](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#basic-usage) | None. It runs in your code | -| **Choose it when** | Your application needs to control when compaction occurs, can’t pause while a summary is written, or must keep recent turns and their thinking | You want the API to manage context inside ordinary requests | You already run your own summarizer and it replaces the whole history with the summary | +| | [Compaction on demand](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand) | [Compaction at a token threshold](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold) | Your own summarizer ([Compact on the client](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#custom-compaction-on-the-client)) | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Who decides when** | You, by sending a request | The API, when input tokens reach the trigger you set | You | +| **Code you write** | A [compaction loop](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand#compact-in-a-loop) that requests the summary and swaps it in | One parameter on your ordinary requests | The summarization call, its prompt, and the history rewrite | +| **What you send back afterward** | The returned block first in `messages`, in place of the messages it summarizes | The response, appended as usual. The API drops what came before the block | Your summary, as a message of your own | +| **Recent turns stay word for word** | Yes: [Compaction that keeps recent turns](https://platform.claude.com/docs/en/build-with-claude/compaction-keep-recent-turns) | Yes, by [pausing after compaction](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#pausing-after-compaction) and reinserting them | Yes | +| **Runs in the background** | Yes: [Compaction in the background](https://platform.claude.com/docs/en/build-with-claude/compaction-background) | No: it runs inside the request that reaches the threshold | Yes, in your own code | +| **Kept turns keep their thinking**, on models with [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) | Yes, under the conditions in [Compaction and preserved thinking](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks) | No: strip the thinking from the turns you reinsert, or let the API drop it with `prefix_mismatch_behavior: "drop_block"` (see the [threshold compaction examples](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#examples)) | No: that thinking [fails the prefix check](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#keep-tail-compaction) | +| **Beta header, parameter, and platforms** | `compact-2026-09-04` and the top-level `compaction` parameter. Platforms: see the [on-demand API support section](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand#availability-feature-support) | See the [threshold API support section](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#availability-feature-support) and [Basic usage](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#basic-usage) | None. It runs in your code | +| **Choose it when** | Your application needs to control when compaction occurs, can’t pause while a summary is written, or must keep recent turns and their thinking | You want the API to manage context inside ordinary requests | You already run your own summarizer and it replaces the whole history with the summary | ## On-demand compaction options diff --git a/content/en/build-with-claude/context-editing.md b/content/en/build-with-claude/context-editing.md index c857eddaf3..f93a9cd0fd 100644 --- a/content/en/build-with-claude/context-editing.md +++ b/content/en/build-with-claude/context-editing.md @@ -89,7 +89,7 @@ An assistant conversation turn might include multiple content blocks (for exampl Context editing is applied server-side before the prompt reaches Claude. Your client application maintains the full, unmodified conversation history. You do not need to sync your client state with the edited version. Continue managing your full conversation history locally as you normally would. -On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, server-side context management never invalidates thinking blocks. Client-side edits to earlier turns can invalidate the thinking blocks in every later assistant turn. For new accounts created on or after August 31, 2026, a request that replays an invalidated block is rejected unless you opt into dropping it. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). +On Claude 5.1 and later models, server-side context management never invalidates thinking blocks. Client-side edits to earlier turns can invalidate the thinking blocks in every later assistant turn. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). ### Context editing and prompt caching diff --git a/content/en/build-with-claude/fallback-credit.md b/content/en/build-with-claude/fallback-credit.md index 7834f05b96..764edbc8ef 100644 --- a/content/en/build-with-claude/fallback-credit.md +++ b/content/en/build-with-claude/fallback-credit.md @@ -41,7 +41,7 @@ You need this page only when you build the retry yourself: over raw HTTP or with On a refusal, `stop_details` includes two fields: * **`fallback_credit_token`:** an opaque string that represents the credit - * **`fallback_has_prefill_claim`:** a Boolean that tells you which retry body shape to use + * **`fallback_has_prefill_claim`:** a boolean that tells you which retry body shape to use Both are `null` when no credit is available for the refusal. diff --git a/content/en/build-with-claude/fast-mode.md b/content/en/build-with-claude/fast-mode.md index 3555b4fc5c..9b18259df9 100644 --- a/content/en/build-with-claude/fast-mode.md +++ b/content/en/build-with-claude/fast-mode.md @@ -356,7 +356,7 @@ The response `usage` object includes a `speed` field that indicates which speed } ``` -To track fast mode usage and costs across your organization, see the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api). +To track fast mode usage and costs across your organization, see the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). ## Retries and fallbacks diff --git a/content/en/build-with-claude/mid-conversation-system-messages.md b/content/en/build-with-claude/mid-conversation-system-messages.md index 98d2c7d40f..198a620874 100644 --- a/content/en/build-with-claude/mid-conversation-system-messages.md +++ b/content/en/build-with-claude/mid-conversation-system-messages.md @@ -2020,7 +2020,7 @@ Turn-scoped system messages are in beta. Include the [beta header](https://platf } ``` -The main use is a per-turn reminder in a tool loop. Append the reminder after the `tool_result` message each time you want the model to see it, and leave every earlier copy where it is. The model sees only the copies that come after the last user message, so the reminder never piles up. Nothing earlier in `messages` changes, so the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) keeps matching. On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 this also keeps later [thinking blocks valid](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation): deleting an earlier reminder would change the conversation before those blocks and fail the conversation check, while a cleared message stays in the array and leaves that conversation unchanged. +The main use is a per-turn reminder in a tool loop. Each time you want the model to see the reminder, append it after the `tool_result` message. Leave every earlier copy where it is. The model sees only the copies that come after the last user message, so the reminder never piles up. Nothing earlier in `messages` changes, so the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) keeps matching. On Claude 5.1 and later models, this also keeps later [thinking blocks valid](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation). Deleting an earlier reminder would change the conversation before those blocks, so they would fail the prefix check. A cleared message stays in the array and leaves the conversation before those blocks unchanged. The following request is a later step of an agent loop. `messages[3]` rendered on the earlier request, when it was the last message in the array. Once `messages[5]` (a later user message) exists, `messages[3]` is cleared: the cleared message stays in the array, so the conversation before the thinking block in `messages[4]` is unchanged, but the model no longer receives its text. `messages[6]` and `messages[7]` both render, in order. @@ -2097,7 +2097,7 @@ The following request is a later step of an agent loop. `messages[3]` rendered o Rules for turn-scoped messages: -* **Re-send cleared messages verbatim.** A cleared message is still part of the conversation history. Rebuilding it from current state (a fresh token count, a timestamp), dropping it as redundant, or changing its `clear_at` value is an edit to an earlier message. On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, every thinking block produced after it fails the [conversation check](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation). +* **Resend cleared messages verbatim.** A cleared message is still part of the conversation history. Rebuilding it from current state (a fresh token count, a timestamp), dropping it as redundant, or changing its `clear_at` value is an edit to an earlier message. On Claude 5.1 and later models, every thinking block produced after it fails the [prefix check](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation). * **Text only.** `content` is one or more `text` blocks (or a string). `tool_addition` and `tool_removal` blocks return a 400 error on a turn-scoped message, and so does `output_config`. Use a separate `role: "system"` message without `clear_at` for those. * **No `cache_control` on its blocks.** A cleared message is never part of a cache key, so a breakpoint on it could never match. Put the breakpoint on the last block of the preceding user turn instead, as the example does. The top-level [automatic caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#automatic-caching) field skips turn-scoped messages when it picks a breakpoint. On the request that clears a message, the reusable cached prefix ends at the user turn before it, so only the one assistant turn between that message and the new user message is reprocessed. * **Placement rules still apply**, cleared or not. A turn-scoped message must follow a `user` turn (or an `assistant` turn ending in a server tool result) and precede an `assistant` turn or end the array, like any mid-conversation system message. One that ends the array always renders. One followed directly by another `user` message is a 400 error, not a cleared message: put all of a tool round’s results in one user message and the reminders after it. @@ -2353,7 +2353,7 @@ Mid-conversation system messages and [prompt caching](https://platform.claude.co * **Append the system message after the breakpoint.** Because it comes after the cached prefix, it does not change the prefix hash and the cache still hits. * **A mid-conversation system message is itself cacheable.** Once it is in the conversation, it becomes part of the stable history. On the next turn you can move your cache breakpoint past it (or rely on [automatic caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#automatic-caching) to do so) and the system message is read from cache like any other turn. -Avoid editing or removing a mid-conversation system message that has already been sent. Like any other change to earlier messages, that invalidates the cache from that point forward. On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 it also invalidates the [thinking blocks](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation) in every later assistant turn. For guidance that should apply to one turn only, use a [turn-scoped system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages) and leave it in place. If the instruction needs to evolve, append a new system message rather than rewriting the old one. Consecutive system messages are accepted and treated as a single system section, which follows the same placement rule as a whole. +Avoid editing or removing a mid-conversation system message that has already been sent. Like any other change to earlier messages, editing or removing it invalidates the cache from that point forward. On Claude 5.1 and later models, it also invalidates the [thinking blocks](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation) in every later assistant turn. For guidance that should apply to one turn only, use a [turn-scoped system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages) and leave it in place. If the instruction needs to evolve, append a new system message rather than rewriting the old one. Consecutive system messages are accepted and treated as a single system section, which follows the same placement rule as a whole. ## Limitations diff --git a/content/en/build-with-claude/overview.md b/content/en/build-with-claude/overview.md index 5389c4497b..71a0ac7a2e 100644 --- a/content/en/build-with-claude/overview.md +++ b/content/en/build-with-claude/overview.md @@ -6,7 +6,7 @@ description: Explore Claude's advanced features and capabilities. For each feature’s eligibility under zero data retention (ZDR) and HIPAA readiness, see [API and data retention](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#feature-eligibility). -For administration and governance, see the [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api), and the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api). +For administration and governance, see the [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), and the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api). ## Platform features diff --git a/content/en/build-with-claude/preserved-thinking.md b/content/en/build-with-claude/preserved-thinking.md index 58ac41a1b4..1666e469aa 100644 --- a/content/en/build-with-claude/preserved-thinking.md +++ b/content/en/build-with-claude/preserved-thinking.md @@ -26,15 +26,15 @@ featureMetadata: Preserved thinking is a property of newer Claude models that guards against distillation. It determines whether the model can use a thinking block that you send back from an earlier turn. Starting with Claude Fable 5.1, when a `thinking` or `redacted_thinking` block comes back in a request, the API checks the block’s `signature` for two things: * **The model can read the block.** Each model reads its own thinking blocks and those of a fixed set of other models. Claude Fable 5.1 reads blocks from Claude Opus 5 and, on the Claude API, from Claude Opus 5.5; neither Claude Opus 5 nor Claude Opus 5.5 reads blocks from Claude Fable 5.1. If the current model can’t read a block, the API drops it from that request without an error. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). -* **Nothing before the thinking block has changed.** The top-level `system` prompt, `tools`, and `messages` before the block are its prefix. If the prefix differs from what you sent when the block was produced, that block and every later thinking block are invalid, and the API rejects the request with a 400 error or drops the invalid blocks, whichever you choose. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). +* **Nothing before the thinking block has changed.** The top-level `system` prompt, `tools`, and `messages` before the block are its prefix. If the prefix differs from what you sent when the block was produced, that block and every later thinking block fail the prefix check. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). -Thinking blocks from Claude Sonnet 5.5 and Claude Haiku 5.5 are also tied to the account that produced them. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking) for where the API enforces this. +Thinking blocks from Claude Sonnet 5.5 and Claude Haiku 5.5 are also tied to the account that produced them. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking) for where this applies. -The model check applies to every account. The API enforces the prefix check by default for accounts created on or after August 31, 2026, 00:00 UTC. On older accounts, it enforces the prefix check only on requests that set `thinking.block_binding.prefix_mismatch_behavior`. **Make your integration append-only regardless of your account’s age**, so the same code works on every account, including newer accounts enforced by default. +**Make your integration append-only** so that the thinking blocks you send back pass the prefix check. -## Who needs to change anything +## Who the prefix check affects -Nothing changes for you if Claude Code, claude.ai, Claude Managed Agents, or the Claude Agent SDK builds your requests, or if your code keeps `system` and `tools` fixed for a session and only ever appends to `messages`. Claude Mythos 5.1 and models before Claude Fable 5.1 don’t run the prefix check. If you never send thinking blocks back, the prefix check has nothing to reject, and the model gets none of its earlier reasoning. +The prefix check runs on Claude 5.1 and later models. Other models don’t run it. You don’t need to do anything if Claude Code, claude.ai, Claude Managed Agents, or the Claude Agent SDK builds your requests, or if your code keeps `system` and `tools` fixed for a session and only ever appends to `messages`. If you never send thinking blocks back, the check has nothing to test, and the model gets none of its earlier reasoning. Check your integration if, between two requests in one conversation, it does any of the following. Each item links to what to do instead: @@ -47,7 +47,7 @@ Check your integration if, between two requests in one conversation, it does any * [Drops some `thinking` blocks and keeps later ones](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#append-assistant-turns-exactly-as-returned), or removes them and [later restores those blocks](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check) * [Rebuilds a saved session from templates](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#faq) instead of replaying what it sent -On an older account, none of these produces an error unless the request sets `prefix_mismatch_behavior`, so a run with no errors on your own key doesn’t show whether your code is affected. If people run your tool with their own API keys, those on newer accounts get the 400 error before you do. To see what they see without changing how your requests behave, send the `thinking-binding-controls-2026-08-01` beta header. On an older account, each response then flags blocks that fail the check, and the model still reads them (see [Set the mismatch behavior and read `input_transformations`](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#preserved-thinking-controls)). +A run with no errors on your own API key doesn’t prove that your code keeps the prefix intact. When a request leaves `prefix_mismatch_behavior` unset, failing blocks reach the model without an error wherever the table in [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) shows no error. People who run your tool with their own API keys can get a 400 error even when you don’t. To see the error from your account, set `prefix_mismatch_behavior` to `"error"` on your test requests, as [Check whether your code edits the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#how-to-tell-whether-your-integration-is-impacted) shows. Also check your integration if it sends Claude Sonnet 5.5 or Claude Haiku 5.5 thinking blocks from one account in a request made by a different account. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking). @@ -64,10 +64,10 @@ Claude Haiku 5.5 reads thinking blocks from Claude Sonnet 5, Claude Opus 4.8, Cl * **A conversation that moves to Claude Fable 5.1 from an earlier model, or from Claude Opus 5.5 on the Claude API, keeps its reasoning.** The earlier model’s thinking blocks stay readable, so the model thinks as usual from the first turn after the switch. * **A conversation that moves from Claude Fable 5.1 to any model other than Claude Mythos 5.1 loses Claude Fable 5.1’s reasoning for that request.** This occurs when a router sends a turn to a cheaper model, after a [classifier refusal fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback), or during a [server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback). The API removes the unreadable blocks before the prompt reaches the model. They aren’t billed and don’t count toward `input_tokens`. -Keep sending the full history on every request, thinking blocks included, and let the API drop what the current model can’t read. The API never edits your `messages` array, so the dropped blocks stay in your history. When the same history goes back to Claude Fable 5.1, its blocks are readable again, along with the earlier model’s thinking. The reasoning is permanently lost only if your client removes the blocks itself, for example a harness that strips thinking on a model switch or rebuilds the history from what each model used. +Keep sending the full history on every request, thinking blocks included, and let the API drop what the current model can’t read. The API never edits your `messages` array, so the dropped blocks stay in your history. When the same history goes back to Claude Fable 5.1, its blocks are readable again. The reasoning is permanently lost only if your client removes the blocks itself, for example a harness that strips thinking on a model switch or rebuilds the history from what each model used. - ![Animation: switching to Claude Opus skips Claude Fable 5.1's thinking for that turn; switching back, everything is read again](https://platform.claude.com/docs/images/preserved-thinking-model-switch.svg) + ![Animation: switching to Claude Opus skips Claude Fable 5.1's thinking for that turn; switching back, it is read again](https://platform.claude.com/docs/images/preserved-thinking-model-switch.svg) With the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers), the response lists each dropped block in a top-level `input_transformations` array with `reason: "model_binding_mismatch"`: @@ -88,7 +88,7 @@ Without the header, the drop is silent. This entry isn’t a bug in your integra ## Thinking blocks stay with the account that produced them -Thinking blocks that Claude Sonnet 5.5 or Claude Haiku 5.5 produces work only in the account that produced them, or in an account linked to it. When another account sends one of these blocks, the API drops the block before the model sees it, and the request succeeds. The model answers without the reasoning in the dropped blocks. Blocks from earlier models aren’t affected. +Thinking blocks that Claude Sonnet 5.5 or Claude Haiku 5.5 produces work only in the account that produced them or in an account linked to it. When another account sends one of these blocks, the API drops the block before the model sees it, and the request succeeds. The model answers without the reasoning in the dropped blocks. Blocks from earlier models aren’t affected. On the Claude API and Claude Models on Google Cloud (Google managed), with the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers), the response lists each dropped block in `input_transformations` as a `thinking_dropped` entry with `reason: "organization_binding_mismatch"`. Without the header, the drop is silent. @@ -96,36 +96,50 @@ The API can also leave out a thinking block that another account produced, if th ## Keeping the prefix unchanged -On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, a thinking block stays valid only while everything you sent before it is unchanged on later requests. The checked prefix has three parts: +On Claude 5.1 and later models, a thinking block stays valid only while everything you sent before it is unchanged on later requests. The checked prefix has three parts: * The top-level `system` prompt * The set of `tools` * Every `message` before the block -Note: With server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction), the checked prefix starts at the most recent compaction block. +With server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction), the checked prefix starts at the most recent compaction block. Request parameters outside those three fields, such as `effort`, `max_tokens`, `output_config`, `tool_choice`, and `metadata`, aren’t part of the prefix check, and neither are `cache_control` markers. [What counts as an edit](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#what-counts-as-an-edit) has the full list. -Earlier thinking blocks aren’t in the prefix, but each thinking block records which thinking block came before it, across turns. You can remove thinking blocks from the start of the history (oldest first), from the end, or all of them. What fails is a gap: the thinking blocks you keep must be an unbroken run of the original sequence, so removing one from the middle invalidates the thinking blocks after it. Once you remove a block, leave it out. Putting it back invalidates the thinking blocks produced while it was gone. +Earlier thinking blocks aren’t in the prefix, but each thinking block records which thinking block came before it, across turns. You can remove the oldest thinking blocks (from the start of the history), the newest (from the end), or all of them. What fails is a gap: the thinking blocks you keep must be an unbroken run of the original sequence, so removing one from the middle invalidates the thinking blocks after it. Once you remove a block, leave it out. Putting it back invalidates the thinking blocks produced while it was gone. Keep `system` and `tools` fixed for the session and treat `messages` as append-only. The same discipline keeps the prefix stable for [prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching): most edits that invalidate thinking also restart the cache. ### What the API does with an invalid block -You choose with `thinking.block_binding.prefix_mismatch_behavior`: +The prefix check always runs on these models. Set `thinking.block_binding.prefix_mismatch_behavior` to choose what happens to a block that fails it. The field and the `input_transformations` array require the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers). [Set the mismatch behavior and read `input_transformations`](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#preserved-thinking-controls) shows the request in each SDK. -* **`"error"` (the default):** the API rejects the request with a 400 `invalid_request_error` that names the first failing block. -* **`"drop_block"`:** the API drops each failing block and every thinking block after it, and the request succeeds. Dropped blocks aren’t billed. The model answers that turn without using reasoning from dropped blocks, and the prompt cache restarts at the edit. The response lists each dropped block in `input_transformations` (on the `message_start` event when streaming) with `reason: "prefix_binding_mismatch"`. +* **`"error"`:** The API rejects the request with a 400 `invalid_request_error` that names the first failing block. +* **`"drop_block"`:** The API drops each failing block and every thinking block after it, and the request succeeds. Dropped blocks aren’t billed. The model answers that turn without using reasoning from dropped blocks, and the prompt cache restarts at the edit. The response lists each dropped block in `input_transformations` (on the `message_start` event when streaming) with `reason: "prefix_binding_mismatch"`. It’s a stopgap with an [output-token cost](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#drop-block-cost). - - `"drop_block"` keeps requests succeeding, but it doesn’t fix the edit that caused the mismatch, and it has a cost. Dropping blocks can significantly increase the output tokens generated, especially when blocks are dropped on every turn. For more information, see [Output-token cost of `"drop_block"`](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#drop-block-cost). Dropped blocks aren’t billed, but Claude re-creates the reasoning it can no longer read, so it generates more output tokens. Output quality might also change on tasks where later turns build on earlier reasoning. Use `"drop_block"` as a stopgap while you fix the edit, but not as a long-term setting. - +#### When `prefix_mismatch_behavior` is unset + +A request that leaves the field unset gets the outcome in this table: + +| Model | Account created on or after August 31, 2026 | Account created before August 31, 2026 | +| ----------------- | ------------------------------------------- | ----------------------------------------- | +| Claude Fable 5.1 | 400 error | No error (failing blocks reach the model) | +| Claude Mythos 5.1 | 400 error | 400 error | +| Claude Opus 5.5 | 400 error | No error (failing blocks reach the model) | +| Claude Sonnet 5.5 | 400 error | No error (failing blocks reach the model) | +| Claude Haiku 5.5 | 400 error | No error (failing blocks reach the model) | + +The cutoff, 00:00 UTC on August 31, 2026, is the same on the Claude API and on cloud platforms. The Claude Mythos 5.1 row applies to the Claude API, Claude Models on Google Cloud (Google managed), and Microsoft Foundry. The table covers the prefix check only: a block the model can’t read is dropped on accounts in either column. + +A failing block that reaches the model is read and billed like any other input. With the beta header, the response lists each one in `input_transformations` as `thinking_mismatch_allowed`. + +In the Message Batches API, an item that leaves the field unset doesn’t fail: where the table shows a 400 error, the API drops the failing blocks instead. An item that sets the field to `"error"` and sends a failing block resolves as `errored`. -Count the responses in each session whose `input_transformations` has a `prefix_binding_mismatch` entry, alert on them, and replace each edit with the matching pattern in [Make changes without editing the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits). In the Message Batches API, an item that leaves the field unset doesn’t fail. Where the API enforces the check by default, it drops the failing blocks instead. Set `"error"` explicitly there if you want batch items to fail. +To find out which column your account is in, take a Claude Fable 5.1 conversation that contains a thinking block and change something before that block. Send it to Claude Fable 5.1 without the beta header or the `block_binding` field. A 400 error that names the header means your requests get the outcome in the “on or after August 31, 2026” column. A 200 response means they get the outcome in the “before August 31, 2026” column. To confirm a 200 result, send the same request again with the beta header and without `block_binding`: the response lists every thinking block after your edit in `input_transformations` as `thinking_mismatch_allowed`. -Both the field and the `input_transformations` array require the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers). [Set the mismatch behavior and read `input_transformations`](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#preserved-thinking-controls) shows the request in each SDK. +#### The 400 error -The 400 message starts: +The message starts: ```text wrap messages.1.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". @@ -139,17 +153,21 @@ That setting requires the `thinking-binding-controls-2026-08-01` value in the `a It usually ends with a sentence naming what changed, for example that the `system` prompt or the `tools` list differs from when the block was created. For what that sentence can name, see [A 400 error says a thinking block signature is invalid](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#error-thinking-block-signature) in Troubleshooting thinking. -A tampered or undecryptable signature is a different failure. It always returns a 400 (``Invalid `signature` in `thinking` block`` with no sentence about the conversation), and `prefix_mismatch_behavior` doesn’t apply to it. +A tampered or undecryptable signature is a different failure. It always returns a 400 error (``Invalid `signature` in `thinking` block`` with no sentence about the conversation), and `prefix_mismatch_behavior` doesn’t apply to it. #### Output-token cost of `"drop_block"` -When Claude can no longer read reasoning from earlier turns, it re-creates that reasoning, so requests that drop thinking blocks generate more output tokens and can take longer to respond. A drop on every turn costs more than an occasional drop, and how much more depends on your harness: how often it edits the prefix and how much each turn builds on earlier reasoning. + + `"drop_block"` keeps requests succeeding, but it doesn’t fix the edit that caused the mismatch, and it has a cost. Dropping blocks can significantly increase output tokens, especially when blocks are dropped on every turn, and output quality might change on tasks where later turns build on earlier reasoning. Use `"drop_block"` as a stopgap while you fix the edit, not as a long-term setting. + -Before you rely on `"drop_block"`, run evals on your own workload to measure the increase. If it’s small, `"drop_block"` can keep requests succeeding while you fix the edit. Either way, fixing the edit with a pattern from [Make changes without editing the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits) is a better long-term solution. +When Claude can’t read reasoning from earlier turns, it re-creates that reasoning, so requests that drop thinking blocks generate more output tokens and can take longer to respond. A one-time drop that you make on purpose, such as at a client-side compaction boundary, costs little. A drop on every turn costs more, and how much more depends on your harness: how often it edits the prefix and how much each turn builds on earlier reasoning. + +Before you rely on `"drop_block"`, run evals on your own workload to measure the increase. If it’s small, `"drop_block"` can keep requests succeeding while you fix the edit. Either way, the long-term fix is to find and replace the edit: count the responses in each session whose `input_transformations` has a `prefix_binding_mismatch` entry, alert on them, and replace each edit with the matching pattern in [Make changes without editing the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits). #### Handle the error in code -This is the 400 `invalid_request_error` shown earlier in this section. Don’t resend the same body: it fails the same way every time. Retry once with the beta header and `prefix_mismatch_behavior: "drop_block"`, as a stopgap ([`"drop_block"` can raise output tokens](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#drop-block-cost)), and store that choice with the session so every later request sends it too, including after a restart. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With `between_tools` on Claude Sonnet 5.5, or `thinking: {"type": "disabled"}` on Claude Haiku 5.5, keep the history append-only, or strip the thinking blocks from the edited turn on. If you can’t send the beta header, remove every `thinking` and `redacted_thinking` block from the history once, leave them out, and continue. Then fix the edit that caused the mismatch. +When a request gets the [400 error](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-mismatch-error), don’t resend the same body: it fails the same way every time. Retry once with the beta header and `prefix_mismatch_behavior: "drop_block"`, as a stopgap ([`"drop_block"` can raise output tokens](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#drop-block-cost)), and store that choice with the session so every later request sends it too, including after a restart. If you can’t send the beta header or `block_binding` (on Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`), strip the block the error names and every later `thinking` and `redacted_thinking` block, leave them out, and continue. Then fix the edit that caused the mismatch. ### Set the mismatch behavior and read `input_transformations` @@ -158,7 +176,7 @@ The `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude * A top-level `input_transformations` array on every response * A `block_binding` object on the `thinking` configuration, whose one field is `prefix_mismatch_behavior` -`block_binding` is accepted alongside `thinking.type: "adaptive"` and `thinking.type: "enabled"`. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. Sending it with `between_tools` on Claude Sonnet 5.5, or with `thinking: {"type": "disabled"}` on Claude Haiku 5.5, returns a 400 error. Sending it without the beta header returns a 400 error whose message ends `block_binding: Extra inputs are not permitted`. Models that don’t run the prefix check accept the object and report only model-check drops, so one request body works across models. The API reference calls the prefix check the conversation check. +`block_binding` is accepted alongside `thinking.type: "adaptive"` and `thinking.type: "enabled"`. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. Sending it with `thinking: {"type": "between_tools"}` on Claude Sonnet 5.5 or with `thinking: {"type": "disabled"}` on Claude Haiku 5.5 returns a 400 error. Sending it without the beta header returns a 400 error whose message ends `block_binding: Extra inputs are not permitted`. Models that don’t run the prefix check accept the object and report only blocks dropped because the model can’t read them, so one request body works across models. The API reference calls the prefix check the conversation check. The following request opts into dropping rather than rejecting. On a first turn there’s nothing to replay, so `input_transformations` comes back empty: @@ -416,25 +434,16 @@ Input transformations: 0 Under the beta header, every response from a thinking-capable model carries `input_transformations`. Each entry names one thinking block by its `path` (for example `messages.1.content.0`) and gives a `reason`. There are two entry types: -* **`thinking_dropped`:** the API drops the block before the model reads it, and the block isn’t billed. The `reason` is `prefix_binding_mismatch` or `model_binding_mismatch` (see [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models)). The `reason` can also be `organization_binding_mismatch`, which means the block came from another account (see [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking)). -* **`thinking_mismatch_allowed`:** the block fails the prefix check, but the API doesn’t enforce that check for this request, so the block reaches the model unchanged and is billed. The `reason` is always `prefix_binding_mismatch`. This entry appears only on requests where the API doesn’t enforce the check by default, such as those from an older account (see [When the API enforces the check](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement)). Setting `prefix_mismatch_behavior` to either value opts the request into enforcement, so a request that sets it never gets this entry. +* **`thinking_dropped`:** The API drops the block before the model reads it, and the block isn’t billed. The `reason` is `prefix_binding_mismatch` or `model_binding_mismatch` (see [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models)). The `reason` can also be `organization_binding_mismatch`, which means the block came from another account (see [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking)). +* **`thinking_mismatch_allowed`:** The block fails the prefix check, but the API lets it through for this request, so the block reaches the model unchanged and is billed. The `reason` is always `prefix_binding_mismatch`. This entry appears only on requests that leave `prefix_mismatch_behavior` unset, where the table in [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) shows no error. A request that sets the field never gets this entry. The array is empty when no block was dropped and none failed the prefix check. Ignore entries whose `type` or `reason` you don’t recognize, because later checks add values. -When [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming), the array arrives on the `message` object in the `message_start` event. After a mid-stream server-side fallback, the final `message_delta` event carries it again with the serving model’s entries. In a [message batch](https://platform.claude.com/docs/en/build-with-claude/batch-processing), an item whose block fails the prefix check under an explicit `"error"` resolves as `errored`. An item that leaves the field unset doesn’t fail. Where the API enforces the check by default, it drops the failing blocks instead. The [token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) endpoint runs the same prefix check and returns the same 400. - -### When the API enforces the check - -The API enforces the prefix check on Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 for new accounts. - -* **Accounts created on or after August 31, 2026, 00:00 UTC:** the API checks Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 requests and applies `"error"` unless you set `"drop_block"`. The same definition of a new account applies to the Claude API and to cloud platforms. -* **Older accounts:** the API enforces the check only on requests that set `prefix_mismatch_behavior`. Setting the field opts a request in, so you can see what a new account sees without creating one. On requests that leave it unset, the API still runs the check but lets failing blocks through to the model. With the beta header, the response lists each one in `input_transformations` as `thinking_mismatch_allowed`, so you can find prefix edits without changing what the model receives. - -To find out which group your account is in, take a Claude Fable 5.1 conversation that contains a thinking block, change something before that block, and send it to Claude Fable 5.1 without the beta header or the `block_binding` field. A 400 response that names the header means your account is enforced by default. A 200 response means it isn’t. To confirm, send the same request again with the beta header, still without `block_binding`: the response lists every thinking block after your edit in `input_transformations` as `thinking_mismatch_allowed`. +When [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming), the array arrives on the `message` object in the `message_start` event. After a mid-stream server-side fallback, the final `message_delta` event carries it again with the serving model’s entries. For [message batches](https://platform.claude.com/docs/en/build-with-claude/batch-processing), see [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement). The [token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) endpoint runs the same prefix check and can return the same [400 error](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-mismatch-error). ### What counts as an edit -Each row compares two consecutive requests: +Each row compares a request with the one before it. “Later thinking blocks” means the blocks already in the history that come after the changed content: | Change between requests | Later thinking blocks | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -743,12 +752,12 @@ Log `input_transformations` on every turn of your own integration. When the API } ``` -* **Empty on every turn of a session that contains `thinking` blocks:** your integration keeps the prefix intact. -* **`reason: "prefix_binding_mismatch"`:** something before the block at `path` changed since the previous request. Diff `system`, `tools`, and `messages` up to that turn to find it, or resend the request with `"error"`: the 400 usually ends with a sentence naming what changed. Then find the matching replacement in [Make changes without editing the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits). -* **`reason: "model_binding_mismatch"`:** the conversation moved to a model that can’t read the earlier model’s blocks. This isn’t a prefix edit. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). -* **`reason: "organization_binding_mismatch"`:** the block came from another account. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking). +* **Empty on every turn of a session that contains `thinking` blocks:** Your integration keeps the prefix intact. +* **`reason: "prefix_binding_mismatch"`:** Something before the block at `path` changed since that block was produced. Diff `system`, `tools`, and `messages` up to that turn to find it, or resend the request with `"error"`: the 400 error usually ends with a sentence naming what changed. Then find the matching replacement in [Make changes without editing the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits). +* **`reason: "model_binding_mismatch"`:** The conversation moved to a model that can’t read the earlier model’s blocks. This isn’t a prefix edit. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). +* **`reason: "organization_binding_mismatch"`:** The block came from another account. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking). -To see a failure on purpose, send a third turn from the earlier example and add a `system` prompt to that request only, so that it differs from the first two requests, which had none. With `"drop_block"`, the dropped count is no longer 0: the response has one entry for each thinking block in the history, each with `reason: "prefix_binding_mismatch"`. With `"error"`, the request returns the 400 described in [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior), and its last sentence names the `system` prompt. If the count is still 0, there was nothing to check: confirm that the model is claude-fable-5-1, that the request sets `block_binding`, that the history you sent contains `thinking` blocks, and that the first two requests had no `system` prompt. +To see a failure on purpose, send a third turn from the earlier example and add a `system` prompt to that request only, so that it differs from the first two requests, which had none. With `"drop_block"`, the dropped count is no longer 0: the response has one entry for each thinking block in the history, each with `reason: "prefix_binding_mismatch"`. With `"error"`, the request returns the 400 error described in [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior), and its last sentence names the `system` prompt. If the count is still 0, there was nothing to check: confirm that the model is claude-fable-5-1, that the request sets `block_binding`, that the history you sent contains `thinking` blocks, and that the first two requests had no `system` prompt. Two plain turns rarely show the problem. Run a session through each of the following, with `"error"` set so that a regression fails your CI: @@ -759,7 +768,7 @@ Two plain turns rarely show the problem. Run a session through each of the follo * A switch to another model and back * A save, a restart, and a resume on a later date -On an older account, you can also watch production traffic without opting into enforcement: send the beta header, leave `block_binding` out, and log `input_transformations`. Sending the header alone doesn’t change what the model receives. Every thinking block that comes after the content you edited fails the check and gets its own `thinking_mismatch_allowed` entry, with the same `path` and `reason` fields as a `thinking_dropped` entry. Blocks before the edit still pass. An edit to `system` or `tools` comes before every block, so it fails every thinking block in the request. One entry looks like this: +Where the table in [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) shows no error, you can also watch production traffic: send the beta header, leave `block_binding` out, and log `input_transformations`. Sending the header alone doesn’t change what the model receives. Every thinking block that comes after the content you edited fails the check and gets its own `thinking_mismatch_allowed` entry, with the same `path` and `reason` fields as a `thinking_dropped` entry. Blocks before the edit pass. An edit to `system` or `tools` comes before every block, so every thinking block in the request fails the check. One entry looks like this: ```json { @@ -773,7 +782,7 @@ On an older account, you can also watch production traffic without opting into e } ``` -Run the following example from an [older account](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement), because a newer account rejects its third request with the 400. It sends the header without `block_binding` and extends the earlier session with a third request that adds a system prompt, which changes the prefix on purpose. After each turn it prints the number of `thinking` blocks and flagged blocks: +Run the following example from an [account created before August 31, 2026](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement), because on an account created on or after that date, the API rejects its third request with a 400 error. It sends the header without `block_binding` and extends the earlier session with a third request that adds a system prompt, which changes the prefix on purpose. After each turn it prints the number of `thinking` blocks and flagged blocks: @@ -1055,7 +1064,7 @@ thinking blocks: 1, flagged: 2 The third response flags every thinking block from the earlier turns, one for each turn in this run, because the new system prompt comes before all of them. The model still read them. -Handle these entries as you would `prefix_binding_mismatch` drops. The edit is before the first block listed: diff `system`, `tools`, and `messages` up to that block’s `path` against the previous request to find it, then replace it with the matching pattern in [Make changes without editing the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits). On a new account, or on any request that sets `prefix_mismatch_behavior`, the API instead rejects the request or drops the failing blocks. The entries are a lower bound on what enforcement would remove: with `"drop_block"`, a failing block also takes the rest of that turn’s thinking blocks with it, and removing one block can make the next one fail too. When the API only records the check, it evaluates each block on its own and lists a block only if that block fails. +Handle these entries as you would `prefix_binding_mismatch` drops. The edit is before the first block listed: diff `system`, `tools`, and `messages` up to that block’s `path` against the previous request to find it, then replace it with the matching pattern in [Make changes without editing the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits). If the request sets `prefix_mismatch_behavior`, or if the table in [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) shows a 400 error for your model and account, the API instead rejects the request or drops the failing blocks. The entries are a lower bound on what `"drop_block"` would remove. With `"drop_block"`, a failing block also takes the rest of that turn’s thinking blocks with it, and removing one block can make the next one fail too. When the API lets failing blocks through, it evaluates each block on its own and lists a block only if that block fails. ## Make changes without editing the prefix @@ -1086,7 +1095,7 @@ Other platforms that offer these betas use the same names. To send them there, s Store the `content` array from each response and send it back unchanged as the assistant turn: every block type, in the order received, including `thinking` blocks whose `thinking` field is empty. A serializer that drops unknown block types, drops empty fields, or reorders blocks edits the prefix for every later turn. -On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, the `thinking` field is empty by default and the `signature` carries the reasoning, so a serializer that skips empty blocks removes thinking. If it removes all of them, nothing fails and the model loses its earlier reasoning on every turn. If you parse the stream yourself, keep the block even when no thinking text arrives: it opens, receives its `signature` in a `signature_delta` event, and closes. A block sent back with an empty `signature` fails. +On the models that run the prefix check, the `thinking` field is empty by default and the `signature` carries the reasoning, so a serializer that skips empty blocks removes thinking. If it removes all of them, nothing fails and the model loses its earlier reasoning on every turn. If you parse the stream yourself, keep the block even when no thinking text arrives: it opens, receives its `signature` in a `signature_delta` event, and closes. A block sent back with an empty `signature` fails. ### Add instructions with a mid-conversation system message @@ -1262,7 +1271,7 @@ Another common prefix edit is client-side trimming: dropping or summarizing the ### Compact on the client -You can still compact on the client. If you write the summary yourself, don’t send back a thinking block that was produced before the rewrite. If the API writes it with on-demand compaction, [Conditions for kept thinking to stay valid](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks#conditions-for-kept-thinking-to-stay-valid) lists when kept thinking stays valid. +You can compact on the client. If you write the summary yourself, don’t send back a thinking block that was produced before you wrote the summary. If the API writes it with on-demand compaction, [Conditions for kept thinking to stay valid](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks#conditions-for-kept-thinking-to-stay-valid) lists when kept thinking stays valid. #### Simple compaction (recommended) @@ -1285,7 +1294,7 @@ Claude models are trained on long-horizon tasks with this scheme, and for most w #### Keep-tail compaction -Keep-tail compaction summarizes the older turns and keeps the most recent turns verbatim, so the model still receives the last few exchanges word for word. If you write the summary yourself, it breaks the rule: the kept assistant turns still carry thinking blocks that were produced when the original turns, not the summary, came before them. Those blocks fail. +Keep-tail compaction summarizes the older turns and keeps the most recent turns verbatim, so the model still receives the last few exchanges word for word. If you write the summary yourself, the thinking in the kept turns fails the prefix check: the kept assistant turns carry thinking blocks that were produced when the original turns, not the summary, came before them. To keep that thinking, have the API write the summary with on-demand compaction. [Compaction that keeps recent turns](https://platform.claude.com/docs/en/build-with-claude/compaction-keep-recent-turns) shows how, and [Conditions for kept thinking to stay valid](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks#conditions-for-kept-thinking-to-stay-valid) lists when the kept thinking stays valid. @@ -1513,7 +1522,7 @@ Keep sending `"drop_block"` on later requests for as long as those two turns sta Background compaction builds the summary off the critical path while the conversation continues, then swaps it in a few requests later. To keep the thinking produced in the meantime, have the API write the summary with on-demand compaction: [Compaction in the background](https://platform.claude.com/docs/en/build-with-claude/compaction-background) has the steps, and that thinking stays valid under the same [conditions for kept thinking](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks#conditions-for-kept-thinking-to-stay-valid) as kept recent turns. -A summary you build yourself breaks the rule the same way keep-tail does, with a delay: every assistant turn produced while the summary was being built carries thinking that predates the swap, and it all fails the moment the summary lands. If you use one, treat the swap like keep-tail and send `"drop_block"` from the swap onward, or compact synchronously. +If you build the summary yourself, kept thinking fails the same way it does behind a self-written keep-tail summary. Every assistant turn produced while the summary was being built carries thinking that predates the swap, and all of that thinking fails once the summary is swapped in. Treat the swap like keep-tail: send `"drop_block"` from the swap onward, or compact synchronously. #### Patterns that don’t work with preserved thinking @@ -1536,12 +1545,12 @@ A library, proxy, or gateway sits between someone else’s history and the API, ## FAQ - - No. Send the `thinking-binding-controls-2026-08-01` beta header and set `thinking.block_binding.prefix_mismatch_behavior`. Setting the field opts that request into enforcement regardless of account age. `"error"` rejects an edited history with the same 400 a new account gets, and `"drop_block"` lets the request through and lists what was dropped in `input_transformations`. To find prefix edits from an older account without enforcing the check, send the header and leave the field unset: failing blocks still reach the model, and `input_transformations` lists them as `thinking_mismatch_allowed`. See [Check whether your code edits the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#how-to-tell-whether-your-integration-is-impacted). + + Yes. Send the `thinking-binding-controls-2026-08-01` beta header and set `thinking.block_binding.prefix_mismatch_behavior`. The setting applies to that request on any account: `"error"` rejects an edited history with a 400 error, and `"drop_block"` lets the request through and lists what was dropped in `input_transformations`. See [Check whether your code edits the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#how-to-tell-whether-your-integration-is-impacted). - No. What fails is the thinking already in the history after the point you changed, and you choose what happens to it. With `prefix_mismatch_behavior: "drop_block"`, the API drops those blocks and the request succeeds: the model answers that turn without that reasoning, and the prompt cache restarts at the edit. With the default `"error"`, the API rejects the request with a 400 until you undo the edit or resend with `"drop_block"`. See [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior). [What counts as an edit](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#what-counts-as-an-edit) lists which changes matter. + No. What fails is the thinking already in the history after the point you changed, and you choose what happens to it. With `prefix_mismatch_behavior: "drop_block"`, the API drops those blocks and the request succeeds: the model answers that turn without that reasoning, and the prompt cache restarts at the edit. With `"error"`, the API rejects the request with a 400 error until you undo the edit or resend with `"drop_block"`. See [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior). [What counts as an edit](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#what-counts-as-an-edit) lists which changes matter. @@ -1566,8 +1575,8 @@ A library, proxy, or gateway sits between someone else’s history and the API, Yes. A resumed session is an ordinary follow-up request: `system`, `tools`, and the earlier `messages` must have the same content as what you last sent. JSON formatting and key order don’t matter; the values do. Persist exactly what you sent and received, and replay that: the rendered system prompt, the tool definitions, and each assistant turn as returned. Don’t re-render from inputs that might have changed since, such as the date, an updated instruction file, or a new tool version. Anything new goes in an appended message. See [Send assistant turns back exactly as returned](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#append-assistant-turns-exactly-as-returned). - - The stored history has an edit in it, so replaying it can’t succeed. Send that session with `prefix_mismatch_behavior: "drop_block"` from now on, or remove its `thinking` and `redacted_thinking` blocks once and continue. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With `between_tools` on Claude Sonnet 5.5, or `thinking: {"type": "disabled"}` on Claude Haiku 5.5, keep the history append-only, or strip the thinking blocks from the edited turn on. Thinking the model produces from that point on stays valid as long as nothing before it changes again. Then find the edit so that new sessions don’t hit it. See [Handle the error in code](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#handle-the-error-in-code). + + The stored history has an edit in it, so sending it back as it is fails every time, even after you fix the code that made the edit. To continue the session, send the beta header with `prefix_mismatch_behavior: "drop_block"` on every later request. Alternatively, strip the block the error names and every later `thinking` and `redacted_thinking` block, then retry once. If you can’t send `block_binding` (on Claude Sonnet 5.5 and Claude Haiku 5.5, it works only with `thinking: {"type": "adaptive"}`), strip the blocks. Thinking the model produces after that stays valid as long as nothing before it changes again. Then fix the code that made the edit so that new sessions don’t hit it. See [Handle the error in code](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#handle-the-error-in-code). diff --git a/content/en/build-with-claude/prompt-caching.md b/content/en/build-with-claude/prompt-caching.md index 155b223415..8b6196f12e 100644 --- a/content/en/build-with-claude/prompt-caching.md +++ b/content/en/build-with-claude/prompt-caching.md @@ -612,7 +612,7 @@ You can define up to 4 cache breakpoints if you want to: **Cache breakpoints themselves don’t add any cost.** You are only charged for: * **Cache writes:** When new content is written to the cache (25% more than base input tokens for 5-minute TTL) -* **Cache reads:** When cached content is used (10% of base input token price, or 2.5% on Claude Fable 5.1 and Claude Mythos 5.1, and 5% on Claude Opus 5.5 and Claude Sonnet 5.5) +* **Cache reads:** When cached content is used (10% of base input token price, with [per-model exceptions](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing)) * **Regular input tokens:** For any uncached content Adding more `cache_control` breakpoints doesn’t increase your costs; you still pay the same amount based on what content is actually cached and read. The breakpoints give you control over what sections can be cached independently. @@ -689,7 +689,7 @@ The following table shows which parts of the cache are invalidated by different | **Thinking parameters** | Model-specific | Model-specific | ✘ | The thinking configuration (mode, and `budget_tokens` in extended mode) is rendered into the prompt, so changing it always invalidates message blocks; tool and system caches are also invalidated on models that render the configuration ahead of them. See [Thinking and prompt caching](https://platform.claude.com/docs/en/build-with-claude/thinking#thinking-and-prompt-caching). | | **Effort setting** | Model-specific | Model-specific | ✘ | Changing the [`output_config.effort`](https://platform.claude.com/docs/en/build-with-claude/effort) value always invalidates message blocks, with the same model-specific effect on tool and system caches as thinking parameters. Setting effort explicitly to the model’s default is equivalent to omitting it and does not invalidate. On models that support [per-message effort](https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta), an effort change carried in a `role: "system"` message inside `messages` leaves the cached prefix intact. | | **Non-tool results passed to requests with thinking** | ✓ | ✓ | Model-specific | On Opus 4.5+, Sonnet 4.6+, and Haiku 5.5, thinking blocks are preserved by default, so the cache remains valid (✓). On earlier Opus/Sonnet models and Haiku models through Claude Haiku 4.5, all previously-cached thinking blocks are stripped from context, and any messages that follow those thinking blocks are removed from the cache (✘). For more details, see [Caching with thinking blocks](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#caching-with-thinking-blocks). | -| **Dropped thinking blocks** | ✓ | ✓ | ✘ | When the API drops a Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, Claude Sonnet 5.5, or Claude Haiku 5.5 thinking block that isn’t [preserved](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking) on that request, the cached prefix changes from that block’s position onward on that request. Blocks the receiving model can read, passed back unchanged, keep the cache intact. | +| **Dropped thinking blocks** | ✓ | ✓ | ✘ | When the API drops a Claude 5.1 or later model’s thinking block that isn’t [preserved](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking) on that request, the cached prefix changes from that block’s position onward on that request. Blocks the receiving model can read, passed back unchanged, keep the cache intact. | On models that support [mid-conversation tool changes](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes), the `inline-tools-2026-09-15` beta header lets you add a tool, or change a tool’s definition, partway through a conversation without editing `tools`. Send the definition in a `tool_addition` block in a mid-conversation system message and leave `tools` exactly as you first sent it. The cached prefix still matches, so only the appended message is processed as new input. The one exception is a `tools` array with no non-deferred tool, where the first tool defined this way costs one full cache miss on that request. See [Define tools in a message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#define-tools-in-a-message-beta). diff --git a/content/en/build-with-claude/prompt-engineering/claude-prompting-best-practices.md b/content/en/build-with-claude/prompt-engineering/claude-prompting-best-practices.md index 939423405c..bbab0bc433 100644 --- a/content/en/build-with-claude/prompt-engineering/claude-prompting-best-practices.md +++ b/content/en/build-with-claude/prompt-engineering/claude-prompting-best-practices.md @@ -1127,7 +1127,7 @@ When migrating to current Claude models from earlier generations: 6. **Tune anti-laziness prompting:** If your prompts previously encouraged the model to be more thorough or use tools more aggressively, reduce that guidance. Claude 4.6 models are more proactive and might overtrigger on instructions that were needed for previous models. -7. **Pass thinking blocks back unchanged and keep history append-only:** Append each assistant turn exactly as the API returned it, thinking blocks included. On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, [modifying the conversation before a thinking block](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation) results in an error, or in the block being dropped if you opt into that: editing earlier messages, rebuilding `system` or `tools`, or summarizing older turns in place between requests invalidates every later thinking block, so move those changes to mid-conversation system messages and server-side context management. See [Keep the conversation history append-only](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#keep-the-conversation-history-append-only). +7. **Pass thinking blocks back unchanged and keep history append-only:** Append each assistant turn exactly as the API returned it, thinking blocks included. On Claude 5.1 and later models, editing earlier messages, rebuilding `system` or `tools`, or summarizing older turns in place between requests [invalidates every later thinking block](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation). Move those changes to mid-conversation system messages and server-side context management. See [Keep the conversation history append-only](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#keep-the-conversation-history-append-only). For detailed migration steps, see the [Migration guide](https://platform.claude.com/docs/en/about-claude/models/migration-guide). diff --git a/content/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1.md b/content/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1.md index 754f93dbdd..4aa835226a 100644 --- a/content/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1.md +++ b/content/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1.md @@ -748,11 +748,11 @@ The following loop shows this placement. Each assistant turn goes back exactly a ## Keep the conversation history append-only -Append each assistant turn to the history exactly as the API returned it, thinking blocks included, and don’t edit earlier turns between requests. For new accounts created on or after August 31, 2026, Claude Fable 5.1’s thinking blocks are valid [only in the exact conversation that produced them](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation): a request that replays a thinking block after its prefix (the system prompt, the tool list, or any earlier message) has changed returns a 400, or drops the affected blocks if you set `thinking.block_binding.prefix_mismatch_behavior: "drop_block"` (beta, `thinking-binding-controls-2026-08-01` header). Adopt the pattern even if the check isn’t enforced for your account, so the same code works on every account. +Append each assistant turn to the history exactly as the API returned it, thinking blocks included, and don’t edit earlier turns between requests. A thinking block is valid [only while everything before it is unchanged](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation): the system prompt, the tool list, and every earlier message. To choose what happens to a block that fails the prefix check, set `thinking.block_binding.prefix_mismatch_behavior`, which requires the `thinking-binding-controls-2026-08-01` beta header. With `"error"`, the API rejects the request with a 400 error; with `"drop_block"`, it drops the invalid blocks. [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) covers requests that don’t set it. -Most history edits that trip the check also restart the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching): injecting and removing per-turn reminders, summarizing older turns in place, or changing the system prompt mid-session. Send per-turn reminders as [turn-scoped system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages), change instructions or tools with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) instead of rewriting `system` or `tools`, and let server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) or [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) do any trimming. If you compact on the client, the simplest shape is to replace the whole history with one summary message plus the new user turn and replay nothing else: no thinking blocks carry over, so nothing fails, and the model thinks afresh on the compacted conversation (see [Custom compaction on the client](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#custom-compaction-on-the-client)). Because cache reads are now cheaper (see [Pricing](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#pricing)), compacting early to save cost may no longer be the right cost-intelligence tradeoff on Claude Fable 5.1, so experiment with later compaction points. +Most history edits that trip the prefix check also restart the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching): injecting and removing per-turn reminders, summarizing older turns in place, or changing the system prompt mid-session. Send per-turn reminders as [turn-scoped system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages), change instructions or tools with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) instead of rewriting `system` or `tools`, and let server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) or [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) do any trimming. If you compact on the client, the simplest shape is to replace the whole history with one summary message plus the new user turn and replay nothing else. No thinking blocks carry over, so nothing fails, and the model thinks afresh on the compacted conversation (see [Compact on the client](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#custom-compaction-on-the-client)). Cache reads on Claude Fable 5.1 cost $0.25 USD per million tokens, 2.5 percent of the input price (see [Pricing](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#pricing)). Compacting early to save cost can be the wrong tradeoff between cost and intelligence, so experiment with later compaction points. -To find edits your harness already makes, run a session with `prefix_mismatch_behavior: "drop_block"` and log `input_transformations`, as described in [How to tell whether your integration is impacted](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#how-to-tell-whether-your-integration-is-impacted), or capture the exact requests it sends over a few normal turns and confirm that consecutive requests are byte-identical up to the appended turns. +To find edits your harness makes, run a session with `prefix_mismatch_behavior: "drop_block"` and log `input_transformations`, as described in [Check whether your code edits the prefix](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#how-to-tell-whether-your-integration-is-impacted). You can also capture the exact requests it sends over a few normal turns and confirm that consecutive requests are byte-identical up to the appended turns. ## Writing density diff --git a/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5.md b/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5.md index 5e7a98cfb0..e90c49a6cf 100644 --- a/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5.md +++ b/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5.md @@ -47,7 +47,7 @@ Changing the top-level `effort` value between requests invalidates the prompt ca ## Prompts written for thinking disabled -Claude Opus 5 accepts `thinking: {"type": "disabled"}` at `high` effort or below; Claude Opus 5.5 doesn’t, and the [migration guide](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#migrating-from-claude-opus-5) covers the request change. If your Claude Opus 5 integration ran with thinking disabled, four changes go with it: +Claude Opus 5 accepts `thinking: {"type": "disabled"}` at `high` effort or below. Claude Opus 5.5 returns a 400 error for it (see [Configuring thinking](https://platform.claude.com/docs/en/build-with-claude/thinking#configuring-thinking)). If your Claude Opus 5 integration ran with thinking disabled, four changes go with it: * **Start at `low` effort and measure.** At `low` the model keeps its thinking short. How often it skips thinking altogether depends on your prompts, so measure latency and quality on your own traffic and move to `medium` if quality drops. If time to first token still matters after that, a system prompt line such as “Answer directly without deliberating.” can reduce thinking further; measure quality when you add it, because less thinking can lower it. * **Remove instructions that stood in for thinking.** If your prompt asked the model to write its reasoning in the response as a substitute for thinking, remove that instruction. Read the reasoning from [summarized thinking](https://platform.claude.com/docs/en/build-with-claude/thinking#summarized-thinking) blocks instead (`display: "summarized"`). A prompt that pushes the model to reproduce its reasoning in the response text might be declined with the `reasoning_extraction` [refusal category](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#refusal-response). @@ -82,13 +82,13 @@ Claude Opus 5.5 runs safety classifiers, including for biology, cybersecurity, a * **Cybersecurity:** Finding vulnerabilities in source code is allowed. High-risk dual-use cybersecurity activities are not. If the cybersecurity classifier blocks your organization’s legitimate security work, apply to the [Cyber Verification Program](https://support.claude.com/en/articles/14604842). * **Reasoning extraction:** Requests that push the model to reproduce its internal reasoning in the response text might be declined with the `reasoning_extraction` category. If your prompts ask the model to write its reasoning in the response, remove those instructions, set `display: "summarized"`, and read the summarized reasoning from the thinking blocks instead; see [Prompts written for thinking disabled](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#prompts-written-for-thinking-disabled). You can still ask for a short explanation of the answer or a summary of the actions taken; see [Keep reasoning in thinking blocks](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#keep-reasoning-in-thinking-blocks). -A classifier decline arrives as a normal response with `stop_reason: "refusal"` and a `stop_details` object naming the category. You can have the request retried automatically on a fallback model, except for `reasoning_extraction` declines, which server-side fallback returns to you instead of retrying; see [Refusals and fallback](https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5#refusals-and-fallback). +A classifier decline arrives as a normal response with `stop_reason: "refusal"` and a `stop_details` object naming the category. You can have the request retried automatically on a fallback model, except for `reasoning_extraction` declines, which server-side fallback returns to you instead of retrying; see [Refusals and fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback). ## User-facing progress updates Between tool calls, Claude Opus 5.5 writes short user-facing progress updates: what it just found and what it’s doing next. Four levers control what your users see. -First, check that your client receives them. On Claude Opus 5.5 these notes come back as [progress-update `thinking` blocks](https://platform.claude.com/docs/en/build-with-claude/thinking#progress-updates) rather than `text` blocks, and their text is empty at the default `thinking.display`. As a result, a client that renders only `text` blocks can look silent during a long agentic turn. Set `display: "updates"` (beta, `thinking-display-updates-2026-08-18` header) to receive a short summary of each note; see [Text between tool calls is returned in thinking blocks](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#text-between-tool-calls) for how to render them. +First, check that your client receives them. On Claude Opus 5.5 these notes come back as [progress-update `thinking` blocks](https://platform.claude.com/docs/en/build-with-claude/thinking#progress-updates) rather than `text` blocks, and their text is empty at the default `thinking.display`. As a result, a client that renders only `text` blocks can look silent during a long agentic turn. Set `display: "updates"` (beta, `thinking-display-updates-2026-08-18` header) to receive a short summary of each note; see [Progress updates between tool calls](https://platform.claude.com/docs/en/build-with-claude/thinking#progress-updates) for how to render them. Second, if the model might need to hand the user something verbatim partway through a long turn, such as a code snippet, give it a simple tool for sending the user a message and tell it to reserve the tool for that content. Declare the tool in `tools` from the first request of the session: adding it to `tools` later edits the conversation’s prefix and invalidates earlier thinking blocks (see [tool changes in Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#tool-changes)). diff --git a/content/en/build-with-claude/search-results.md b/content/en/build-with-claude/search-results.md index 713626282a..3a80c02789 100644 --- a/content/en/build-with-claude/search-results.md +++ b/content/en/build-with-claude/search-results.md @@ -86,10 +86,10 @@ Search results use the following structure: ### Optional fields -| Field | Type | Description | -| --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `citations` | object | Citation configuration with `enabled` Boolean field. Citations are disabled by default; every example on this page sets `"enabled": true` explicitly. All search results in a request must use the same setting (see [Citation control](https://platform.claude.com/docs/en/build-with-claude/search-results#citation-control)) | -| `cache_control` | object | Cache control settings (for example, `{"type": "ephemeral"}`) | +| Field | Type | Description | +| --------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `citations` | object | Citation configuration with an `enabled` boolean field. Citations are disabled by default; every example on this page sets `"enabled": true` explicitly. All search results in a request must use the same setting (see [Citation control](https://platform.claude.com/docs/en/build-with-claude/search-results#citation-control)) | +| `cache_control` | object | Cache control settings (for example, `{"type": "ephemeral"}`) | Each item in the `content` array must be a text block with: diff --git a/content/en/build-with-claude/structured-outputs.md b/content/en/build-with-claude/structured-outputs.md index 7d41a7ecd0..b41bc6cde8 100644 --- a/content/en/build-with-claude/structured-outputs.md +++ b/content/en/build-with-claude/structured-outputs.md @@ -2623,7 +2623,7 @@ Structured outputs support standard JSON Schema with some limitations. Both JSON * All basic types: object, array, string, integer, number, boolean, null - * `enum` (strings, numbers, Booleans, or nulls only, no complex types). For a capitalization caveat, see [Invalid outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#invalid-outputs). + * `enum` (strings, numbers, booleans, or nulls only, no complex types). For a capitalization caveat, see [Invalid outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#invalid-outputs). * `const` * `anyOf` and `allOf` (with limitations: `allOf` with `$ref` not supported) * `$ref`, `$def`, and `definitions` (external `$ref` not supported) diff --git a/content/en/build-with-claude/thinking-troubleshooting.md b/content/en/build-with-claude/thinking-troubleshooting.md index f83af85253..9493c2422f 100644 --- a/content/en/build-with-claude/thinking-troubleshooting.md +++ b/content/en/build-with-claude/thinking-troubleshooting.md @@ -152,7 +152,7 @@ Echo the assistant turn back verbatim, thinking blocks included. See [Preserving ## A 400 error says a thinking block signature is invalid -A request to Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, or Claude Haiku 5.5 that replays earlier thinking blocks fails with a 400 `invalid_request_error` whose message reads: +A request that replays earlier thinking blocks to a Claude 5.1 or later model can fail with a 400 `invalid_request_error` whose message reads: ```text wrap messages.{i}.content.{j}: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". @@ -164,9 +164,21 @@ The message usually ends with a sentence naming what changed: the `system` promp If the message stops after ``Invalid `signature` in `thinking` block``, the signature itself didn’t verify: it was truncated, altered, or sent back empty, and `prefix_mismatch_behavior` doesn’t apply. Edited thinking text returns a different error. See [A 400 error says thinking blocks cannot be modified](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#error-thinking-blocks-modified). -On Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5, the API accepts a replayed thinking block only while the `system` prompt, `tools`, and messages that preceded it are unchanged. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). The error means something earlier in the conversation changed between requests: an edited, reordered, or removed turn, a per-turn reminder that was injected and later removed, a rebuilt `system` prompt or `tools` array, or client-side compaction that kept recent turns and their thinking verbatim. The check is enforced for new accounts created on or after August 31, 2026, and for any request that sets `thinking.block_binding.prefix_mismatch_behavior`. Server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) and [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) never trigger it. +These models accept a replayed thinking block only while the `system` prompt, `tools`, and messages that preceded it are unchanged. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). The error means something earlier in the conversation changed between requests. Common causes include the following: -To fix it, keep the history append-only: pass earlier turns back exactly as sent and received, add instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) instead of editing `system` or `tools`, and let server-side [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) or [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) do any trimming. Retrying the same request body doesn’t clear the error. To continue this request without the invalidated reasoning, send the `thinking-binding-controls-2026-08-01` beta header and set `thinking.block_binding.prefix_mismatch_behavior` to `"drop_block"`. Alternatively, strip every `thinking` and `redacted_thinking` block from the history (at minimum the named block and every one after it, in that turn and all later turns), leave each turn’s other blocks in place, and retry once. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With `between_tools` on Claude Sonnet 5.5, or `thinking: {"type": "disabled"}` on Claude Haiku 5.5, keep the history append-only, or strip the thinking blocks from the edited turn on. +* An edited, reordered, or removed turn +* A per-turn reminder that was injected and later removed +* A rebuilt `system` prompt or `tools` array +* Client-side compaction that kept recent turns and their thinking verbatim + +Server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) and [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) never trigger this error. For requests that don’t set `thinking.block_binding.prefix_mismatch_behavior`, see [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement). + +Retrying the same request body doesn’t clear the error. Neither does fixing your code, because the stored history holds the edit. To continue the conversation, do one of the following: + +* Send the `thinking-binding-controls-2026-08-01` beta header and set `thinking.block_binding.prefix_mismatch_behavior` to `"drop_block"` on the retry and every later request. The request then succeeds without the invalidated reasoning. On Claude Sonnet 5.5 and Claude Haiku 5.5, `block_binding` works only with `thinking: {"type": "adaptive"}`. With any other thinking setting on those models, you can’t send `block_binding`, so use the next option. +* Strip the block the error names and every later `thinking` and `redacted_thinking` block, leaving each turn’s other blocks in place, then retry once. + +Then fix the cause so that new conversations don’t hit the error. Keep the history append-only: pass earlier turns back exactly as sent and received, add instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) instead of editing `system` or `tools`, and let server-side [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) or [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) do any trimming. A block from a model the target model can’t read never produces this error: the API drops it and, under the beta header, reports it in `input_transformations`. diff --git a/content/en/build-with-claude/thinking.md b/content/en/build-with-claude/thinking.md index 8884795355..78a1f1df54 100644 --- a/content/en/build-with-claude/thinking.md +++ b/content/en/build-with-claude/thinking.md @@ -37,7 +37,7 @@ featureMetadata: **API support**: Usage differs by product. -* **Messages API**: On by default. Turn it off with `thinking: {"type": "disabled"}`. Where it is off by default, set `thinking` to turn it on. +* **Messages API**: On by default. `thinking: {"type": "disabled"}` turns it off on models that accept that value. Where it is off by default, set `thinking` to turn it on. * **Managed Agents**: Always on. Managed Agents sets the thinking configuration; the agent definition has no `thinking` field. A model that answers in a single pass has to get everything right on the first try: no scratch work, no checking, no changing approach halfway through. For a proof, a tricky bug, or a long agentic task, the first approach is often not the best one. @@ -102,7 +102,7 @@ On most models, thinking is on by default or needs only one parameter. The follo In the table, “at `high` effort or below” means the request works at `low`, `medium`, and `high` effort and returns a 400 error at `xhigh` or `max`. -On Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5.5, Claude Sonnet 5, Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Mythos Preview, and Claude Haiku 5.5, thinking is already on and needs no configuration. `display` defaults to `"omitted"` on these models, so the thinking text is hidden until you opt in. Opt in with `thinking: {"type": "adaptive", "display": "summarized"}`, as the following examples do. +On Claude 5 and later models and Claude Mythos Preview, thinking is already on and needs no configuration. `display` defaults to `"omitted"` on these models, so the thinking text is hidden until you opt in. Opt in with `thinking: {"type": "adaptive", "display": "summarized"}`, as the following examples do. On Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, and Claude Sonnet 4.6, thinking is off until you set `thinking: {type: "adaptive"}`, which lets Claude determine when and how deeply to think based on the request. The same request, with the [model string](https://platform.claude.com/docs/en/models/overview) swapped, turns it on there. The following examples set `display: "summarized"` so the thinking text is visible, and use a large `max_tokens`: @@ -1099,25 +1099,25 @@ Preservation brings two benefits: The tradeoff is context usage: long conversations consume more context space on keep-all models, because retained thinking blocks count as input like any other conversation history (see [Thinking and the context window](https://platform.claude.com/docs/en/build-with-claude/thinking#thinking-and-the-context-window)). The behavior is automatic in both regimes. No code changes or beta headers are required, and you should keep passing complete, unmodified thinking blocks back as described in [Preserving thinking blocks](https://platform.claude.com/docs/en/build-with-claude/thinking#preserving-thinking-blocks). To override the default in either direction, use [thinking block clearing](https://platform.claude.com/docs/en/build-with-claude/context-editing#thinking-block-clearing). -**Switching models mid-conversation.** Keep passing thinking blocks back unchanged when you switch models, for example after a [classifier refusal fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback). A thinking block is readable only by the model that produced it and certain other models, and the API ignores or drops the blocks the target model can’t read. On Claude Fable 5.1 and Claude Mythos 5.1 the direction matters: they read earlier models’ thinking blocks, and only the two of them read each other’s, so switching to them keeps the conversation’s reasoning and switching from them to any other model drops it (see [how dropped blocks are billed and reported](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models)). Claude Opus 5.5 reads Claude Opus 5’s thinking blocks and those of earlier Opus, Sonnet, and Haiku models, and, on the Claude API and Claude Models on Google Cloud (Google managed), of Claude Haiku 5.5, but not those of the Claude Fable and Claude Mythos models; on the Claude API, Claude Fable 5.1 and Claude Mythos 5.1 read Claude Opus 5.5’s blocks. A switch from Claude Opus 5.5 up to Claude Fable 5.1 on the Claude API keeps the earlier turns’ reasoning; a switch from Claude Fable 5.1 to Claude Opus 5.5 drops it. Claude Sonnet 5.5 reads thinking blocks from Claude Sonnet 5, Claude Opus 4.8, Claude Haiku 4.5, and earlier models, and, on the Claude API and Claude Models on Google Cloud (Google managed), from Claude Haiku 5.5, but not from Claude Opus 5, Claude Opus 5.5, or any Claude Fable or Claude Mythos model. On those two platforms, Claude Opus 5.5 reads Claude Sonnet 5.5’s blocks and no other model does: a switch from Claude Sonnet 5.5 up to Claude Opus 5.5 there keeps the earlier turns’ reasoning, and any other switch away from Claude Sonnet 5.5 drops it. Claude Haiku 5.5 reads thinking blocks from Claude Sonnet 5, Claude Opus 4.8, Claude Haiku 4.5, and earlier models, but not from Claude Opus 5, Claude Opus 5.5, Claude Sonnet 5.5, or any Claude Fable or Claude Mythos model. On the Claude API and Claude Models on Google Cloud (Google managed), Claude Opus 5.5 and Claude Sonnet 5.5 read Claude Haiku 5.5’s blocks and no other model does. Strip prior `thinking` and `redacted_thinking` blocks yourself only to save input tokens on models that ignore rather than drop them, and never when redeeming a [fallback credit](https://platform.claude.com/docs/en/build-with-claude/fallback-credit), which requires the body unchanged. +**Switching models mid-conversation.** Keep passing thinking blocks back unchanged when you switch models, for example after a [classifier refusal fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback). A thinking block is readable only by the model that produced it and certain other models, and the API ignores or drops the blocks the target model can’t read. On Claude Fable 5.1 and Claude Mythos 5.1 the direction matters: they read earlier models’ thinking blocks, and only the two of them read each other’s, so switching to them keeps the conversation’s reasoning and switching from them to any other model drops it (see [how dropped blocks are billed and reported](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models)). Claude Opus 5.5 reads Claude Opus 5’s thinking blocks and those of earlier Opus, Sonnet, and Haiku models, and, on the Claude API and Claude Models on Google Cloud (Google managed), of Claude Sonnet 5.5 and Claude Haiku 5.5, but not those of the Claude Fable and Claude Mythos models; on the Claude API, Claude Fable 5.1 and Claude Mythos 5.1 read Claude Opus 5.5’s blocks. A switch from Claude Opus 5.5 up to Claude Fable 5.1 on the Claude API keeps the earlier turns’ reasoning; a switch from Claude Fable 5.1 to Claude Opus 5.5 drops it. Claude Sonnet 5.5 reads thinking blocks from Claude Sonnet 5, Claude Opus 4.8, Claude Haiku 4.5, and earlier models, and, on the Claude API and Claude Models on Google Cloud (Google managed), from Claude Haiku 5.5, but not from Claude Opus 5, Claude Opus 5.5, or any Claude Fable or Claude Mythos model. On those two platforms, Claude Opus 5.5 reads Claude Sonnet 5.5’s blocks and no other model does: a switch from Claude Sonnet 5.5 up to Claude Opus 5.5 there keeps the earlier turns’ reasoning, and any other switch away from Claude Sonnet 5.5 drops it. Claude Haiku 5.5 reads thinking blocks from Claude Sonnet 5, Claude Opus 4.8, Claude Haiku 4.5, and earlier models, but not from Claude Opus 5, Claude Opus 5.5, Claude Sonnet 5.5, or any Claude Fable or Claude Mythos model. On the Claude API and Claude Models on Google Cloud (Google managed), Claude Opus 5.5 and Claude Sonnet 5.5 read Claude Haiku 5.5’s blocks and no other model does. Strip prior `thinking` and `redacted_thinking` blocks yourself only to save input tokens on models that ignore rather than drop them, and never when redeeming a [fallback credit](https://platform.claude.com/docs/en/build-with-claude/fallback-credit), which requires the body unchanged. ## Preserved thinking [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) determines whether the model can use a thinking block that you send back from an earlier turn. Starting with Claude Fable 5.1, the API checks the `signature` of every `thinking` or `redacted_thinking` block in a request for two things: * **The model that produced it.** Each model reads its own thinking blocks and those of a fixed set of other models. Claude Fable 5.1 reads blocks from Claude Opus 5 and, on the Claude API, from Claude Opus 5.5; neither Claude Opus 5 nor Claude Opus 5.5 reads blocks from Claude Fable 5.1. The API drops a block the current model can’t read, without an error and without billing it. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). -* **Everything sent before it.** A block stays valid only while the top-level `system` prompt, the `tools`, and the messages before it are unchanged. If any of them changes, that block and every later thinking block are invalid, and the API rejects the request with a 400 error or drops the invalid blocks, whichever you choose. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). +* **Everything sent before it.** A block stays valid only while the top-level `system` prompt, the `tools`, and the messages before it are unchanged. If any of them changes, that block and every later thinking block fail the prefix check. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check). -Thinking blocks from Claude Sonnet 5.5 and Claude Haiku 5.5 are also tied to the account that produced them. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking) for where the API enforces this. +Thinking blocks from Claude Sonnet 5.5 and Claude Haiku 5.5 are also tied to the account that produced them. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking) for where this applies. -The model check applies to every account. The API enforces the prefix check by default for accounts created on or after August 31, 2026, 00:00 UTC. On older accounts it enforces the check only on requests that set `thinking.block_binding.prefix_mismatch_behavior`. Make your integration append-only regardless of your account’s age, so the same code works on every account, including newer accounts enforced by default. +The prefix check runs on Claude 5.1 and later models. Make your integration append-only so that the thinking blocks you send back pass it. [What the API does with an invalid block](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#mismatch-behavior) covers what happens when one fails. To keep thinking valid, send every assistant turn back exactly as you received it and add new messages only at the end of `messages`. If your code builds the `messages` array itself, the Preserved thinking page covers: * [What counts as an edit](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#what-counts-as-an-edit), and [how to check whether your code makes an edit](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#how-to-tell-whether-your-integration-is-impacted). * The [API feature that replaces each common edit](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#replace-prefix-edits): mid-conversation system messages for new instructions and per-turn reminders, `tool_addition` and `tool_removal` blocks for tool changes, per-message `output_config` for effort changes, and server-side compaction and context editing for trimming. * [Client-side compaction](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#custom-compaction-on-the-client): which patterns keep thinking valid and which don’t. -* The [`thinking-binding-controls-2026-08-01` beta header](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#preserved-thinking-controls). It adds a `block_binding.prefix_mismatch_behavior` field (`"error"` or `"drop_block"`) to the thinking configuration and an `input_transformations` array to every response. The array lists each thinking block that the API dropped, or that failed the prefix check and was let through. +* The [`thinking-binding-controls-2026-08-01` beta header](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#preserved-thinking-controls). It adds a `block_binding.prefix_mismatch_behavior` field (`"error"` or `"drop_block"`) to the thinking configuration and an `input_transformations` array to every response. The array lists each thinking block that the API dropped or that failed the prefix check and reached the model. ## Thinking and prompt caching @@ -1290,7 +1290,7 @@ Thinking is available on every model and eligible for zero data retention and HI #### [Messages API](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) * Availability: On by default -* Usage: Turn it off with `thinking: {"type": "disabled"}`. Where it is off by default, set `thinking` to turn it on. +* Usage: `thinking: {"type": "disabled"}` turns it off on models that accept that value. Where it is off by default, set `thinking` to turn it on. | Status | Cloud platforms | | --------- | ----------------------- | diff --git a/content/en/build-with-claude/vision.md b/content/en/build-with-claude/vision.md index 592c10090f..9b40092b44 100644 --- a/content/en/build-with-claude/vision.md +++ b/content/en/build-with-claude/vision.md @@ -1274,7 +1274,7 @@ The maximum number of images for each message or request is: The maximum dimensions for each image are 8000x8000 px. -If a single API request contains more than 20 images, a stricter per-image dimension limit applies to every image in that request. All `image` blocks in the request count toward this threshold, including images from earlier conversation turns that you resend and images nested inside `tool_result` content (for example, screenshots returned to the computer use tool). On Amazon Bedrock and Claude Models on Google Cloud (Google managed), document blocks such as PDFs also count toward this threshold. Images exceeding the stricter limit are rejected with an `invalid_request_error` whose message references “many-image requests” and states the current limit in pixels. To stay under the limit on all platforms, either resize each image so that neither dimension exceeds 2000 px, or keep the request to 20 or fewer image and document blocks. +If a single API request contains more than 20 images, a stricter per-image dimension limit applies to every image in that request. All `image` blocks in the request count toward this threshold, including images from earlier conversation turns that you resend and images nested inside `tool_result` content (for example, screenshots returned to the computer use tool). On Amazon Bedrock and Claude Models on Google Cloud (Google managed), document blocks such as PDFs also count toward this threshold. Images exceeding the stricter limit are rejected with an `invalid_request_error` whose message references “many-image requests” and states the current limit in pixels. To stay under the limit on all platforms, either resize each image so that neither dimension exceeds 3,000 px, or keep the request to 20 or fewer image and document blocks. The maximum size per image is: diff --git a/content/en/cli-sdks-libraries/cli/using.md b/content/en/cli-sdks-libraries/cli/using.md index a6732b18d3..3c82988a0b 100644 --- a/content/en/cli-sdks-libraries/cli/using.md +++ b/content/en/cli-sdks-libraries/cli/using.md @@ -51,8 +51,6 @@ ant models retrieve --model-id claude-opus-5-5 --format yaml ```yaml Output type: model id: claude-opus-5-5 -display_name: Claude Opus 5.5 -created_at: "2026-09-22T00:00:00Z" ... ``` diff --git a/content/en/docs/claude-code/agent-sdk/claude-code-features.md b/content/en/docs/claude-code/agent-sdk/claude-code-features.md index 17d82dd5bb..08a07bf22d 100644 --- a/content/en/docs/claude-code/agent-sdk/claude-code-features.md +++ b/content/en/docs/claude-code/agent-sdk/claude-code-features.md @@ -75,11 +75,11 @@ Each source loads settings from a specific location, where `` is the workin | :- | :- | :- | | `"project"` | Project `settings.json` and hooks; project CLAUDE.md and `.claude/rules/*.md`; project skills, commands, and subagents | `/.claude/` for `settings.json` and hooks; `` and every parent directory for CLAUDE.md and rules; `` and every parent directory up to the repository root for skills, commands, and subagents, plus the `.claude/skills/`, `.claude/commands/`, and `.claude/agents/` folders of each directory you pass through the `additionalDirectories` or `add_dirs` option, which the SDK passes to Claude Code as [`--add-dir`](https://code.claude.com/docs/en/permissions#additional-directories-grant-file-access-not-configuration) | | `"user"` | User `settings.json`; user CLAUDE.md and `~/.claude/rules/*.md`; user skills, commands, and subagents | `~/.claude/` for `settings.json`, CLAUDE.md, and rules; `~/.claude/skills/`, `~/.claude/commands/`, and `~/.claude/agents/` for skills, commands, and subagents | -| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `/.claude/` for `settings.local.json`; `` and every parent directory for CLAUDE.local.md | +| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `/.claude/` for `settings.local.json`, which [can also load from the repository's root](https://code.claude.com/docs/en/settings.md#where-claude-code-keeps-the-local-file-in-a-git-repository) when `` is inside a git repository; `` and every parent directory for CLAUDE.local.md | Omitting `settingSources` is equivalent to `["user", "project", "local"]`. -The `cwd` option determines where the SDK looks for project-level inputs. Project `settings.json` and hooks load only from `/.claude/` with no parent-directory fallback. +The `cwd` option determines where the SDK looks for project-level inputs. Project `settings.json` loads from `/.claude/` with no parent-directory fallback. ### What settingSources does not control diff --git a/content/en/docs/claude-code/agent-sdk/python.md b/content/en/docs/claude-code/agent-sdk/python.md index a00616c9d1..6d7389a5cb 100644 --- a/content/en/docs/claude-code/agent-sdk/python.md +++ b/content/en/docs/claude-code/agent-sdk/python.md @@ -3322,7 +3322,7 @@ A `disallowed_tools` entry or a deny rule that still names either name is ignore ### TaskStop -**Tool name:** `TaskStop`. The previous names `KillShell` and `KillBash` are still accepted as aliases. +**Tool name:** `TaskStop`. You can still use the previous names `KillShell` and `KillBash` in permission rules, in hook matchers, and in the `tools`, `allowed_tools`, and `disallowed_tools` options. **Input:** diff --git a/content/en/docs/claude-code/agent-sdk/session-storage.md b/content/en/docs/claude-code/agent-sdk/session-storage.md index dcc7ed28c1..efd17b46e9 100644 --- a/content/en/docs/claude-code/agent-sdk/session-storage.md +++ b/content/en/docs/claude-code/agent-sdk/session-storage.md @@ -263,9 +263,13 @@ The Claude Code subprocess always writes each batch of transcript entries to loc * **Fresh session, or a resume when the store has nothing for the session**: the local transcript under your config directory outlives the run, and the store receives a copy. * **Run [resumed from the store](#resume-from-the-store)**: the local copy is deleted at run end, so the store holds the only durable copy. -If you don't want a fresh session to leave a transcript on local disk, set `CLAUDE_CONFIG_DIR` to a temp directory in `options.env`. A run resumed from the store already deletes its local copy, so it needs no such setting. In TypeScript, spread `process.env` into `env` as well, since the [`env` option](https://code.claude.com/docs/en/agent-sdk/typescript#options) replaces the subprocess environment. +If you don't want a fresh session to leave a transcript on local disk, set `CLAUDE_CONFIG_DIR` to a new, private temp directory in `options.env`. A run resumed from the store already deletes its local copy, so it needs no such setting. In TypeScript, spread `process.env` into `env` as well, since the [`env` option](https://code.claude.com/docs/en/agent-sdk/typescript#options) replaces the subprocess environment. -If your app signs in through files in the config directory, such as OAuth credentials or an `apiKeyHelper` in your user `settings.json`, copy those files into the temp directory first, or set `ANTHROPIC_API_KEY` in `env` instead. Otherwise the run fails with `Not logged in`. +If you set `CLAUDE_CONFIG_DIR` to a temp directory and sign in with a [claude.ai login](https://code.claude.com/docs/en/authentication.md#credential-management) or an [`apiKeyHelper`](https://code.claude.com/docs/en/settings-reference#apikeyhelper) in your user `settings.json`, the run fails with `Not logged in`. To authenticate the run, set a long-lived token, set an API key, or copy your config files: + +* **Long-lived token**: if you run the agent yourself under your own Claude subscription, set `CLAUDE_CODE_OAUTH_TOKEN` in `env` to a token from [`claude setup-token`](https://code.claude.com/docs/en/authentication#generate-a-long-lived-token). You can only make model requests with that token, so your [claude.ai connectors](https://code.claude.com/docs/en/mcp.md#use-mcp-servers-from-claude-ai) aren't available in that run. +* **API key**: set `ANTHROPIC_API_KEY` in `env`. +* **Config files**: if you sign in through files in your usual config directory, such as OAuth credentials or an `apiKeyHelper` in your user `settings.json`, copy them into the temp directory. Two options conflict with the mirror, and the SDK throws at startup if you combine either with a store: diff --git a/content/en/docs/claude-code/agent-sdk/typescript.md b/content/en/docs/claude-code/agent-sdk/typescript.md index 9158ace68b..a937c43104 100644 --- a/content/en/docs/claude-code/agent-sdk/typescript.md +++ b/content/en/docs/claude-code/agent-sdk/typescript.md @@ -730,13 +730,14 @@ Changes [settings](https://code.claude.com/docs/en/settings.md) on a running ses Only some keys take effect mid-session: -* **Applied on the next turn**: `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Switching `agent` also applies that agent's model override and hooks on the next turn. Its system prompt applies on the next turn, or, in a session that [reuses a recorded system prompt](https://code.claude.com/docs/en/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session), once the session is compacted. +* **Applied on the next turn**: `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Switching `agent` also applies that agent's model override and hooks on the next turn. Its system prompt applies on the next turn. In a session that [reuses a recorded system prompt](https://code.claude.com/docs/en/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session), it applies once the session is compacted. * **Applied during the current turn**: `model`. If you switch `model` while Claude is working on a turn, the response Claude is already generating finishes on the old model, and the rest of the turn, starting with the next call Claude Code makes to the model, uses the new one. Subagents keep their own model. Before v2.1.212, a mid-turn switch waited for the next turn. +* **Applied by the next turn**: `effortLevel`. The level applies from Claude Code's next call to the model. If [changing effort keeps the prompt cache](https://code.claude.com/docs/en/prompt-caching.md#changing-effort-level), as on Claude Opus 5.5 with an API key or a Claude subscription, expect it on the next turn instead. * **No effect mid-session**: the system prompt options. These are resolved once at startup, so the running session keeps the original value even though the call succeeds. To change them, start a new session. `effortLevel` accepts an [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) name. It also accepts `"ultracode"`, which requests `xhigh` effort with [ultracode](https://code.claude.com/docs/en/workflows.md#let-claude-decide-with-ultracode) on. `applyFlagSettings()` declares `effortLevel` without that value, so in TypeScript pass `{ ultracode: true, effortLevel: "xhigh" }` for the same result, or the [`ultracode`](https://code.claude.com/docs/en/settings-reference#ultracode) key alone to turn ultracode on at the session's current effort level. The `ultracode` value requires Claude Code v2.1.203 or later and is accepted only by `applyFlagSettings()`, not by the `effortLevel` key in a settings file. Before v2.1.284, the `ultracode` key alone also set the level to `xhigh`. -The values are written to the flag-settings layer, merged over what the inline `settings` option of `query()` set at startup. This is the same tier the [on-page precedence section](#settings-precedence) calls programmatic options. +The values are written to the flag-settings layer, merged over what the inline `settings` option of `query()` set at startup. This is the same tier the [on-page precedence section](#settings-precedence) calls programmatic options. `effortLevel` is an exception: the level you pass replaces one from `--effort` or settings, managed settings included, as the [effort resolution order](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) shows. Successive calls shallow-merge top-level keys. A second call with `{ permissions: {...} }` replaces the entire `permissions` object from the prior call rather than deep-merging into it. @@ -1327,7 +1328,7 @@ When multiple sources are loaded, settings are merged with this precedence (high 2. Project settings (`.claude/settings.json`) 3. User settings (`~/.claude/settings.json`) -Programmatic options such as `agents`, `allowedTools`, and `settings` override user, project, and local filesystem settings. Managed policy settings take precedence over programmatic options. +Programmatic options such as `agents`, `allowedTools`, and `settings` override user, project, and local filesystem settings. If a managed policy setting and a programmatic option set the same key, the managed value applies, with exceptions such as an `effortLevel` passed to [`applyFlagSettings()`](#applyflagsettings). ### `PermissionMode` @@ -2095,7 +2096,7 @@ type SDKSystemMessage = { `terminal_slash_commands` names the entries in `slash_commands` whose interface is bound to the local terminal, such as `exit`. You can send them like any other entry in `slash_commands`; the field exists so a remote or mobile client can hide them from its command menus. The field is present only when non-empty, and requires Agent SDK v0.3.229 or later. * `source` on each `mcp_servers` entry: where the server's definition came from, with the same values as [`McpServerStatus`](#mcpserverstatus)'s `source`. Requires Agent SDK v0.3.274 or later. -* `effort`: the [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) Claude Code sends on the session's next request, or `null` when it sends none. Claude Code sets the field only on the init message it sends to [Remote Control](https://code.claude.com/docs/en/remote-control.md) clients, and omits it from the init message your application reads. Requires Agent SDK v0.3.234 or later. +* `effort`: the [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) set for the session's next turn, or `null` when Claude Code sends no level. Claude Code sets the field only on the init message it sends to [Remote Control](https://code.claude.com/docs/en/remote-control.md) clients, and omits it from the init message your application reads. Requires Agent SDK v0.3.234 or later. The `capabilities` array names the protocol behaviors this CLI implements, so you can feature-detect instead of comparing `claude_code_version` strings. It is an open set: ignore values you don't recognize, and check for the specific capability whose behavior you rely on. The field requires Claude Code v2.1.205 or later and is absent on earlier CLIs. diff --git a/content/en/docs/claude-code/artifacts.md b/content/en/docs/claude-code/artifacts.md index aaae254f18..28cc8a9fff 100644 --- a/content/en/docs/claude-code/artifacts.md +++ b/content/en/docs/claude-code/artifacts.md @@ -369,7 +369,7 @@ Artifacts require every condition below. When one is not met, Claude writes a lo | Requirement | Available when | | :- | :- | | Plan | Pro, Max, Team, or Enterprise. On Pro and Max plans, artifacts are private to you until you share them, and no admin management applies. On Team and Enterprise plans, artifacts are on by default, and an Owner can [turn them off for the organization](#manage-artifacts-for-your-organization) in claude.ai admin settings. | -| Authentication | The session is backed by a claude.ai account: sign in with `/login` in the CLI or desktop app. Claude Tag sessions are signed in through the agent's identity, so no step is needed there. Sessions using an API key, [gateway token](https://code.claude.com/docs/en/llm-gateway), or cloud-provider credential cannot publish. | +| Authentication | The session is backed by a claude.ai account: sign in with `/login` in the CLI or desktop app. Claude Tag sessions need no sign-in step. Sessions using an API key, [gateway token](https://code.claude.com/docs/en/llm-gateway), or cloud-provider credential cannot publish. | | Model provider | Anthropic API. Not available on [Amazon Bedrock](https://code.claude.com/docs/en/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/en/google-vertex-ai.md), or [Microsoft Foundry](https://code.claude.com/docs/en/microsoft-foundry.md). | | Organization policy | Customer-managed encryption keys (CMEK), HIPAA, and [Zero Data Retention](https://code.claude.com/docs/en/zero-data-retention.md) are not enabled for the organization. | | Surface | Claude Code CLI, or the Claude desktop app version 1.13576.0 or later. [Claude Tag](https://claude.com/docs/claude-tag/overview) sessions can also publish artifacts when both Claude Tag and artifacts are enabled for the organization. Sessions served by [`claude remote-control`](https://code.claude.com/docs/en/remote-control) can publish artifacts when you started the session yourself. Requires Claude Code v2.1.281 or later. Off by default in the [Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview.md), the GitHub Action, and MCP-server contexts, when you run Claude Code with [`-p`](https://code.claude.com/docs/en/headless) from your own terminal or scripts, and when [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/en/env-vars) is set. | diff --git a/content/en/docs/claude-code/changelog.md b/content/en/docs/claude-code/changelog.md index 53f65e149f..96ba25471f 100644 --- a/content/en/docs/claude-code/changelog.md +++ b/content/en/docs/claude-code/changelog.md @@ -10,6 +10,141 @@ This page is generated from the [CHANGELOG.md on GitHub](https://github.com/anth Run `claude --version` to check your installed version. +**2.1.314** + +October 30, 2026 + +**Added** + +* Added `permissions.blockWritesOutsideWorkingDirectories`: Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode +* Added an optional `groups` list to Claude apps gateway upstreams: only developers in the listed IdP groups are sent to that upstream, on failover too +* Added `guardrail_trace` to Claude apps gateway Bedrock upstreams, to log which Amazon Bedrock guardrail filter fired on a request, without the matched text +* Added idle compaction to VS Code and Claude Desktop's Code tab: a 200K+ token conversation left idle is summarized, and the summary is used on your next message if the prompt cache has expired +* \[Cloud sessions] Added an Include completed button to the Scheduled tasks page when finished one-off tasks are the only ones hidden, so you can show them without opening the Sort menu +* \[Claude Tag] Added a dismissible link to the Claude Tag API docs on the Bundles and Channels tabs in admin settings, for Enterprise organizations with Slack connected + +**Changed** + +* Updated the `/claude-api` skill: its Datadog setup for API tracing now sends the `dd-llmobs-enabled: true` header, as the Console does, and its `ant` install instructions drop the outdated macOS `xattr` step +* Updated the bundled dataviz skill to advise printing y-axis tick labels in full under 10,000, and horizontal ones in full under a million where they fit +* Updated the bundled dataviz skill to answer donut and pie chart requests with ranked bars or a segmented bar that prints its values +* Changed Claude's file tools to ask before editing the local copy of your organization's server-managed settings, as they do for your settings files +* Changed `/ultrareview` to check workspace trust before it runs git, as `claude ultrareview` does +* Changed the Bash tool's shell to clear any inherited `which` alias or function and to stop passing exported `which`/`unsetenv` functions to commands, so `which` is the system command or zsh builtin +* Changed `/permissions` Recently blocked to refuse approving a call you can't read in full, including one the terminal is too short to show +* Changed auto mode in Cowork cloud sessions: a hook's allow of an MCP tool call now counts as no answer, so the classifier or a permission prompt decides +* Changed hook `if` conditions such as `Monitor(tail *)` to match the Monitor tool's shell commands as `Bash(tail *)` matches Bash's +* Changed the `claude-api` skill to ask to read a Managed Agents workflow run's workflow before changing the agent to improve that run +* Changed flagged requests to retry on another model, not end in a refusal, when `ANTHROPIC_DEFAULT_OPUS_MODEL`, `availableModels` or `deniedModels` leaves only an older Opus model, or none +* Changed idle compaction to also run for subscribers with telemetry turned off, and on Bedrock, Vertex, Foundry and LLM gateways once the one-hour prompt cache is on +* Changed `FORCE_HYPERLINK=false` (also `no` and `off`) to turn hyperlinks off instead of on +* macOS: Changed `git grep` in most commands that Claude runs to use the C locale, to avoid a reported memory leak in macOS's regex library on files that aren't valid UTF-8 +* \[VSCode] Changed `CLAUDE_CODE_DISABLE_CFC_PROMPT` to also stop the extension adding the Claude in Chrome instructions to a session's messages; the browser tools stay available +* \[Cloud sessions] Changed cloud sessions from the web, desktop and mobile apps to start even when a setup script exits with an error, instead of failing to start + +**16 improvements** + +* Improved memory use in long headless and SDK turns that run many subagents: the parent session no longer keeps each subagent's tool results until the turn ends +* Improved prompt history: Ctrl+R now matches text inside collapsed `[Pasted text]` pills +* Improved the `/design-sync` upload prompt to show the folder, the project and the files it will upload or delete +* Improved `/permissions` review tab, now called Recently blocked: the footer says what Esc will do with marked rows +* Improved auto mode's blocked calls: messages name the command, say Claude may retry and auto mode checks again, and point to `/permissions` to review +* Improved permission prompts: a long reason takes fewer rows, so it pushes the command being approved off the screen on fewer terminals +* Improved the cloud session error shown while a request refused for your claude.ai login is still being retried: it now also suggests `claude auth login` +* Improved the behavior of stored claude.ai, Team, and Enterprise logins when MDM and remote settings differ on base URL or `apiKeyHelper` +* Improved `/config` in agent view to say how to stop agent view opening by default +* Improved session auto-titles: a session that starts with a skill or a prompt-based command such as `/security-review` now gets a title from it instead of staying untitled +* Improved `--resume` speed and memory use on damaged transcripts +* Improved `/context` speed in sessions with ten thousand or more MCP tools +* Self-hosted runner: Improved the error shown when a session's branch isn't on the git remote: it now covers a never-pushed branch, says how to fix each case, and no longer suggests retrying +* \[Cloud sessions] Improved scheduled tasks: runs in Anthropic's cloud now load the plugins enabled on your claude.ai account +* \[Cloud sessions] Improved Test connection for GitHub Enterprise in admin settings to also connect the way cloud sessions do, and to warn you when that second test fails +* \[Cloud sessions] Improved cloud session transcripts: a rename row now names the new title, and repository and environment lists show as a table instead of one line of JSON + +**81 bug fixes** + +* Fixed sessions failing turn after turn with "Invalid effort level" when an organization's admin caps a model's effort: Claude Code now lowers the effort, retries, and says which level it uses +* Fixed `claude -p` exiting with code 0 and no output when startup failed; it now prints the error and exits 1 +* Fixed Bedrock sessions with many images failing every turn and `/compact` with "400 Input is too long." instead of removing older images and compacting +* Fixed Microsoft Foundry sessions failing when the resource has no deployment for the default Sonnet, Opus or Haiku model: Claude Code now falls back to an older model of that family +* Fixed repeated refused requests behind a gateway that doesn't accept tool search's `tool_reference` blocks: the request is sent again once without tool search, and the session remembers +* Fixed TLS connections failing with `UNABLE_TO_GET_ISSUER_CERT` when the system certificate store holds a renewed root certificate that is cross-signed with its predecessor +* Fixed MCP servers that also work without sign-in showing "needs authentication" after their stored sign-in stopped working; they are now used signed out +* Fixed `claude mcp logout` reporting success when the MCP sign-in was not removed, for example while the macOS keychain is locked over SSH +* Fixed extra sign-in renewals when several sessions share an Anthropic profile login and the credentials lock is busy +* Fixed `claude ultrareview` and `claude remote-control` asking the workspace trust question in a CI job that has a terminal; with `CI` set they now refuse an untrusted folder at once +* Fixed an administrator's TLS trust settings in managed settings not being applied in Claude Desktop sessions +* Fixed model switching being refused on machines with managed plugin settings when one of your own `--plugin-dir` or `--plugin-url` plugins had a broken manifest or failed to download +* Fixed the Bedrock and Vertex model upgrade offer coming back at every start when managed settings pin the model +* Fixed `forceRemoteSettingsRefresh` set only in remote managed settings no longer applying once the stored copy had expired, which let sessions start without policy when the server could not be reached +* Fixed "Continue automatically at usage limit" continuing more than three times without a prompt from you when a task restarted itself between waits (a /goal check-in, a background or scheduled task) +* Fixed background and cloud sessions started with Ultracode turning it back on at their next start after it had been switched off +* Fixed the last broken reply and its retry prompts staying in the conversation after Claude gave up on a tool call that could not be parsed +* Fixed a PreCompact hook with very large output making compaction fail or repeat; each hook's output is now cut at 10,000 characters +* Fixed background diff refreshes briefly taking the repository's index lock, which could make a git command run at the same moment fail with "Unable to create '.git/index.lock': File exists" +* Fixed markdown tables jumping between grid and stacked layouts on half-typed rows while streaming, and long tables falling back to raw pipes +* Fixed the /resume picker showing the text of CLAUDE.md or CLAUDE.local.md as a session's title when the session only ran slash commands +* Fixed `/btw` answering from the main conversation when asked from a subagent's open transcript +* Fixed pasting an image over SSH to a Linux machine doing nothing silently; the prompt now says to copy the file over and paste its path +* Fixed `claude remote-control` sessions that failed to start when the session service was slow for a moment: the worker's registration is now retried with growing waits +* Fixed model switches over Remote Control that take over 8 seconds getting a "still pending" error instead of the final result +* Fixed the `sandbox.excludedCommands` setting description saying listed commands always run outside the sandbox; it now says every command in a call must match an entry +* Fixed shell and MCP calls that auto mode, a deny rule or a PreToolUse hook blocked, or that otherwise did not run, reading as if they ran in a collapsed tool group +* Fixed sandbox protections not applying to a worktree entered by `claude -p --resume` or `--continue` +* Fixed hooks matching Bash not running on shell commands started by the Monitor tool; such hooks can block or ask, but not approve or rewrite those commands +* Fixed a settings file excluded with `--setting-sources` still supplying some settings, such as auto mode rules and saved permission consents +* Fixed auto mode reporting a call as blocked, and listing it in `/permissions`, when its safety check gave no verdict +* Fixed a Claude apps gateway Vertex upstream hanging for minutes when a Google token endpoint accepts the connection and never answers +* Fixed the Claude apps gateway's start-up warning for a deprecated Claude Desktop key that it still serves as written saying "stops being accepted" after the key's end date +* Fixed `/upgrade` opening the browser and starting a new login for plans billed through the App Store or Google Play; it now says where to change the plan +* Fixed `--resume`, and rewinding past a switch to another model after a refusal, moving a session on a model name Claude Code doesn't recognize to a different model +* Fixed requests failing when a gateway or cloud provider refuses one of Claude Code's beta headers by name: the request is sent again without it +* Fixed model IDs spelled with a dot behind an LLM gateway, such as `claude-opus-4.8`, being treated as an older model with the wrong context window, output limit, effort, thinking mode and cost +* Fixed Remote Control clients showing a stray "Compacted (ctrl+o to see full summary)" row after /compact +* Fixed the cloud sessions tip and the Remote Control idle notice showing when an organization's policy turns those features off +* Fixed a resumed claude.ai cloud session making a model call nobody asked for when the previous worker stopped just after receiving a new chat's files +* Fixed WebFetch in Cowork cloud sessions silently dropping a PDF's text past 100,000 characters; it now says how much was unread and where to read on +* Fixed Claude being told only that a command was declined after you stopped it with Esc or Stop in a cloud session or the IDE; it now also hears that the command may have run +* Fixed blank lines at the top of a code block disappearing when the code block opens a quote +* Fixed a blank line appearing above some `⎿` rows in the transcript view (Ctrl+O) +* Fixed vim mode `dw`, `dW`, `yw` and `yW` carrying on past the end of the line, and made `w` and `W` stop on empty lines +* Fixed x and Enter in the agent panel sometimes acting on the wrong agent when another agent started or finished +* Fixed pasted text and dragged-in files being lost in Claude's question dialog unless the "Other" row had focus +* Fixed pasted text being lost when a row in the prompt footer was selected +* Fixed vim mode `p` over a character selection ignoring whether the yanked text was whole lines +* Fixed vim mode `aw` and `iw` taking the line break at the end of a line +* Fixed ↓ selecting footer items hidden by the ? help menu, the command list or a paste hint +* Fixed Esc on a command's panel, such as `/btw`, also interrupting the subagent whose transcript is open +* Fixed the welcome header in fullscreen mode showing the session's model while viewing a subagent or teammate that runs on a different model +* Fixed the fullscreen transcript being left mid-conversation after "Restore conversation" in the rewind menu while scrolled up +* Fixed a rare case where a deleted session could reappear in the resume list as an almost empty entry +* Fixed prompts containing tags such as `` or `` not being acknowledged to a local stream-json host +* Fixed sessions staying untitled when the first prompt failed (for example on a usage limit) and the conversation continued afterward +* Fixed the skill file watcher checking every removed skill kept in `~/.claude/skills/.trash`, which added file system load that grew with each removal +* Fixed the session name from /rename disappearing while Claude asks for permission or a plan decision, so side-by-side sessions stay identifiable +* Fixed background sessions that fail to start being reported as a deleted daemon binary when the binary is still on disk +* Fixed the tip and idle reminder about push notifications appearing when the push settings in `/config` are hidden or your organization has turned off Remote Control +* Fixed `~/.claude/skills/.trash` and `~/.claude/plugins/.trash` growing without limit: each now holds about 1024 entries, whatever `cleanupPeriodDays` says +* Fixed the Bash edit diff listing a whole file as changed when a CRLF file under git's line-ending conversion was re-saved unchanged or had one line edited +* Self-hosted runner: Fixed an idle session moving to another runner instead of pausing when the runner's request to pause it lost its connection before Anthropic answered +* \[VSCode] Fixed "Clear authentication" for MCP servers reporting success when the saved sign-in could not be removed +* \[VSCode] Fixed missing spinner and Stop button while a queued message's hooks run +* \[VSCode] Fixed session group changes that cannot be saved, such as a delete, failing silently; an error notification now appears +* \[VSCode] Fixed Cmd+F / Ctrl+F not opening the find widget in the plan preview tab +* \[VSCode] Fixed the voice dictation shortcut (Ctrl+D) doing nothing under non-Latin keyboard layouts such as Russian, Greek or Hebrew +* \[VSCode] Fixed missed one-time saved scheduled tasks being deleted without asking when the extension opened without a chat +* \[Cloud sessions] Fixed recently used self-hosted environments never appearing among the recent environments on the new session card +* \[Cloud sessions] Fixed cloud sessions reporting uncommitted changes every turn after Claude moved a branch to a commit it had pushed from another worktree +* \[Cloud sessions] Fixed the self-hosted environment details dialog in admin settings squeezing its content out of view in very short windows or at high zoom; the dialog now scrolls +* \[Cloud sessions] Fixed the permission mode picker staying on Auto after a running cloud or Remote Control session refused the switch; it now shows the mode in use and tells you +* \[Remote Control] Fixed the permission mode button in Remote Control sessions showing the wrong mode until you typed; while your computer is online it now shows the real mode on open +* \[Claude Tag] Fixed `@Claude !restart` giving up after one failed workspace check in channels shared across Enterprise Grid workspaces; it now retries, then asks you to run it again +* \[Claude Tag] Fixed a second confirmation DM and channel note when you connect your Claude account from Slack twice from the same link within a few minutes +* \[Claude Tag] Fixed follow-up messages in Slack showing no sign of progress while Claude's session waits for a self-hosted runner; Claude now posts a wait notice in the thread +* \[Claude Tag] Fixed Claude sometimes not answering a tag in its own thread in Slack Connect channels where both organizations have installed Claude +* \[Claude Tag] Fixed Retry on plugin and skill pages in Claude Tag admin settings discarding unsaved access changes after a failed load; your edits now stay in place +* \[Claude Tag] Fixed the repositories control in Claude Tag admin settings showing the same action twice; its menu now lists only what the button doesn't already do + **2.1.312** October 27, 2026 diff --git a/content/en/docs/claude-code/chrome.md b/content/en/docs/claude-code/chrome.md index 17501d684a..733d7cda2e 100644 --- a/content/en/docs/claude-code/chrome.md +++ b/content/en/docs/claude-code/chrome.md @@ -107,6 +107,15 @@ Claude Code starts normally when Chrome isn't running. > > Enabling Chrome by default increases context usage since the browser tools and their instructions are always loaded. If you notice increased context consumption, turn the setting off and connect only when needed, with `--chrome` in the CLI or by typing [`@browser`](https://code.claude.com/docs/en/vs-code#automate-browser-tasks-with-chrome) in the VS Code prompt box. +### Answer the startup dialog + +If the "Claude in Chrome extension detected" dialog appears when you start `claude`, your answer changes the [**Enabled by default** setting](#enable-chrome-by-default): + +* **Yes, use my browser**: turns the setting on and connects this session +* **No, keep browser tools off**, or Esc: turns the setting off, and Claude Code stops offering to set up Chrome + +To change your answer for later sessions, run `/chrome`. + ### Manage site permissions Site-level permissions are inherited from the Chrome extension. Manage permissions in the Chrome extension settings to control which sites Claude can browse, click, and type on. In [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode), when the auto mode classifier itself approves a browser call to a site, the extension skips its own per-site check for that call, unless your permission rules deny any site to Claude in Chrome. diff --git a/content/en/docs/claude-code/claude-apps-gateway.md b/content/en/docs/claude-code/claude-apps-gateway.md index 984d5181c3..36bbf4c4d0 100644 --- a/content/en/docs/claude-code/claude-apps-gateway.md +++ b/content/en/docs/claude-code/claude-apps-gateway.md @@ -35,7 +35,7 @@ The [gateway overview](https://code.claude.com/docs/en/gateways.md) covers what * **Telemetry**: each configured destination receives [OpenTelemetry Protocol (OTLP) metrics](https://code.claude.com/docs/en/monitoring-usage.md) with token counts, model, user identity, and latency by default, with logs and traces as per-destination opt-ins. * **Upstream routing**: clients speak the Anthropic Messages API to the gateway, and the gateway translates for each upstream, whether Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/en/claude-platform-on-aws.md), Google Cloud's Agent Platform, Microsoft Foundry, or the Anthropic API, with failover between them. You can change regions, providers, or failover order without developers noticing or reconfiguring. -![Diagram showing Claude Code clients and Claude Desktop's Chat, Cowork, and Code tabs connecting over HTTPS with bearer tokens to a self-hosted Claude apps gateway inside your infrastructure, which signs users in against your IdP, stores auth state in PostgreSQL, relays telemetry to your OTLP collector, and forwards inference to Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry, or the Anthropic API](https://mintcdn.com/claude-code/VbyXug8hBU9UK6oT/images/claude-gateway-architecture.svg?fit=max\&auto=format\&n=VbyXug8hBU9UK6oT\&q=85\&s=9e4f1190fc56718144190a3db61c63af) +![Diagram showing Claude Code clients and Claude Desktop connecting over HTTPS with bearer tokens to a self-hosted Claude apps gateway inside your infrastructure, which signs users in against your IdP, stores auth state in PostgreSQL, relays telemetry to your OTLP collector, and forwards inference to Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry, or the Anthropic API](https://mintcdn.com/claude-code/VbyXug8hBU9UK6oT/images/claude-gateway-architecture.svg?fit=max\&auto=format\&n=VbyXug8hBU9UK6oT\&q=85\&s=9e4f1190fc56718144190a3db61c63af) > [!NOTE] > @@ -350,7 +350,7 @@ A declared block narrows who can sign in but doesn't prove where a machine is, s ### Deliver policy to Claude Desktop sessions -Claude Desktop runs its Cowork and Code tabs, plus the Chat tab when you enable it, on embedded Claude Code sessions and sends their model requests through the gateway. It passes policy to each of those sessions, built from the configuration the gateway serves it at `/user/bootstrap`: the model allowlist, disabled tools, and egress allowlist derived from the matched policy's `cli` or `code` block, plus the [`desktop` overlay](https://code.claude.com/docs/en/claude-apps-gateway-config#claude-desktop-overlay). +Claude Desktop runs its Cowork and Code tabs, plus Chat when you enable it, on embedded Claude Code sessions and sends their model requests through the gateway. It passes policy to each of those sessions, built from the configuration the gateway serves it at `/user/bootstrap`: the model allowlist, disabled tools, and egress allowlist derived from the matched policy's `cli` or `code` block, plus the [`desktop` overlay](https://code.claude.com/docs/en/claude-apps-gateway-config#claude-desktop-overlay). The block's other keys, such as hooks, `env`, and scoped permission rules like `Bash(npm *)`, reach clients that sign in through `/login`. Under `code`, they also reach the Code tab's session when the [conditions for the Code tab](https://code.claude.com/docs/en/claude-apps-gateway-config.md#apply-code-settings-in-the-code-tab) hold. They don't reach Cowork or Chat sessions. Claude Desktop reads the gateway URL from its own managed configuration and signs in with its own flow, separate from the `forceLoginMethod` and `forceLoginGatewayUrl` keys in [Set the gateway URL](#set-the-gateway-url). @@ -480,7 +480,7 @@ Passing these keys in `managedSettings` requires Claude Code v2.1.309 or later, Claude Desktop signs the developer in through the gateway's identity provider with the same browser SSO step, then fetches its configuration from the gateway instead of from Anthropic. Model access and policy follow the same per-group rules as the CLI. A developer who uses both the CLI and Claude Desktop signs in to each separately; the gateway session isn't shared between them. -Once connected, Claude Desktop sends model requests from every enabled tab through the gateway. It shows the Cowork and Code tabs by default. To turn on the Chat tab as well, set `chatTabEnabled` to `true` in Claude Desktop's [managed configuration](https://claude.com/docs/third-party/claude-desktop/configuration), or in the policy's [`desktop` block](https://code.claude.com/docs/en/claude-apps-gateway-config#claude-desktop-overlay) on a gateway running Claude Code v2.1.227 or later. +Once connected, Claude Desktop sends model requests from every enabled tab through the gateway. It shows the Cowork and Code tabs by default. To make Chat available as well, set `chatTabEnabled` to `true` in the policy's [`desktop` block](https://code.claude.com/docs/en/claude-apps-gateway-config#claude-desktop-overlay) on a gateway running Claude Code v2.1.227 or later. With Cowork on, Claude Desktop then shows Chat and Cowork together in one tab. ### CI pipelines and remote machines @@ -523,7 +523,7 @@ The gateway delivers the [`anthropic-beta`](https://platform.claude.com/docs/en/ | Inference forwarding (Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry, Anthropic) | Available | With per-upstream model translation and failover. The Amazon Bedrock upstream uses the `bedrock-runtime` endpoint and the AWS default credential chain. The [Amazon Bedrock Mantle upstream](https://code.claude.com/docs/en/claude-apps-gateway-config.md#amazon-bedrock-mantle-endpoint) requires Claude Code v2.1.283 or later on the gateway server, and the [Claude Platform on AWS upstream](https://code.claude.com/docs/en/claude-apps-gateway-config.md#claude-platform-on-aws) requires v2.1.198 or later. | | 1M token context window | Available | Fable models, Sonnet 5 and later, and Opus 4.7 and later run with the 1M window by default; see [Extended context](https://code.claude.com/docs/en/model-config.md#extended-context). The 1M default for the Fable and Opus models requires Claude Code v2.1.287 or later on the developer machine | | Model access and managed settings by IdP group | Available | Model access is enforced server-side; managed settings are delivered per IdP group and applied by the CLI at the [managed settings tier](https://code.claude.com/docs/en/settings.md#settings-precedence) | -| Claude Desktop | Available with opt-in | The gateway serves Claude Desktop's configuration at `/user/bootstrap` once a policy [opts in with a `desktop` key](https://code.claude.com/docs/en/claude-apps-gateway-config#claude-desktop-overlay), and Claude Desktop sends model requests from its Cowork and Code tabs, and from the Chat tab when you enable it, through the gateway. To turn on the Chat tab, see [Connect Claude Desktop](#connect-claude-desktop). Requires Claude Code v2.1.203 or later on the gateway server. | +| Claude Desktop | Available with opt-in | The gateway serves Claude Desktop's configuration at `/user/bootstrap` once a policy [opts in with a `desktop` key](https://code.claude.com/docs/en/claude-apps-gateway-config#claude-desktop-overlay), and Claude Desktop sends its model requests through the gateway. To turn on Chat, see [Connect Claude Desktop](#connect-claude-desktop). Requires Claude Code v2.1.203 or later on the gateway server. | | Telemetry fan-out (OTLP/HTTP) | Available | Identity-stamped per export; both protobuf and JSON encodings | | OIDC identity providers | Available | Any OIDC-compliant IdP; the gateway runs standard OIDC discovery and the authorization-code flow. See [Identity provider setup](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#identity-provider-setup) for per-IdP configuration | | Per-user and per-group spend limits | Available | See [Spend limits](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md) | diff --git a/content/en/docs/claude-code/claude-code-on-the-web.md b/content/en/docs/claude-code/claude-code-on-the-web.md index 88d2131f02..7e26c50ead 100644 --- a/content/en/docs/claude-code/claude-code-on-the-web.md +++ b/content/en/docs/claude-code/claude-code-on-the-web.md @@ -201,15 +201,19 @@ If the send fails, see [Errors when sending to a cloud session](#errors-when-sen Pull a cloud session into your terminal using any of these: -* **Using `--teleport`**: from the command line, run `claude --teleport` for an interactive session picker, or `claude --teleport ` to resume a specific session directly. If you have uncommitted changes, you'll be prompted to stash them first. +* **Using `--teleport`**: from the command line, run `claude --teleport` for an interactive session picker, or `claude --teleport ` to resume a specific session directly. If you have uncommitted changes, you'll be prompted to stash them first. [`--resume`](https://code.claude.com/docs/en/sessions#resume-a-session) reopens a conversation from this machine's local history and doesn't list cloud sessions. * **Using `/teleport`**: inside an existing CLI session, run `/teleport` or `/tp` to open the same session picker without restarting Claude Code. * **From `/tasks`**: run `/tasks` to see your background sessions, then press `t` to teleport into one. * **From claude.ai/code**: select **Open in > Terminal** from the session menu to copy a command you can paste into your terminal. * **From inside the cloud session**: type `/teleport` and Claude Code replies with the exact `claude --teleport ` command for that session, ready to run from a checkout of the repository. Requires Claude Code v2.1.223 or later in the session's environment. -When you teleport a session, Claude verifies you're in the correct repository, fetches and checks out the branch from the cloud session, and loads the full conversation history into your terminal. The terminal gets its own copy of the session: new work there stays local and doesn't appear in the cloud session on claude.ai or the Claude mobile app. To keep steering from your phone after teleporting, start [`/remote-control`](https://code.claude.com/docs/en/remote-control) in the local session. +When you teleport a session, Claude verifies you're in the correct repository, fetches and checks out the branch from the cloud session, and loads the conversation into your terminal. -`--teleport` is distinct from `--resume`. `--resume` reopens a conversation from this machine's local history and doesn't list cloud sessions; `--teleport` pulls a cloud session and its branch. +> [!NOTE] +> +> If Claude Code has [compacted](https://code.claude.com/docs/en/context-window.md#what-survives-compaction) the cloud session, which it does automatically in a long session, the earlier messages it summarized aren't copied to your terminal. Claude continues from the summary. To read the original messages, scroll up in the cloud session on claude.ai or in the Claude mobile app. + +The terminal gets its own copy of the session: new work there stays local and doesn't appear in the cloud session on claude.ai or the Claude mobile app. To keep steering from your phone after teleporting, start [`/remote-control`](https://code.claude.com/docs/en/remote-control) in the local session. #### Teleport requirements @@ -495,7 +499,8 @@ Before relying on cloud sessions for a workflow, account for these constraints: * **Rate limits**: cloud sessions share rate limits with all other Claude and Claude Code usage within your account. Running multiple tasks in parallel consumes more rate limits proportionately. * **Time limits**: commands Claude runs and SessionStart hooks have default timeouts you can change, and a setup script is cached only when it finishes in roughly five minutes. See [Time limits](https://code.claude.com/docs/en/cloud-environments.md#time-limits) * **Repository authentication**: you can only pull a cloud session into your terminal when you are authenticated to the same account -* **Platform restrictions**: repository cloning and pull request creation require GitHub. Self-hosted [GitHub Enterprise Server](https://code.claude.com/docs/en/github-enterprise-server.md) instances are supported for Team and Enterprise plans. You can send a GitLab, Bitbucket, or other non-GitHub repository to a cloud session as a [local bundle](#send-local-repositories-without-github) by setting `CCR_FORCE_BUNDLE=1`, but the session can't push results back to that remote +* **Platform restrictions**: repository cloning in Anthropic-hosted environments and pull request creation require GitHub. Self-hosted [GitHub Enterprise Server](https://code.claude.com/docs/en/github-enterprise-server.md) instances are supported for Team and Enterprise plans. You can send a GitLab, Bitbucket, or other non-GitHub repository to a cloud session as a [local bundle](#send-local-repositories-without-github) by setting `CCR_FORCE_BUNDLE=1`, but the session can't push results back to that remote + * **Self-hosted environments**: for a repository on another git host, see the [requirements for starting a session with `--environment`](https://code.claude.com/docs/en/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github). * **Organization IP allowlist**: cloud sessions call the Anthropic API from Anthropic-managed infrastructure, not your network, while sessions in a [self-hosted environment](https://code.claude.com/docs/en/self-hosted-environments) call it from your own network. If your organization has [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) enabled, every Anthropic-hosted cloud session fails with an authentication error. * **Code Review and scheduled tasks**: the same applies to [Code Review](https://code.claude.com/docs/en/code-review.md) and to [cloud scheduled tasks](https://code.claude.com/docs/en/routines.md) that run on Anthropic-hosted environments. A scheduled task routed to a self-hosted environment calls the API from your own network. * **Getting an exemption**: contact [Anthropic support](https://support.claude.com/) to exempt Anthropic-hosted services from your organization's IP allowlist. diff --git a/content/en/docs/claude-code/claude-projects.md b/content/en/docs/claude-code/claude-projects.md index 62413360e6..033241b895 100644 --- a/content/en/docs/claude-code/claude-projects.md +++ b/content/en/docs/claude-code/claude-projects.md @@ -411,7 +411,7 @@ Work goes past your plan's limits only if you have turned on [usage credits](htt A project uses your limits faster than a single session does, and on a Pro plan in particular you should expect to reach your limit sooner on days you run one. These are the parts of a project that use your plan: -* **Running threads**: each is a full session, and several can run at once. There's no fixed number; Claude starts as many as the work calls for, and a limit you [ask for](#tune-how-claude-runs-a-project) is a preference rather than a cap. The enforced limit is 200 new threads per day across your projects. +* **Running threads**: each is a full session, and several can run at once. There's no fixed number; Claude starts as many as the work calls for, and a limit you [ask for](#tune-how-claude-runs-a-project) is a preference rather than a cap. The enforced limit is 500 new threads per day across your projects. * **The conversation**: Claude uses tokens of its own reading what threads report and deciding what to do next. * **Threads watching a pull request**: an idle thread wakes up and uses your plan again when CI fails or a review comment arrives on its pull request. To stop that, ask in the thread for it to stop watching the pull request. diff --git a/content/en/docs/claude-code/cloud-environments.md b/content/en/docs/claude-code/cloud-environments.md index 6363c60da7..f98d836dae 100644 --- a/content/en/docs/claude-code/cloud-environments.md +++ b/content/en/docs/claude-code/cloud-environments.md @@ -25,7 +25,7 @@ Each of these surfaces can also route to a [self-hosted environment](https://cod > [!NOTE] > -> [Remote Control](https://code.claude.com/docs/en/remote-control.md) sessions connect the web and mobile interfaces to a session on your own machine, which uses your machine's network and files, not a cloud environment. Claude Tag channel sessions use organization-level environments only, either [shared environments](#organization-shared-environments) or [self-hosted environments](https://code.claude.com/docs/en/self-hosted-environments). +> [Remote Control](https://code.claude.com/docs/en/remote-control.md) sessions connect the web and mobile interfaces to a session on your own machine, which uses your machine's network and files, not a cloud environment. To choose the environment a Claude Tag channel uses, see [Set the environment a Claude Tag channel uses](#set-the-environment-a-claude-tag-channel-uses). ## The Default environment diff --git a/content/en/docs/claude-code/code-review-costs.md b/content/en/docs/claude-code/code-review-costs.md index e4dbb44a22..d1517acf07 100644 --- a/content/en/docs/claude-code/code-review-costs.md +++ b/content/en/docs/claude-code/code-review-costs.md @@ -64,6 +64,7 @@ Go to [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) | PRs reviewed | Daily count of pull requests reviewed over the selected time range | | Code Review cost | Code Review spend so far this month | | Feedback | Count of review comments that were auto-resolved because a developer addressed the issue | +| Code Review findings | Daily count of [findings by severity level](https://code.claude.com/docs/en/code-review-pull-requests.md#severity-levels), from reviews Claude posted over the selected time range | | Repository breakdown | Per-repo counts of PRs reviewed, comments resolved, and review runs, with estimated cost and a per-PR view | The Code Review cost card shows an amount only when the current month is selected. Cost figures in analytics can differ from your invoice. Repository breakdown costs are estimated at list price, before any discounts or credits, and cover only reviews that Claude posted on a pull request. For invoice-accurate spend, refer to your Anthropic bill. diff --git a/content/en/docs/claude-code/commands.md b/content/en/docs/claude-code/commands.md index e4985f20ce..f2155f2b09 100644 --- a/content/en/docs/claude-code/commands.md +++ b/content/en/docs/claude-code/commands.md @@ -111,7 +111,7 @@ In the table below, `` indicates a required argument and `[arg]` indicates | `/mcp [reconnect (\|all)\|enable\|disable [\|all]]` | Manage MCP server connections and OAuth authentication. Run with no argument to open the interactive list, or pass `reconnect`, `enable`, or `disable` with a server name or `all` to change connection state without opening it. `reconnect all` [retries every server that failed or needs authentication](https://code.claude.com/docs/en/mcp.md#retry-failed-servers-yourself). In non-interactive mode (`-p`), running it with no argument prints a text summary of server status instead of opening the list | | `/memory` | Edit `CLAUDE.md` files, enable or disable [auto memory](https://code.claude.com/docs/en/memory.md#auto-memory), and view auto memory entries | | `/mobile` | Show QR code to download the Claude mobile app. Aliases: `/ios`, `/android` | -| `/model [model]` | Switch the AI model and save it as your default for new sessions. For models that support it, use left/right arrows to [adjust effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level). With no argument, opens a picker; press `s` on a row to switch for the current session only. See [when Claude Code asks you to confirm the switch](https://code.claude.com/docs/en/prompt-caching.md#switching-models). Once you confirm the switch, if Claude Code asks, Claude Code applies the change without waiting for the current response to finish. Before v2.1.242, Claude Code decided from a feature flag it fetched from Anthropic whether to run the command mid-turn or queue it until the turn finished, and always queued it in a session that doesn't [fetch feature flags](https://code.claude.com/docs/en/env-vars.md#features-that-need-feature-flag-fetching), such as on a [third-party provider](https://code.claude.com/docs/en/third-party-integrations.md). Also available in non-interactive mode (`-p`) with a model argument instead of the picker, where it applies to the current session only and isn't saved as your default; requires Claude Code v2.1.205 or later | +| `/model [model]` | Switch the AI model and save it as your default for new sessions. For models that support it, use left/right arrows to [adjust effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level). With no argument, opens a picker; press `s` on a row to switch for the current session only. See [when the new model starts](https://code.claude.com/docs/en/interactive-mode.md#when-claude-code-sends-what-you-queued). Before v2.1.242, it could wait. With `-p`, pass a model argument, which isn't saved as your default; requires v2.1.205 or later | | `/output-style [style]` | List [output styles](https://code.claude.com/docs/en/output-styles.md) or switch to one, for example `/output-style concise`. See [Change your output style](https://code.claude.com/docs/en/output-styles.md#change-your-output-style). Requires Claude Code v2.1.269 or later | | `/passes` | Share a free week of Claude Code with friends. Only visible if your account is eligible | | `/permissions` | Manage allow, ask, and deny rules for tool permissions. Opens an interactive dialog where you can view rules by scope, add or remove rules, manage working directories, and review [recent auto mode denials](https://code.claude.com/docs/en/auto-mode-config.md#review-denials). You can also view and edit [auto mode classifier rules](https://code.claude.com/docs/en/auto-mode-config.md#edit-rules-from-permissions) from the dialog's **Auto mode** tab. When you run it while Claude is responding, Claude Code opens the dialog immediately and applies your changes starting with Claude's next tool call in the same turn. Before v2.1.234, Claude Code queued the command until the turn finished. Alias: `/allowed-tools` | @@ -130,6 +130,7 @@ In the table below, `` indicates a required argument and `[arg]` indicates | `/remote-control` | Make this session available for [Remote Control](https://code.claude.com/docs/en/remote-control.md) from claude.ai. Running it while signed out prints that Remote Control requires a claude.ai subscription and tells you how to sign in. Alias: `/rc` | | `/remote-env` | Choose the default [cloud environment](https://code.claude.com/docs/en/cloud-environments.md#select-an-environment-from-the-cli) for cloud sessions you start from the CLI | | `/rename [name]` | Rename the current session and show the name on the prompt bar. Without a name, auto-generates one from conversation history. Also available in non-interactive mode (`-p`). From every rename surface, including claude.ai and the desktop app, Claude Code replaces control and invisible characters in the new name with spaces and caps the name at 200 characters. If the name is empty once invisible characters are removed, Claude Code rejects it and shows `That name is empty once invisible characters are removed. Usage: /rename `. The character replacement and length cap require Claude Code v2.1.221 or later | +| `/restart` | Restart Claude Code and resume this session, which applies an installed update. Run it when the footer offers it after an update installs. Requires a Pro or Max plan and a native install on macOS or Linux, not WSL. Requires Claude Code v2.1.288 or later. Alias: `/update` | | `/resume [session]` | Resume a conversation by ID or name, or open the session picker. [Background sessions](https://code.claude.com/docs/en/agent-view.md) appear in the picker marked with `bg`. Resuming one that is still running, from the picker or by ID or name, [opens that session](https://code.claude.com/docs/en/sessions.md#resume-a-running-background-session): your current conversation moves to the background and this terminal attaches to the running one. Press `←` on an empty prompt to return to agent view, which also lists the conversation you left. Before v2.1.285, Claude Code refused and told you to open the session with `claude attach` or stop it first. Alias: `/continue` | | `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias of [`/code-review`](https://code.claude.com/docs/en/code-review-local): reviews the current diff, or a PR number, branch, or path you pass, such as `/review 1234`, and takes the same effort levels and flags. With no level given, the review reuses the last `low` through `max` level you typed; see [Review locally with `/code-review`](https://code.claude.com/docs/en/code-review-local) for the exact rules. For a deep cloud review, use [`/code-review ultra`](https://code.claude.com/docs/en/ultrareview). Before v2.1.223, `/review` was a separate command that ran a single-pass, read-only review of a GitHub pull request by number, listing open PRs to pick from when run with no argument; from v2.1.186 through v2.1.201, it ran the same multi-agent engine as `/code-review medium` | | `/rewind` | Rewind the conversation and/or code to a previous point, or summarize from a selected message. See [checkpointing](https://code.claude.com/docs/en/checkpointing.md). Aliases: `/checkpoint`, `/undo` | diff --git a/content/en/docs/claude-code/costs.md b/content/en/docs/claude-code/costs.md index 3f2fdc8575..e6f9cd4163 100644 --- a/content/en/docs/claude-code/costs.md +++ b/content/en/docs/claude-code/costs.md @@ -375,12 +375,7 @@ For longer or more complex work, these habits help avoid wasted tokens from goin ## Background token usage -Claude Code uses tokens for some background functionality even when idle: - -* **Conversation summarization**: Background jobs that summarize previous conversations for the `claude --resume` feature -* **Command processing**: Some commands like `/usage` may generate requests to check status - -These background processes consume a small amount of tokens (typically under \$0.04 per session) even without active interaction. +Session recap and idle compaction can use tokens while you're idle. See [session recap](https://code.claude.com/docs/en/interactive-mode.md#session-recap) and [idle compaction](https://code.claude.com/docs/en/settings-reference.md#idlecompaction) for when each runs and how to turn it off. When prompt suggestions are on, Claude Code also sends a short request to the model your session is using after Claude responds, to [suggest your next prompt](https://code.claude.com/docs/en/interactive-mode.md#prompt-suggestions). That request reuses the conversation's prompt cache, so it is mostly cache reads plus a few output tokens. Claude Code [skips it while your account is close to or at its usage limit](https://code.claude.com/docs/en/interactive-mode.md#when-claude-code-skips-suggestions). To stop these requests, [turn prompt suggestions off](https://code.claude.com/docs/en/interactive-mode.md#turn-prompt-suggestions-off). diff --git a/content/en/docs/claude-code/deep-links.md b/content/en/docs/claude-code/deep-links.md index 36a4ebb442..2c2994e44a 100644 --- a/content/en/docs/claude-code/deep-links.md +++ b/content/en/docs/claude-code/deep-links.md @@ -108,7 +108,7 @@ To use this in your own runbook, replace `acme/web-gateway` with your service's ### Open a link from the shell -You can also open a deep link from a shell script, alias, or automation rather than by clicking it. Call your operating system's URL-opening command with the link as the argument. These commands rely on the handler that Claude Code [registers when you send your first prompt of an interactive session](#registration-and-supported-platforms) on the machine. +You can also open a deep link from a shell script, alias, or automation rather than by clicking it. Call your operating system's URL-opening command with the link as the argument. These commands rely on the handler that Claude Code [registers](#registration-and-supported-platforms) on the machine. **macOS** @@ -148,7 +148,12 @@ On success, a new terminal window opens with Claude Code running and the prompt ## Registration and supported platforms -Claude Code registers the `claude-cli://` handler with your operating system on macOS, Linux, and Windows when you send your first prompt of an interactive session. Starting `claude` and exiting without sending a prompt doesn't register the handler. You don't run a separate install command. Registration writes to user-level locations only: +Claude Code registers the `claude-cli://` handler with your operating system on macOS, Linux, and Windows when you do either of these: + +* Send anything to an interactive `claude` session, such as a message or `/help`. Starting one and sending nothing doesn't register the handler. +* Start Claude Code in [agent view](https://code.claude.com/docs/en/agent-view.md), such as with `claude agents`, in a folder you've [trusted](https://code.claude.com/docs/en/permissions.md#project-allow-rules-and-workspace-trust) + +You don't run a separate install command. Registration writes to user-level locations only: | Platform | Handler location | | - | - | @@ -172,7 +177,7 @@ Claude Desktop handles its own `claude://` links. To open a Desktop session on a ### Clicking the link does nothing -The handler likely isn't registered yet. Registration happens when you send your first prompt of an interactive session, not when the session starts. Start an interactive `claude` session on that machine, send any prompt, exit, and try the link again. If you are on Linux without a desktop environment, `xdg-open` may have nothing to dispatch to. +The handler likely isn't registered yet. In an interactive session, registration happens when you send something, not when the session starts. Start an interactive `claude` session on that machine, send any prompt, exit, and try the link again. If you are on Linux without a desktop environment, `xdg-open` may have nothing to dispatch to. ### xdg-open is not found on Linux diff --git a/content/en/docs/claude-code/desktop-changelog.md b/content/en/docs/claude-code/desktop-changelog.md index 944fd82f17..3a01f9d2a1 100644 --- a/content/en/docs/claude-code/desktop-changelog.md +++ b/content/en/docs/claude-code/desktop-changelog.md @@ -1930,6 +1930,24 @@ IT teams can manage the desktop app through MDM on macOS, group policy on Window * **Windows**: configure via registry at `SOFTWARE\Policies\Claude` * **Linux**: configure via a root-owned file at `/etc/claude-desktop/managed-settings.json`, which holds the policy keys as a JSON object. Desktop refuses the file if anyone but root can write to it or to its folder. It's a different file from Claude Code's [managed settings file](https://code.claude.com/docs/en/managed-settings.md). +#### Restrict sign-in to your organization + +To restrict which claude.ai organizations can sign in to Claude Desktop, set `forceLoginOrgUUID` in the Claude Desktop policy. + +The key requires Claude Desktop v1.2581.0 or later. + +On Linux, a policy file that sets only this key reads: + +```json /etc/claude-desktop/managed-settings.json theme={null} +{ + "forceLoginOrgUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +} +``` + +Replace the placeholder with your claude.ai organization ID, shown in [claude.ai admin settings](https://claude.ai/admin-settings/organization). It's the same ID that Claude Code's [`forceLoginOrgUUID`](https://code.claude.com/docs/en/settings-reference#forceloginorguuid) setting takes. For macOS and Windows samples that set this key, see [Deploy the Claude Desktop policy](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy) in the Cowork guide for HIPAA-ready organizations. + +If you set `forceLoginMethod` and `forceLoginOrgUUID` in Claude Code's [managed settings](https://code.claude.com/docs/en/managed-settings.md), you don't change the Claude Desktop sign-in screen. + ### Network access requirements Desktop loads its application code and user content from Anthropic CDN hosts. diff --git a/content/en/docs/claude-code/desktop.md b/content/en/docs/claude-code/desktop.md index 944fd82f17..3a01f9d2a1 100644 --- a/content/en/docs/claude-code/desktop.md +++ b/content/en/docs/claude-code/desktop.md @@ -1930,6 +1930,24 @@ IT teams can manage the desktop app through MDM on macOS, group policy on Window * **Windows**: configure via registry at `SOFTWARE\Policies\Claude` * **Linux**: configure via a root-owned file at `/etc/claude-desktop/managed-settings.json`, which holds the policy keys as a JSON object. Desktop refuses the file if anyone but root can write to it or to its folder. It's a different file from Claude Code's [managed settings file](https://code.claude.com/docs/en/managed-settings.md). +#### Restrict sign-in to your organization + +To restrict which claude.ai organizations can sign in to Claude Desktop, set `forceLoginOrgUUID` in the Claude Desktop policy. + +The key requires Claude Desktop v1.2581.0 or later. + +On Linux, a policy file that sets only this key reads: + +```json /etc/claude-desktop/managed-settings.json theme={null} +{ + "forceLoginOrgUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +} +``` + +Replace the placeholder with your claude.ai organization ID, shown in [claude.ai admin settings](https://claude.ai/admin-settings/organization). It's the same ID that Claude Code's [`forceLoginOrgUUID`](https://code.claude.com/docs/en/settings-reference#forceloginorguuid) setting takes. For macOS and Windows samples that set this key, see [Deploy the Claude Desktop policy](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy) in the Cowork guide for HIPAA-ready organizations. + +If you set `forceLoginMethod` and `forceLoginOrgUUID` in Claude Code's [managed settings](https://code.claude.com/docs/en/managed-settings.md), you don't change the Claude Desktop sign-in screen. + ### Network access requirements Desktop loads its application code and user content from Anthropic CDN hosts. diff --git a/content/en/docs/claude-code/env-vars.md b/content/en/docs/claude-code/env-vars.md index ce1b802474..dbaf33f460 100644 --- a/content/en/docs/claude-code/env-vars.md +++ b/content/en/docs/claude-code/env-vars.md @@ -428,7 +428,7 @@ Numeric variables such as timeouts, token budgets, and retry counts accept scien | `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Upper bound in milliseconds on how long a [workflow](https://code.claude.com/docs/en/workflows.md) agent waits for a same-prefix sibling's first response to begin before sending its own first request. When a fan-out starts several agents that share a [prompt-cache prefix](https://code.claude.com/docs/en/workflows.md#prompt-caching-in-a-fan-out), Claude Code holds all but the first agent for up to this long so the rest read the cached prefix instead of each processing it uncached. Default `5000`. Set to `0` to disable the wait. When `DISABLE_PROMPT_CACHING` is set, agents never wait. Requires Claude Code v2.1.229 or later | | `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Set to `1` to show, above the prompt, a line for each of the last three checks the [You should know mod](https://code.claude.com/docs/en/interactive-mode.md#you-should-know-suggestions) made in this session. Use it to confirm the mod is checking when no notes appear. Requires Claude Code v2.1.287 or later | | `CLAUDE_CONFIG_DIR` | Override the configuration directory (default: `~/.claude`). All settings, session history, and plugins are stored under this path. For credentials, see [where Claude Code stores credentials](https://code.claude.com/docs/en/authentication.md#credential-management). Useful for running multiple accounts side by side: for example, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Set it in your shell, user settings, or managed settings. In a settings file, write the [absolute path](#in-settings-files). Ignored in [project and local settings](https://code.claude.com/docs/en/settings-reference.md#variables-claude-code-ignores-in-env) | -| `CLAUDE_EFFORT` | Set automatically in Bash tool subprocesses and hook commands to the [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) in effect when the subprocess starts: `low`, `medium`, `high`, `xhigh`, or `max`. Matches the `effort.level` field passed to [hooks](https://code.claude.com/docs/en/hooks.md). Only set when the current model supports the effort parameter | +| `CLAUDE_EFFORT` | Set automatically in Bash tool subprocesses and hook commands to the [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) setting when the subprocess starts: `low`, `medium`, `high`, `xhigh`, or `max`. Matches the `effort.level` field passed to [hooks](https://code.claude.com/docs/en/hooks.md). Only set when the current model supports the effort parameter | | `CLAUDE_ENABLE_BYTE_WATCHDOG` | Set to `1` to force-enable the byte-level streaming idle watchdog, or set to `0` to force-disable it. `0` also turns off the [first-byte deadline](https://code.claude.com/docs/en/network-config.md#streaming-idle-watchdogs) on the connections where that deadline runs. When unset, the watchdog is enabled by default for direct Anthropic API and [Claude Platform on AWS](https://code.claude.com/docs/en/claude-platform-on-aws.md) connections, and for streaming responses on [gateway](https://code.claude.com/docs/en/gateways.md) connections reached through `ANTHROPIC_BASE_URL` or `ANTHROPIC_AWS_BASE_URL`; before v2.1.222 it didn't run on those gateway connections, so the event-level watchdog could report a stall there even while keep-alive pings were arriving. For timeouts and how the timers interact, see [Streaming idle watchdogs](https://code.claude.com/docs/en/network-config.md#streaming-idle-watchdogs) | | `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Set to `1` to enable the byte-level streaming idle watchdog on Amazon Bedrock `vnd.amazon.eventstream` responses, which also enables the [first-byte deadline](https://code.claude.com/docs/en/network-config.md#streaming-idle-watchdogs) on Bedrock streaming requests. Off by default. Configure the timeout with `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | | `CLAUDE_ENABLE_STREAM_WATCHDOG` | Set to `0` to force-disable the event-level streaming idle watchdog, or set to `1` to force-enable it. When unset, the watchdog is on by default for all providers. Before v2.1.196, the unset default was server-controlled on the direct Anthropic API and off on other providers. Configure the timeout with `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; for the other stall timers that run alongside this one, see [Streaming idle watchdogs](https://code.claude.com/docs/en/network-config.md#streaming-idle-watchdogs) | @@ -575,6 +575,7 @@ With fetching off, you can't: * [Message sessions beyond this machine](https://code.claude.com/docs/en/cross-session-messaging.md#message-sessions-on-other-machines) when [Remote Control](https://code.claude.com/docs/en/remote-control.md#requirements) is unavailable. Messaging between sessions on this machine works with fetching off * Run [`claude import` or the `/import` command](https://code.claude.com/docs/en/cli-reference#cli-commands) * Run [`/skill-doctor`](https://code.claude.com/docs/en/skills#find-unused-skills) or open its report in the `/plugin` **Stats** tab +* Run [`/restart`](https://code.claude.com/docs/en/commands) on Pro and Max plans * Sync the [skills](https://code.claude.com/docs/en/skills.md#where-synced-skills-load) and [plugins](https://code.claude.com/docs/en/plugins/loading.md#synced-plugins) enabled for your claude.ai account into your terminal sessions * Turn on the [You should know mod](https://code.claude.com/docs/en/interactive-mode.md#you-should-know-suggestions) * Use [the advisor tool](https://code.claude.com/docs/en/advisor.md#requirements) diff --git a/content/en/docs/claude-code/errors.md b/content/en/docs/claude-code/errors.md index cc8bfe49a4..5d0d726d21 100644 --- a/content/en/docs/claude-code/errors.md +++ b/content/en/docs/claude-code/errors.md @@ -277,6 +277,8 @@ Match the message you see to a section below. | `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [Command-line errors](#windows-reported-an-error-ebadf) | | `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) | | `Cannot switch renderers while work is running in the background` | [Command-line errors](#cannot-switch-renderers-in-this-session) | +| `Can't restart while work is running in the background — wait for it to finish (or stop it via /tasks), then try again.` | [Command-line errors](#cant-restart-while-work-is-running-or-remote-control-is-connected) | +| `Can't restart while Remote Control is connected. To use the installed version, exit and start Claude Code again, then run /resume.` | [Command-line errors](#cant-restart-while-work-is-running-or-remote-control-is-connected) | | `Claude Code couldn't restart` | [Command-line errors](#claude-code-couldnt-restart) | | `Couldn't open Claude Desktop` | [Command-line errors](#couldnt-open-claude-desktop) | | `Failed to open Claude Desktop. Please try opening it manually.` | [Command-line errors](#couldnt-open-claude-desktop) | @@ -858,7 +860,7 @@ Before v2.1.268, the message ended with `run /usage-credits to turn them on, or ### The prompt to confirm went unanswered -If your account requires the [Fable usage-credits consent](https://code.claude.com/docs/en/model-config.md#fable-and-usage-credits), Claude Code asks you to confirm before a Fable request bills usage credits. When the consent prompt closes with nobody answering it, Claude Code ends the turn with one of these messages: +When the [Fable usage-credits consent prompt](https://code.claude.com/docs/en/model-config.md#fable-and-usage-credits) closes with nobody answering it, Claude Code ends the turn with one of these messages: ```text theme={null} Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change @@ -3974,6 +3976,10 @@ Each reason the message can show in parentheses: * In a session started without those restrictions, run `/tui fullscreen`, or `/tui default` to switch back. Claude Code saves the [`tui` setting](https://code.claude.com/docs/en/settings-reference#tui) there +### Can't restart while work is running or Remote Control is connected + +Claude Code didn't restart, and your session keeps running as it was. Follow the fix in the message. + ### Claude Code couldn't restart When this message says your conversation is saved, the conversation is on disk and you can pick it up where it stopped. Claude Code was restarting itself, for example to switch to or from fullscreen rendering after you ran [`/tui`](https://code.claude.com/docs/en/fullscreen#enable-fullscreen-rendering), and couldn't start the new process, so it exited with status 1: diff --git a/content/en/docs/claude-code/goal.md b/content/en/docs/claude-code/goal.md index f373b14ba5..6b0886ec2b 100644 --- a/content/en/docs/claude-code/goal.md +++ b/content/en/docs/claude-code/goal.md @@ -168,7 +168,7 @@ To evaluate on a different model, set [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](https:// > [!WARNING] > -> Claude Code reads `ANTHROPIC_DEFAULT_HAIKU_MODEL` everywhere it uses the small fast model, not only for `/goal` evaluation. When you set it, Claude Code also resolves the [`haiku` alias](https://code.claude.com/docs/en/model-config#model-aliases) to that model and runs [background functionality](https://code.claude.com/docs/en/costs.md#background-token-usage), such as conversation summarization, on it. +> Claude Code reads `ANTHROPIC_DEFAULT_HAIKU_MODEL` everywhere it uses the small fast model, not only for `/goal` evaluation. When you set it, Claude Code also resolves the [`haiku` alias](https://code.claude.com/docs/en/model-config#model-aliases) to that model and runs session title generation and some other background tasks on it. The evaluator runs on whichever provider your session is configured for. It does not call tools, so it can only judge what Claude has already surfaced in the conversation. diff --git a/content/en/docs/claude-code/hipaa-setup.md b/content/en/docs/claude-code/hipaa-setup.md index 28b737444b..6aa2c3706f 100644 --- a/content/en/docs/claude-code/hipaa-setup.md +++ b/content/en/docs/claude-code/hipaa-setup.md @@ -26,7 +26,7 @@ The table shows when to do each part of the setup: | When | What to do | | :- | :- | -| Before the configuration is applied | [Prepare computers](#prepare-computers-before-the-hipaa-configuration-is-applied): check how developers connect, update the apps, allow network access, and deploy managed settings | +| Before the configuration is applied | [Prepare computers](#prepare-computers-before-the-hipaa-configuration-is-applied): check how developers connect, update the apps, allow network access, deploy managed settings, and restrict Claude Desktop sign-in | | After it's applied | The Code tab is off until an Owner turns it back on. [Confirm the configuration on a computer](#confirm-the-configuration-on-a-computer) | | Ongoing | [Manage local session data](#manage-local-session-data) | @@ -161,6 +161,10 @@ Even with these keys deployed, some sessions can still run without the HIPAA con To find out whether your BAA covers a session that runs without the HIPAA configuration, see [Use Claude Code (local mode) and Cowork (local mode) on a HIPAA-ready Enterprise plan](https://support.claude.com/en/articles/17318731). +### Restrict Claude Desktop sign-in + +If developers use the Code tab of Claude Desktop, also set `forceLoginOrgUUID` in the Claude Desktop policy, as [Restrict sign-in to your organization](https://code.claude.com/docs/en/desktop.md#restrict-sign-in-to-your-organization) describes. Deploying `forceLoginMethod` and `forceLoginOrgUUID` in managed settings doesn't change the Claude Desktop sign-in screen. + ## Confirm the configuration on a computer Run this check on one managed computer after the configuration is applied to your organization. diff --git a/content/en/docs/claude-code/hooks.md b/content/en/docs/claude-code/hooks.md index d17a127efc..9eee442751 100644 --- a/content/en/docs/claude-code/hooks.md +++ b/content/en/docs/claude-code/hooks.md @@ -735,7 +735,7 @@ Hook events receive these fields as JSON, in addition to event-specific fields d | `cwd` | Current working directory when the hook is invoked | | `scratchpad_dir` | Path to the session's [scratchpad directory](https://code.claude.com/docs/en/claude-directory.md#session-scratchpad-directory), where Claude keeps temporary working files. Absent when the session has no scratchpad or the temp directory is unavailable. Requires Claude Code v2.1.257 or later | | `permission_mode` | Current [permission mode](https://code.claude.com/docs/en/permissions.md#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"`, or `"bypassPermissions"`. The mode labeled **Manual** arrives as `"default"`, never as `"manual"`, so scripts that match `"default"` keep working. Not all events receive this field. Check the JSON example in each [hook event](#hook-events) section | -| `effort` | Object with a `level` field holding the [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) in effect when the hook runs: `"low"`, `"medium"`, `"high"`, `"xhigh"`, or `"max"`. If you set a level the active model doesn't support, `level` reports the level Claude Code ran instead; [Adjust effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) says how it picks that level. The object matches the [status line](https://code.claude.com/docs/en/statusline.md#available-data) `effort` field. Present for events that fire within a tool-use context, such as `PreToolUse`, `PostToolUse`, `Stop`, and `SubagentStop`, when the current model supports the effort parameter. The level is also available to hook commands and the Bash tool as the `$CLAUDE_EFFORT` environment variable. | +| `effort` | Object whose `level` is the [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) setting when the hook runs, including a skill's, subagent's, or `ultrathink` level: `"low"`, `"medium"`, `"high"`, `"xhigh"`, or `"max"`. Present for `PreToolUse`, `PostToolUse`, `Stop`, `SubagentStop`, and other events with a tool-use context, on models with effort. If the model doesn't support your level, `level` is the level that ran. A level you changed can show here before it [starts](https://code.claude.com/docs/en/model-config.md#when-a-new-effort-level-starts). `$CLAUDE_EFFORT` holds the same level. | | `hook_event_name` | Name of the event that fired | `agent_id` and `agent_type` tell your script which agent a hook fired in, such as a subagent, an [in-process teammate](https://code.claude.com/docs/en/agent-teams.md#choose-a-display-mode), or the agent you chose with `--agent`: @@ -1898,6 +1898,7 @@ Searches the web. | `query` | string | `"react hooks best practices"` | Search query | | `allowed_domains` | array | `["docs.example.com"]` | Optional: only include results from these domains | | `blocked_domains` | array | `["spam.example.com"]` | Optional: exclude results from these domains | +| `mode` | string | `"extended"` | Optional: search type. `"standard"` requests a lighter search and `"extended"` the full search. Some sessions don't send `mode`, and a call without it runs the full search. Requires Claude Code v2.1.282 or later | ##### Agent @@ -1968,8 +1969,6 @@ A hook that blocks by exiting 2 routes the same way as `"deny"`: Claude sees the When a hook returns `"ask"`, the permission prompt displayed to the user includes a label identifying where the hook came from: `[settings]` for a hook from any settings file or from agent frontmatter, `[plugin:]` for a plugin's hook, or `[skill]` for a hook from skill frontmatter. This helps users understand which configuration source is requesting confirmation. -A hook's `"ask"` also forces a permission prompt in [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode): the classifier can still deny the tool call, but it can't approve the call silently. - ```json theme={null} { "hookSpecificOutput": { @@ -1988,6 +1987,15 @@ A hook's `"ask"` also forces a permission prompt in [auto mode](https://code.cla > > PreToolUse previously used top-level `decision` and `reason` fields, but these are deprecated for this event. Use `hookSpecificOutput.permissionDecision` and `hookSpecificOutput.permissionDecisionReason` instead. The deprecated values `"approve"` and `"block"` map to `"allow"` and `"deny"` respectively. Other events like PostToolUse and Stop continue to use top-level `decision` and `reason` as their current format. +#### PreToolUse `ask` decisions in auto mode + +In [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode), a PreToolUse hook's `"ask"` normally sends the tool call to the permission prompt, and the [classifier](https://code.claude.com/docs/en/permission-modes.md#how-the-classifier-evaluates-actions) doesn't decide it. Some calls take a different path: + +* **Calls that Claude Code's own checks flag too**: these include writes to [protected paths](https://code.claude.com/docs/en/permission-modes.md#protected-paths) and commands that ask to [run outside the sandbox](https://code.claude.com/docs/en/sandboxing.md#the-unsandboxed-retry-escape-hatch). The classifier can deny one of these calls before any prompt appears. If it approves, the call normally still goes to the prompt. +* **`SubagentHandback` calls**: this tool delivers a subagent's report. No prompt appears for it, and the call runs even if the classifier objects. + +To stop a `SubagentHandback` call, return `"deny"`. Claude Code then tells the subagent, up to three times, that its report wasn't delivered and to call the tool again. If your hook keeps denying, the subagent ends without delivering a report through this tool, and the conversation waiting on it gets a note saying so. + #### Tools that require user interaction `AskUserQuestion` and `ExitPlanMode` require user interaction. In [non-interactive mode](https://code.claude.com/docs/en/headless.md) with the `-p` flag, Claude Code offers them only when the run has a [permission host](https://code.claude.com/docs/en/headless.md#turn-off-permission-prompts-in-unattended-runs) to receive the prompt, such as an Agent SDK `canUseTool` callback. diff --git a/content/en/docs/claude-code/interactive-mode.md b/content/en/docs/claude-code/interactive-mode.md index 495ac2a058..bc083d7363 100644 --- a/content/en/docs/claude-code/interactive-mode.md +++ b/content/en/docs/claude-code/interactive-mode.md @@ -395,7 +395,7 @@ Press `Esc` to interrupt the turn without submitting your draft. Claude Code kee Claude Code runs some commands as soon as you send them instead of queueing them, among them `/model`, `/effort`, and `/fast`. Each of the three changes a setting: the model, the effort level, or fast mode. Whether Claude Code applies the new setting to the turn Claude is already working on, or only from your next turn, differs by command: -* [`/model`](https://code.claude.com/docs/en/model-config#setting-your-model): once you confirm the [cache warning](https://code.claude.com/docs/en/prompt-caching.md#switching-models), if Claude Code shows one, Claude Code applies your change to the next request it makes in that turn +* [`/model`](https://code.claude.com/docs/en/model-config#setting-your-model): once you confirm the [cache warning](https://code.claude.com/docs/en/prompt-caching.md#switching-models), if Claude Code shows one, Claude Code uses the new model from the next request it makes in that turn * `/effort`: the next message you send runs at the new level. To [start it in the turn Claude is already working on](https://code.claude.com/docs/en/model-config.md#when-a-new-effort-level-starts), queue a message while Claude is running tool calls * [`/fast`](https://code.claude.com/docs/en/fast-mode#toggle-fast-mode): Claude Code keeps the fast mode setting that was active when the turn started, so your speed change applies from your next turn. If your current model doesn't support fast mode, turning it on also [switches your model](https://code.claude.com/docs/en/prompt-caching.md#turning-on-fast-mode), and Claude Code uses the new model from its next request in that turn @@ -761,7 +761,7 @@ The wait also ends without continuing the task in these cases: * **You send a prompt**: Claude Code sends your prompt instead of waiting. If your prompt hits the limit too, it stays in the conversation and Claude Code starts the wait again. * **You exit Claude Code**: the wait doesn't restart when you resume the session. -* **The conversation changes hands**: you switch accounts with `/login`, clear or rewind the conversation, `/resume` another session, pull one with `/teleport`, relaunch with `/tui`, or hand the session to Claude Desktop, a background session, or the cloud. +* **The conversation changes hands**: you switch accounts with `/login`, clear or rewind the conversation, `/resume` another session, pull one with `/teleport`, relaunch with `/tui` or [`/restart`](https://code.claude.com/docs/en/commands#all-commands), or move the session to Claude Desktop, a background session, or the cloud. * **The setting turns off, or the reset moves past 24 hours**: this ends only a wait Claude Code started on its own. A wait you picked from `/rate-limit-options` keeps counting down. * **The continuation is blocked**: a [`UserPromptSubmit` hook](https://code.claude.com/docs/en/hooks#userpromptsubmit) that blocks the continuation prompt, or a failure before it reaches the model, ends the wait. Claude Code tells you the continuation didn't run. Send a prompt to continue. diff --git a/content/en/docs/claude-code/model-config.md b/content/en/docs/claude-code/model-config.md index 306fa2982a..47838fd967 100644 --- a/content/en/docs/claude-code/model-config.md +++ b/content/en/docs/claude-code/model-config.md @@ -92,7 +92,7 @@ On the Anthropic API, a Fable model appears in the `/model` picker unless [`avai Depending on your plan and seat tier, Fable usage can bill to [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) instead of drawing on your plan's included limits. When it does, the `/model` picker shows "Requires usage credits" on the Fable row. To manage usage credits, see [Add usage credits to your subscription](https://code.claude.com/docs/en/costs.md#add-usage-credits-to-your-subscription). -In interactive sessions, Claude Code shows a consent prompt before a Fable request bills usage credits. Members of Enterprise plans with organization billing don't see the prompt. You can continue on Fable using usage credits or switch to your default model. You can also dismiss the prompt: +In interactive sessions, Claude Code can show a Fable usage-credits consent prompt. Members of Enterprise plans with organization billing don't see the prompt. You can continue on Fable using usage credits or switch to your default model. You can also dismiss the prompt: * When you select a Fable model with `/model`, you keep your current model. * Mid-session, Claude Code continues the turn on your default model. @@ -544,7 +544,7 @@ A different level applies in cases such as these: * **Your own change**: once you choose an effort level, pick a model in `/model`, or resume the session later, the flagged request's level no longer carries over. * **Effort set for one turn**: if you raised the flagged turn with `ultrathink`, or a skill's `effort` frontmatter set its level, that level applies to that turn. Later turns run at the level the [effort resolution order](#adjust-effort-level) gives the fallback model. -In the session, run `/effort status` to see the level in effect, or `/effort` to change it. +To see the level set for your session after a fallback, run `/effort status`. To change it, run `/effort`. #### Check what triggered fallback @@ -607,9 +607,11 @@ If you set a level the active model does not support, Claude Code falls back to Claude Code resolves the session's effort level in this order, taking the first that applies: -1. An explicit choice: the [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/en/env-vars#variables) environment variable, launching with `--effort`, or `/effort` in the session ([a non-interactive `/effort` has narrower effect](#non-interactive-effort)) -2. Your settings: the level you saved for the model or an [`effortLevel`](https://code.claude.com/docs/en/settings-reference#effortlevel) key, with the precedence between them and across settings files stated at [`modelSettings`](https://code.claude.com/docs/en/settings-reference#modelsettings) -3. The model's default effort: `high` on every model that supports effort, except that Opus 5.5, Sonnet 5.5, and Haiku 5.5 default to `medium`, Opus 4.7 defaults to `xhigh`, and, when your organization sets a default effort level for its [organization default model](#organization-default-model), that level is the default when you run that model +1. The [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/en/env-vars#variables) environment variable +2. A level you pick in the session, such as with `/effort`, the `/model` picker, or [`applyFlagSettings()`](https://code.claude.com/docs/en/agent-sdk/typescript#applyflagsettings) +3. Launching with `--effort` +4. Your settings: the level you saved for the model or an [`effortLevel`](https://code.claude.com/docs/en/settings-reference#effortlevel) key, with the precedence between them and across settings files stated at [`modelSettings`](https://code.claude.com/docs/en/settings-reference#modelsettings) +5. The model's default effort: `high` on every model that supports effort, except that Opus 5.5, Sonnet 5.5, and Haiku 5.5 default to `medium` and Opus 4.7 defaults to `xhigh`. If your organization sets a default effort level for its [organization default model](#organization-default-model), that level is the default when you run that model. After an automatic model fallback, see [Effort level after a fallback](#effort-level-after-a-fallback) for the level that applies. @@ -687,20 +689,20 @@ Typed in the terminal prompt, the word can also raise that turn to `xhigh` effor You can change effort through any of the following: * **`/effort`**: run `/effort` with no arguments to open an interactive slider, `/effort` followed by a level name to set it directly, or `/effort auto` to clear your saved level for the active model -* **In `/model`**: use left/right arrow keys to adjust the effort slider when selecting a model +* **In `/model`**: use left/right arrow keys to adjust the effort slider when selecting a model. The new level starts with your next message at the latest. Until then, Claude can keep working at the old level, even on a new model. While a [source that outranks your pick](#adjust-effort-level) applies, such as `CLAUDE_CODE_EFFORT_LEVEL`, Claude works at that source's level instead. * **`--effort` flag**: pass a level name to set it for a single session when launching Claude Code * **Environment variable**: set `CLAUDE_CODE_EFFORT_LEVEL` to a level name. To have Claude Code [send no effort level](#send-no-effort-level), set it to `auto` or `unset` instead * **Settings**: set a per-model level in [`modelSettings`](https://code.claude.com/docs/en/settings-reference#modelsettings), or set [`effortLevel`](https://code.claude.com/docs/en/settings-reference#effortlevel) to `low`, `medium`, `high`, or `xhigh` as the default for models without one. `max` isn't accepted as a level in either key, and `ultracode` has its own [`ultracode`](https://code.claude.com/docs/en/settings-reference#ultracode) key * **From a connected device**: in a [Remote Control](https://code.claude.com/docs/en/remote-control.md#what-connected-devices-see) session, pick a level from the effort control on your phone or in your browser. The level applies to the current session only. Requires Claude Code v2.1.234 or later * **Skill and subagent frontmatter**: set `effort` in a [skill](https://code.claude.com/docs/en/skills.md#frontmatter-reference) or [subagent](https://code.claude.com/docs/en/sub-agents.md#supported-frontmatter-fields) markdown file to override the effort level when that skill or subagent runs -Frontmatter effort applies when that skill or subagent is active, overriding the session level but not the environment variable. A [`maxEffortLevel`](https://code.claude.com/docs/en/settings-reference#maxeffortlevel) or [organization effort cap](#organization-effort-limits) still limits the level the skill or subagent runs at. +A skill's `effort` applies until the end of the turn it runs in, or for the forked subagent's run with `context: fork`. A subagent's `effort` applies while the subagent runs, unless [its invocation overrides it](https://code.claude.com/docs/en/sub-agents.md#choose-an-effort-level). While either one applies, the skill or subagent runs at its level, whatever level you launch with, save, or pick. If `CLAUDE_CODE_EFFORT_LEVEL` is set, that level applies instead. -If you set `effortLevel` in [managed settings](https://code.claude.com/docs/en/managed-settings.md), Claude Code applies it at the settings step of the [effort resolution order](#adjust-effort-level), and users can still change the level with `/effort` or `--effort`. To keep users at or below a level, set [`maxEffortLevel`](https://code.claude.com/docs/en/settings-reference#maxeffortlevel). +A [`maxEffortLevel`](https://code.claude.com/docs/en/settings-reference#maxeffortlevel) or [organization effort cap](#organization-effort-limits) still limits the level the skill or subagent runs at. If you set `effortLevel` in [managed settings](https://code.claude.com/docs/en/managed-settings.md), Claude Code applies it at the settings step of the [effort resolution order](#adjust-effort-level), and users can still change the level with `/effort` or `--effort`. To keep users at or below a level, set [`maxEffortLevel`](https://code.claude.com/docs/en/settings-reference#maxeffortlevel). #### Check the effort level you set -The effort slider appears in `/model` when a supported model is selected. A level in the session header, for example "with low effort", comes from your effort setting, even if Claude is [still working at the old level](#when-a-new-effort-level-starts). The footer also briefly shows the effort level at startup and when it changes. +The effort slider appears in `/model` when a supported model is selected. A level in the session header, for example "with low effort", comes from your effort setting, even if Claude is [still working at the old level](#when-a-new-effort-level-starts). At startup and when you change it, the footer also briefly shows the level set for your session. #### When a new effort level starts diff --git a/content/en/docs/claude-code/monitoring-usage.md b/content/en/docs/claude-code/monitoring-usage.md index a283025f8f..ea84d74878 100644 --- a/content/en/docs/claude-code/monitoring-usage.md +++ b/content/en/docs/claude-code/monitoring-usage.md @@ -556,7 +556,7 @@ Anyone who uses an environment can read its variables, so don't put a credential Keep these constraints in mind when you configure telemetry for cloud sessions: * **Let sessions reach the collector**: Claude Code sends the export through the session's network, so whether it reaches the host in your `OTEL_EXPORTER_OTLP_ENDPOINT` depends on the environment's [network access level](https://code.claude.com/docs/en/cloud-environments.md#access-levels). If sessions can't reach the collector's domain at the level you chose, [add the domain to the environment's allowlist](https://code.claude.com/docs/en/cloud-environments.md#allow-specific-domains), because no server-managed setting adds domains to an environment's network allowlist. -* **Claude Tag channels use organization-level environments**: channel sessions run in organization-level environments rather than members' personal ones, so make the allowlist and any environment-variable changes on the [shared environment](https://code.claude.com/docs/en/cloud-environments.md#organization-shared-environments) set as your organization's default or pinned to the channel. +* **Claude Tag channels**: make the allowlist and any environment-variable changes on the [shared environment](https://code.claude.com/docs/en/cloud-environments.md#organization-shared-environments) set as your organization's default or pinned to the channel. * **Cowork is configured separately**: Cowork sessions don't receive server-managed settings, as the [surface coverage table](https://code.claude.com/docs/en/model-config.md#surface-coverage) shows, so the server-managed `env` block doesn't configure their telemetry. ### Attribute telemetry to cloud sessions @@ -1471,6 +1471,7 @@ When Claude Code can't safely determine the retention period, it pauses the swee * `"user_source_disabled"`: User settings are excluded, for example by the [`--setting-sources`](https://code.claude.com/docs/en/cli-reference#cli-flags) flag or the SDK's [`settingSources`](https://code.claude.com/docs/en/agent-sdk/typescript#options) option, and no enabled source provides `cleanupPeriodDays` * `"settings_unknowable"`: A settings file couldn't be read or parsed, so `cleanupPeriodDays` or `desktopSessionCleanupPeriodDays` may be set to a value Claude Code can't see * `"settings_invalid_key_set"`: Settings have validation errors and `cleanupPeriodDays` or `desktopSessionCleanupPeriodDays` is explicitly set, so falling back to the default could delete or keep files against that setting + * `"remote_settings_unknowable"`: A session in Claude Desktop's Code tab on a third-party deployment requested [server-managed settings](https://code.claude.com/docs/en/server-managed-settings.md). It received no usable response, so `cleanupPeriodDays` may be set to a value Claude Code can't see * `transcripts_deleted`: Number of session transcripts, the top-level `~/.claude/projects/*/*.jsonl` files, that the sweep deleted * `transcripts_exempted_desktop`: Number of transcripts past the retention period that the sweep kept under the [Claude Desktop and Cowork rule](https://code.claude.com/docs/en/claude-directory.md#cleaned-up-automatically). These don't count toward `files_past_cutoff`. Requires Claude Code v2.1.248 or later * `session_files_deleted`: Number of artifacts the session-files sweep deleted: transcripts plus per-session companion files such as sidecars, recordings, and tool results diff --git a/content/en/docs/claude-code/prompt-caching.md b/content/en/docs/claude-code/prompt-caching.md index eaaf192087..4daed53eb4 100644 --- a/content/en/docs/claude-code/prompt-caching.md +++ b/content/en/docs/claude-code/prompt-caching.md @@ -94,7 +94,7 @@ When a skill or command's frontmatter names a [`model`](https://code.claude.com/ On most models, changing the [effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) mid-session means the next request reads the entire conversation history with no cache hits. While the cache is still warm, Claude Code asks you to confirm the change first. -On Opus 5.5, Sonnet 5.5, Haiku 5.5, and Fable 5.1 with an API key or a Claude subscription, changing effort keeps the cache, and Claude Code applies the new level without asking. This doesn't apply on Amazon Bedrock, Google Cloud's Agent Platform, or a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway), or when you set [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/en/llm-gateway-protocol#disable-pre-release-capabilities) or your organization has a HIPAA configuration. +On Opus 5.5, Sonnet 5.5, Haiku 5.5, and Fable 5.1 with an API key or a Claude subscription, you keep the cache when you change effort. Claude Code [applies the new level](https://code.claude.com/docs/en/model-config.md#when-a-new-effort-level-starts) without asking. On Amazon Bedrock, Google Cloud's Agent Platform, or a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway), or when you set [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/en/llm-gateway-protocol#disable-pre-release-capabilities) or your organization has a HIPAA configuration, it works as on most models. Before v2.1.260, changing effort on Fable 5.1 with an API key or a Claude subscription also invalidated the cache. diff --git a/content/en/docs/claude-code/sandboxing.md b/content/en/docs/claude-code/sandboxing.md index 6da155b783..c4545db953 100644 --- a/content/en/docs/claude-code/sandboxing.md +++ b/content/en/docs/claude-code/sandboxing.md @@ -565,6 +565,8 @@ A newer `objects` or `refs` folder with contents is deleted too, with its conten On macOS, when a denied path passes through a symlink, such as a `~/.claude` that is a link into a dotfiles repository, the sandbox also denies the path's real location. This covers the sandbox's own denials and your literal `denyWrite` and `denyRead` entries. +A `denyWrite` entry that contains `*`, `?`, or `[` is also covered when a folder before the first of those characters is a symlink. For example, `~/.claude/*.json` is also denied under the real location of `~/.claude`. + ### Network isolation A sandboxed command has no direct route to the network: diff --git a/content/en/docs/claude-code/self-hosted-environments-configuration.md b/content/en/docs/claude-code/self-hosted-environments-configuration.md index ace6d67093..75b2dd90d0 100644 --- a/content/en/docs/claude-code/self-hosted-environments-configuration.md +++ b/content/en/docs/claude-code/self-hosted-environments-configuration.md @@ -42,6 +42,7 @@ The runner sets the following in the wrapper's environment: | `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Path to a file in `CLAUDE_CONFIG_DIR` holding the MCP server definitions that Anthropic's control plane delivered for this session. If your wrapper rebuilds the child's environment, carry this variable over. Without it, when the control plane updates the delivered servers, the child shuts down any stdio, HTTP, or SSE server your wrapper adds with [`--mcp-config`](https://code.claude.com/docs/en/cli-reference#cli-flags) that isn't in the update. Requires Claude Code v2.1.299 or later. | | `ANTHROPIC_BASE_URL` | The API base URL the child will use, delivered by the control plane per session and normally `https://api.anthropic.com`. Don't override it: the session's inference credential is an Anthropic-issued OAuth token that other providers don't accept. | | `CLAUDE_CODE_OAUTH_TOKEN` | The short-lived OAuth access token the child uses for model inference, with a lifetime of about 30 minutes. The runner re-mints it before expiry and delivers the rotation over the child's stdin, so a wrapper that doesn't [keep stdin attached](#keep-stdin-and-file-descriptor-3-attached) sees only the initial value. Don't rely on your organization's IP allowlist to bound this token's use: treat it as a bearer credential that stays usable for roughly 30 minutes if it leaks, and don't log it, write it to disk, or forward it outside the session container. | +| `CLAUDE_RUNNER_ALIVE_EVERY_MS` | The runner sets how often, in milliseconds, the child reports that it's alive when a [turn starts before the child initializes](https://code.claude.com/docs/en/self-hosted-environments-reference.md#session-startup-timeout). If your wrapper rebuilds the child's environment, carry this variable over, or the runner can release the session during that turn and log `no child output for — releasing`. Requires v2.1.309 or later on the runner and child. | The wrapper also inherits the rest of the child's managed environment, including any server-provided environment variables. `exec` propagates all of it automatically; if your wrapper spawns the child another way, forward the full environment. @@ -307,7 +308,7 @@ The orchestrator runs `${hooks-dir}/spawn-runner` once per spawn request. The ho | `CLAUDE_RUNNER_ATTEMPT` | A per-session counter to use for logging. It isn't a retry count or a request count. `0` for pre-warming requests, though a request for a session can carry `0` too. | | `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Server time from the poll response's HTTP `Date` header. When the hook verifies the work-order JWT's `exp`, compare against this value instead of the local clock to tolerate skew. Empty when the gateway omitted the header. | | `CLAUDE_RUNNER_POOL_ID` | The ID of the environment the new runner should join, in `ccpool_...` form | -| `CLAUDE_RUNNER_ACCOUNT_ID` | Tagged ID of the account that enqueued the session. Use it for per-account routing, quota, or chargeback, not as a dedup key. Empty when unavailable, and always empty for Claude Tag channel sessions, which no account enqueues. | +| `CLAUDE_RUNNER_ACCOUNT_ID` | Tagged ID of the account that enqueued the session. Use it for per-account routing, quota, or chargeback, not as a dedup key. Empty when unavailable. | | `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Email of the account that enqueued the session. Empty when unavailable. Treat the email as personally identifiable information and don't log it. | | `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL of the session's first git source, for routing to a runner with that repository pre-warmed. Empty when the session has no git sources. | | `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Revision of the session's first git source: branch, SHA, tag, or full reference name. Empty when unspecified. | @@ -381,7 +382,7 @@ By default, a runner your hook starts doesn't exit when its session's turn finis | Flag, with an example value | Pass it to | What it does | | :- | :- | :- | -| `--release-idle-session-min 30` | Every runner your hook starts | The runner releases its session after that many idle minutes and then exits 0. The session resumes when its user sends their next message, but [work it hadn't pushed is gone](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#additional-limitations). [Hold a session](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run) for processes it left running. | +| `--release-idle-session-min 30` | Every runner your hook starts | The runner releases its session after that many idle minutes and then exits 0. The session resumes when its user sends their next message, but [work it hadn't pushed is gone](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work). [Hold a session](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run) for processes it left running. | | `--kill-session-after-min 480` | Every runner your hook starts | Limits each session to that many minutes, as a backstop for [sessions that don't count as idle](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), so set it above your longest expected session | | `--exit-if-unused-min 60` | Standby runners, which your hook starts for pre-warming requests | A standby that never takes a session exits after that many minutes. If you set [`--min-idle`](https://code.claude.com/docs/en/self-hosted-environments-reference#orchestrator-cli-flags), you get a replacement unless the standby was surplus, so use a value well above your boot time. | @@ -761,7 +762,7 @@ The Stop hook only prompts Claude. For the commit and push to work, set up: * **A git identity**: set `user.name` and `user.email` in your runner image, or start the runner with [`--configure-git`](https://code.claude.com/docs/en/self-hosted-environments-deploy#let-the-runner-configure-git) * **Push credentials**: use [Anthropic-managed git](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), or supply credentials as [Ship git config in your image](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#ship-git-config-in-your-image) describes -* **For resumed sessions**: set [`--push-outcome-on-release`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags) on every runner in the environment. A resumed session then starts from the commits that Claude pushed to the session's branch. For the flag's limits, see [Resumed sessions lose unpushed work](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#additional-limitations). +* **For resumed sessions**: set [`--push-outcome-on-release`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags) on every runner in the environment. A resumed session then starts from the commits that Claude pushed to the session's branch. For the flag's limits, see [Resumed sessions lose unpushed work](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work). The Stop hook prompts at most once per turn. If the commit or push fails, the turn still ends. Look for git's error in the session and fix what it names. diff --git a/content/en/docs/claude-code/self-hosted-environments-deploy.md b/content/en/docs/claude-code/self-hosted-environments-deploy.md index 6da7667176..20db4e4ed0 100644 --- a/content/en/docs/claude-code/self-hosted-environments-deploy.md +++ b/content/en/docs/claude-code/self-hosted-environments-deploy.md @@ -63,6 +63,7 @@ Whether these hosts are needed depends on your configuration: | Host | Port | When required | | :- | :- | :- | +| `api.github.com` | 443 | With or without `--use-anthropic-git-proxy`, when the runner image includes the [GitHub CLI](#github-api-access-with-the-github-cli) and you give sessions a github.com credential, such as a `GH_TOKEN` | | `downloads.claude.ai` | 443 | At install time, when you install or update Claude Code on the host with the native installer; the `install.sh` script itself is served from `claude.ai`. At session runtime, only when sessions install plugins from the official Anthropic marketplace. | | `storage.googleapis.com` | 443 | At session runtime, for the plugin install counts and metadata shown in `/plugin`. | | `code.claude.com` and `claude.com` | 443 | Documentation lookups by the built-in claude-code-guide agent and pre-approved WebFetch requests during sessions. Blocking these hosts only affects documentation lookups. | @@ -167,7 +168,7 @@ Whichever mechanism you configure must work without a prompt, because the runner * The runner sets `GIT_TERMINAL_PROMPT=0`, so git doesn't ask for a username or password. * The runner runs SSH with `BatchMode=yes`, appended to your `GIT_SSH_COMMAND` if you set one, so SSH doesn't ask for a passphrase or host confirmation. -* The runner sets `GCM_INTERACTIVE=never`, so Git Credential Manager doesn't open a sign-in dialog. +* The runner sets `GCM_INTERACTIVE=never`, so Git Credential Manager doesn't open a sign-in dialog. Before v2.1.229, repository preparation could hang on a Git Credential Manager prompt. * The runner clears `core.askPass`, so if you use an askpass helper, set it through the `GIT_ASKPASS` environment variable instead. If your git host rejects the credential, or you didn't configure one, the runner retries a few times and then fails repository preparation when the repository is the one the session pushes results to. For a repository the session only reads from, [Troubleshooting](#troubleshooting) covers when the runner skips it instead. The runner doesn't pass these settings into the session's environment. @@ -287,7 +288,11 @@ gh api repos/{owner}/{repo}/pulls -f title='Fix' -f head='my-branch' -f base='ma * **`jq`**: install `jq` in the image if you want `--jq` to work * **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/en/env-vars)**: if the session environment sets it, Claude Code doesn't provide the built-in `gh`, and the session has no `gh` -When the image includes the GitHub CLI, sessions use it. +#### GitHub API access with the GitHub CLI + +If your runner image includes the GitHub CLI for sessions to use, have your [wrapper script](https://code.claude.com/docs/en/self-hosted-environments-configuration.md#provision-credentials-scoped-to-the-session-creator) mint a short-lived, least-scoped `GH_TOKEN` per session for the session's creator. When `gh` is on the `PATH` that Claude Code starts with, the session has that `gh` and no [built-in `gh`](#github-api-access-without-the-github-cli). With the token, that `gh` reaches GitHub with whatever access the token grants and outside Anthropic-managed git, so allow [`api.github.com`](#network-requirements). + +With Anthropic-managed git, leave the GitHub CLI out of the image to use the built-in `gh` instead. #### Trust a private certificate authority with Anthropic-managed git @@ -343,6 +348,25 @@ Repository URLs arrive from the control plane as HTTPS, with the hostname of you Host rewriting runs first, so list the internal hostname in `--git-ssh-rewrite` if you need both. For full control over checkout, use a [`checkout` lifecycle hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#checkout). +### Start a session on a repository outside GitHub + +To run a session on a repository from a git host other than GitHub, start the session from your terminal, in a checkout of that repository. First check the runner's git credentials, network and git proxy, the repository's address, and your branch: + +* **Git credentials and network**: [supply credentials](#ship-git-config-in-your-image) that [work without a prompt](#git-must-work-without-a-prompt) for `https:////`, the address the runner clones, and let the runner reach your git host, as [Network requirements](#network-requirements) lists. For a git host that only accepts SSH, see [`--git-ssh-rewrite`](#rewrite-git-urls-for-private-networks). +* **Git proxy**: if the environment's runners use the Anthropic git proxy, [turn it off](#turn-the-anthropic-git-proxy-off). +* **Repository address**: check the checkout's `origin` remote. Its host must be a domain name such as `git.example.com`, and its path must have the form `/`. A nested path such as `group/subgroup/name` doesn't pass. +* **Branch**: push the branch you're on to your git host, because the runner clones that branch. + +In the checkout, signed in to claude.ai as [Authenticate from CI](https://code.claude.com/docs/en/self-hosted-environments-testing.md#authenticate-from-ci) describes, run `claude -p` with [`--environment`](https://code.claude.com/docs/en/self-hosted-environments-testing#run-the-test-loop) and your environment's `ccpool_...` ID: + +```bash theme={null} +claude -p "Fix the login bug" --environment ccpool_abc123 --output-format json +``` + +When the session is created, the command prints one line of JSON that starts with `{"ok":true`. If the `origin` remote doesn't fit, the command fails with `requires a git source, but no GitHub remote was detected`. + +Review and merge on your git host the branches that sessions [push](https://code.claude.com/docs/en/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work). + ## Build the runner image Anthropic doesn't publish a pre-built runner image. Build your own around the `claude` binary, layering in whatever toolchain your repositories need: language runtimes, compilers, package managers, and [MCP](https://code.claude.com/docs/en/mcp.md) sidecars. @@ -617,7 +641,7 @@ Allow more time if you set either of these flags: ### Let running turns finish before a restart -To let running turns finish before a rolling restart, set `--drain-wait-sec`, and raise your stop timeout to at least that wait plus 80 seconds. With the default wait of `0`, a restart cuts off any turn that's still running, and the session resumes on another runner without its [unpushed work](#additional-limitations). +To let running turns finish before a rolling restart, set `--drain-wait-sec`, and raise your stop timeout to at least that wait plus 80 seconds. With the default wait of `0`, a restart cuts off any turn that's still running, and the session resumes on another runner without its [unpushed work](#resumed-sessions-lose-unpushed-work). * **`--drain-wait-sec`**: about as long as the turns and background tasks you want to let finish. It's a maximum: the wait ends early if they finish first. * **Your stop timeout**: `terminationGracePeriodSeconds` in Kubernetes, `stop_grace_period` in Docker Compose. For example, with `--drain-wait-sec 120`, replace the `90` in the [Kubernetes](#kubernetes) or [Docker Compose](#docker-compose) recipe with `200`. @@ -735,7 +759,7 @@ To check, read `claude_code_self_hosted_runner_session_idle_seconds` in each run To release idle sessions, start every runner with [`--release-idle-session-min`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags) and that time in minutes, such as `--release-idle-session-min 30`. The runner then releases any session that stays idle that long, whether a scheduled task or a person started it, unless you [hold it for processes it left running](#keep-an-idle-session-while-its-processes-run). -* **Unpushed work**: a released session resumes at its next message, without the work it hadn't pushed. To keep its commits, see [Resumed sessions lose unpushed work](#additional-limitations). +* **Unpushed work**: a released session resumes at its next message, without the work it hadn't pushed. To keep its commits, see [Resumed sessions lose unpushed work](#resumed-sessions-lose-unpushed-work). * **Runner exits**: a runner that releases its last session starts a [normal exit](#when-the-runner-exits). Have your supervisor restart it on a fresh filesystem, as [Harden your deployment](#harden-your-deployment) describes. * **Sessions that never go idle**: also set [`--kill-session-after-min`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags), because [some sessions don't count as idle](#some-sessions-don’t-count-as-idle) @@ -811,22 +835,32 @@ A session holding a background task that never finishes doesn't count as idle, s * If a turn is still running, the runner waits for the turn to finish, or for the session to next wait on its user, and then releases it. * If the session is still on the runner when the grace window ends, the runner terminates it, and any running turn's work is lost. A turn waiting on an approval requested from inside a running tool call is one way a session outlasts the window. -A released session resumes from a fresh clone, so work it hadn't pushed is gone either way; see [Resumed sessions lose unpushed work](#additional-limitations). Before v2.1.260, the runner terminated every session at the limit, after waiting at most the grace window for a running turn to finish. +A released session resumes from a fresh clone, so work it hadn't pushed is gone either way; see [Resumed sessions lose unpushed work](#resumed-sessions-lose-unpushed-work). Before v2.1.260, the runner terminated every session at the limit, after waiting at most the grace window for a running turn to finish. Set the flag above your longest expected session, such as `--kill-session-after-min 480` for 8 hours. To free slots from conversations that go idle, use `--release-idle-session-min` instead. +### Resumed sessions lose unpushed work + +A session that resumes on a fresh runner loses the work it hadn't pushed, because that runner clones the repository again from its starting branch. + +To keep committed work, set [`--push-outcome-on-release`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags) on every runner in the environment. A runner with the flag makes a best-effort push of the session's outcome branches before it releases, and the resumed session starts from those commits. A runner without it resumes the session from its starting branch. The push uses the runner host's own git credentials, including on a runner that uses [Anthropic-managed git](#use-the-anthropic-git-proxy). + +> [!WARNING] +> +> Before you set the flag, restrict who can push to `claude/*` refs on the source remote. On resume, the runner fetches the previously pushed branch without verifying who pushed it. + +Even with the flag set, save this work another way: + +* **Uncommitted changes**: these are still lost. See [Prompt sessions to push their work](https://code.claude.com/docs/en/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work). +* **Repositories checked out via a [`checkout` lifecycle hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#checkout)**: these aren't pushed. Snapshot them from the [`post-session` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#post-session). +* **Commits in a session that someone archives or deletes, or whose runner they release from the session's menu**: don't count on the flag's push. To save them, push `HEAD` to a rescue branch from a [`post-session` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#post-session). The example there pushes only after a snapshot commit, so make yours push even when nothing is uncommitted. + ### Additional limitations -* **Resumed sessions lose unpushed work**: a fresh runner clones the repository again from its starting branch, so work the session hadn't pushed is gone. - * **To keep committed work**: set [`--push-outcome-on-release`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags) on every runner in the environment, because a runner without the flag resumes the session from its starting branch. A runner with the flag makes a best-effort push of the session's outcome branches before it releases, and the resumed session starts from those commits. The push uses the runner host's own git credentials, including on a runner that uses [Anthropic-managed git](#use-the-anthropic-git-proxy). - * **With a `checkout` hook**: repositories checked out via a [`checkout` lifecycle hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#checkout) aren't pushed. Snapshot those from the [`post-session` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#post-session) instead. - * **Before enabling the flag**: restrict who can push to `claude/*` refs on the source remote. On resume, the runner fetches the previously pushed branch without verifying who pushed it. - * **Uncommitted changes are still lost**: to prompt Claude to commit and push when it finishes responding, see [Prompt sessions to push their work](https://code.claude.com/docs/en/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work) * **A command cut off by a lost runner can run again**: when the session resumes on another runner, Claude sees the interrupted tool call with a result saying its outcome is unknown. * **A repository added mid-session can fail to clone**: Claude clones it with `git clone` over HTTPS. On a runner without [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), the clone fails with a git authentication error if nothing on the host can read the repository. Where you can, select every repository the session needs when you create it. * **When the session resumes**: a [`checkout` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#checkout) runs for the added repository too, with [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/en/self-hosted-environments-configuration#checkout) empty, so make your hook handle that. * **Some connectors don't appear in self-hosted sessions**: a connector you haven't yet connected in claude.ai Settings isn't listed in a self-hosted session, and the session won't prompt you to connect it. Connect it in Settings first, then start a fresh session. Adding a connector to an already-running session also doesn't make its tools available to Claude; start a fresh session to pick up a newly added connector. -* **When someone archives or deletes a session, or releases its runner from the session's menu**: don't count on the [`--push-outcome-on-release`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags) push. To save commits in those cases, push `HEAD` to a rescue branch from a [`post-session` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#post-session). If you start from the example there, make it push even when nothing is uncommitted, because it pushes only after a snapshot commit. ### Report an issue diff --git a/content/en/docs/claude-code/self-hosted-environments-identity.md b/content/en/docs/claude-code/self-hosted-environments-identity.md index 058283fdb7..99c6cc5b4b 100644 --- a/content/en/docs/claude-code/self-hosted-environments-identity.md +++ b/content/en/docs/claude-code/self-hosted-environments-identity.md @@ -84,7 +84,9 @@ Reject the token if `exp` is in the past. Anthropic issues session tokens with a **7. Read the identity** -The creating user's identity is in the `act` claim: `act.sub` is their Anthropic user ID in the prefixed form `user:`, and `act.email`, when the creating surface recorded one, is their email address. Sessions your organization's service identity creates, including Claude Tag channel sessions, carry an `agent:` subject instead, so treat a session as user-created only when `act.sub` carries the `user:` prefix, rather than testing whether identity claims are absent. See the [claims reference](#claims-reference) for the full structure and the flat duplicate claims. +The creating user's identity is in the `act` claim. `act.sub` is their Anthropic user ID in the prefixed form `user:`, and `act.email`, when the creating surface recorded one, is their email address. Sessions your organization's service identity creates carry an `agent:` subject instead. Treat a session as user-created only when `act.sub` carries the `user:` prefix, rather than testing whether identity claims are absent. + +See the [claims reference](#claims-reference) for the full structure and the flat duplicate claims. The checks map directly onto standard JWT libraries. The examples below implement the full sequence in Node.js with [`jose`](https://www.npmjs.com/package/jose), which handles JWKS fetching, caching, and `kid` selection, and in Python with [`PyJWT`](https://pyjwt.readthedocs.io/) and its built-in JWKS client. @@ -185,7 +187,9 @@ If `decode-token` can't fetch the keys from the JWKS endpoint or can't verify th ## Claims reference -The table below lists the session token claims relevant to verification. Read identity from the `ccr:*` namespace and the `act` chain; the flat `account_email`, `organization_uuid`, and `account_uuid` claims are backward-compatibility duplicates that may be removed. Sessions your organization's service identity creates, including Claude Tag channel sessions, carry an `agent:` subject in `act.sub` and omit `act.email`, `ccr:account_id`, `account_email`, and `account_uuid`. The two email claims are optional for user-created sessions too: Anthropic records them at session creation only when the creating request's credentials carry an email, and a session dispatched from the CLI can lack both, so key identity on `act.sub` or `ccr:account_id` rather than on email. Tokens can also carry additional claims beyond this table; ignore claims you don't recognize. +Read identity from the `ccr:*` namespace and the `act` chain; the flat `account_email`, `organization_uuid`, and `account_uuid` claims are backward-compatibility duplicates that may be removed. Sessions your organization's service identity creates carry an `agent:` subject in `act.sub` and omit `act.email`, `ccr:account_id`, `account_email`, and `account_uuid`. + +The two email claims are optional for user-created sessions too. Anthropic records them at session creation only when the creating request's credentials carry an email, and a session dispatched from the CLI can lack both. Key identity on `act.sub` or `ccr:account_id` rather than on email. Tokens can also carry additional claims beyond this table; ignore claims you don't recognize. The table below lists the session token claims relevant to verification. | Claim | Type | Description | | :- | :- | :- | @@ -211,7 +215,7 @@ The `act` claim records the full delegation path from the user or service identi | Path | Description | | :- | :- | -| `act.sub` | The creating user's Anthropic user ID, in the form `user:`, or `agent:` when your organization's service identity created the session, as it does for Claude Tag channel sessions. | +| `act.sub` | The creating user's Anthropic user ID, in the form `user:`, or `agent:` when your organization's service identity created the session. | | `act.email` | The creating user's email address, when one was recorded at session creation. Don't require it; key on `act.sub`. | | `act.attested_by` | Reserved for the upstream identity provider's attestation for the creating user. Expect it to be absent, and don't depend on it. Key on `act.sub`. If you need an address, read `act.email` when it's present. | | `act.act` | The runner that spawned the session. `act.act.sub` is `ccr:runner:`. | diff --git a/content/en/docs/claude-code/self-hosted-environments-reference.md b/content/en/docs/claude-code/self-hosted-environments-reference.md index 62bb8853a7..d64081333b 100644 --- a/content/en/docs/claude-code/self-hosted-environments-reference.md +++ b/content/en/docs/claude-code/self-hosted-environments-reference.md @@ -48,7 +48,7 @@ Most flags have a corresponding environment variable. When both are set, the fla | `--post-session-hook-timeout-sec ` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Budget for the [`post-session` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#post-session) on every session end, including runner shutdown | | `--proxy-authorization-command ` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | unset | Shell command the runner runs for every connection to your egress proxy, using its trimmed stdout as the `Proxy-Authorization` header value. Requires `HTTPS_PROXY` or `HTTP_PROXY`, and can't be combined with `--proxy-authorization-file`. See [Authenticate to an egress proxy](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requires Claude Code v2.1.238 or later. | | `--proxy-authorization-file ` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | unset | File the runner reads for every connection to your egress proxy, using its trimmed contents as the `Proxy-Authorization` header value. Use this flag for a token another process rotates in place. Carries the same requirements as `--proxy-authorization-command`, and can't be combined with it. See [Authenticate to an egress proxy](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Requires Claude Code v2.1.238 or later. | -| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | On a runner-initiated session end such as a drain or idle release, push tracked outcome branches to `origin` before deleting the workspace, so in-flight commits survive a restart. Best-effort; adds 30 seconds to the shutdown budget, and requires git 2.29 or newer to resume from the pushed branch. Restrict push access to `claude/*` refs before enabling; see [Resumed sessions lose unpushed work](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#additional-limitations). Repositories checked out via a `checkout` lifecycle hook aren't pushed; snapshot those from the [`post-session` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#post-session) instead. | +| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | On a runner-initiated session end such as a drain or idle release, the runner pushes primary session branches with new commits to `origin` before deleting the workspace. Best-effort; adds 30 seconds to the shutdown budget. Requires git 2.29 or later to resume from them. Restrict push access to `claude/*` refs; see [Resumed sessions lose unpushed work](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work). A `checkout` hook's repositories aren't pushed; snapshot those from the [`post-session` hook](https://code.claude.com/docs/en/self-hosted-environments-configuration#post-session). | | `--release-idle-session-min ` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Release a session slot after N minutes of inactivity once a turn finishes or the session waits for the user's action. [Some sessions don't count as idle](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), so pair with `--kill-session-after-min`. A finished background task keeps the session busy for at most the [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) window. To delay a release, set [`--hold-idle-file`](https://code.claude.com/docs/en/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` disables. | | `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | off | Remove a session's per-session directories under `/_sessions/` when the session ends on this runner, whatever the outcome. [Reuse a pre-warmed checkout](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) describes what they hold and who can read them when they stay. The removal is best-effort: the per-session directories stay in place when the runner is killed or reaches its drain deadline before cleanup runs. With the flag on, a failed or interrupted session's debug log isn't kept on disk. Requires Claude Code v2.1.268 or later. | | `--retire-at ` | `SELF_HOSTED_RUNNER_RETIRE_AT` | unset | Retire the runner at an absolute Unix timestamp in seconds, for infrastructure that kills the runner at a known time; [Runner lifecycle](https://code.claude.com/docs/en/self-hosted-environments#runner-lifecycle) describes the release sequence and how to size the margin. Values before 2001 or after the year 5138 are rejected by the flag and ignored by the environment variable. | diff --git a/content/en/docs/claude-code/self-hosted-environments.md b/content/en/docs/claude-code/self-hosted-environments.md index c0259db7de..2d043ec8a8 100644 --- a/content/en/docs/claude-code/self-hosted-environments.md +++ b/content/en/docs/claude-code/self-hosted-environments.md @@ -40,7 +40,10 @@ Check these before planning a rollout: * **Zero Data Retention and HIPAA**: unavailable for organizations with [Zero Data Retention](https://code.claude.com/docs/en/zero-data-retention.md) enabled or with the [HIPAA configuration](https://code.claude.com/docs/en/hipaa-setup.md) applied. * **Model inference**: sessions use the Anthropic API unless you configure a runner to [send model requests to Amazon Bedrock or Google Cloud's Agent Platform](https://code.claude.com/docs/en/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform). Session content goes to Anthropic in both cases. On a runner configured this way, [server-managed settings](https://code.claude.com/docs/en/server-managed-settings.md) and organization policies from claude.ai don't reach sessions. * **Surfaces**: sessions started from [claude.ai/code](https://claude.ai/code), the mobile and desktop apps, [cloud scheduled tasks](https://code.claude.com/docs/en/routines.md), and the terminal, with [`claude --cloud`](https://code.claude.com/docs/en/claude-code-on-the-web#from-terminal-to-cloud) or an [`--environment` dispatch](https://code.claude.com/docs/en/self-hosted-environments-testing#run-the-test-loop), can run in self-hosted environments. [Claude Tag](https://claude.com/docs/claude-tag/overview) sessions can run in them too, but Claude can't use [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) in those sessions yet. [Claude Security](https://code.claude.com/docs/en/claude-security.md) and [Code Review](https://code.claude.com/docs/en/code-review.md) sessions don't route to them yet. Support for those two surfaces follows separately. -* **Repositories**: sessions check out repositories from GitHub; see [GitHub authentication options](https://code.claude.com/docs/en/claude-code-on-the-web.md#github-authentication-options). For a GitHub Enterprise Server host, see its [network requirements](https://code.claude.com/docs/en/github-enterprise-server.md#network-requirements). +* **Repositories**: sessions check out repositories from GitHub or GitHub Enterprise Server. Sessions started with an `--environment` dispatch can also use another git host: + * **GitHub**: see [GitHub authentication options](https://code.claude.com/docs/en/claude-code-on-the-web.md#github-authentication-options). + * **GitHub Enterprise Server**: see its [network requirements](https://code.claude.com/docs/en/github-enterprise-server.md#network-requirements). + * **Another git host**: see the [requirements for starting a session with `--environment`](https://code.claude.com/docs/en/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github). * **Billing**: sessions in a self-hosted environment consume your organization's Claude Code usage the same way sessions in Anthropic-hosted environments do. ## Why self-host @@ -113,7 +116,7 @@ The runner and its sessions make several kinds of outbound connection, and no in * **Control plane**: the runner polls `api.anthropic.com` for work and posts setup-progress and failure events, all outbound HTTPS. Polling doubles as the runner's heartbeat. * **Git**: the runner clones from and pushes to your git host over HTTPS or SSH, authenticated with credentials your deployment provides. See [Configure git](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#configure-git) for the options, including per-session minted credentials. With the [Anthropic git proxy](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), git traffic for repositories on github.com goes through `api.anthropic.com` instead. -* **Session child**: the child Claude Code process holds the session's event stream to `api.anthropic.com`, and makes its own outbound calls for model inference and for git commands run during the session. In a session that uses [Anthropic-managed git](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), the child sends its `git` and `gh` traffic for github.com over a WebSocket connection it opens to `api.anthropic.com`. +* **Session child**: the child Claude Code process holds the session's event stream to `api.anthropic.com`, and makes its own outbound calls for model inference and for git commands run during the session. In a session that uses [Anthropic-managed git](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), the child opens a WebSocket connection to `api.anthropic.com` that carries github.com traffic from `git` and `gh`. * **SCM connector**: the optional orchestrator [SCM connector](https://code.claude.com/docs/en/self-hosted-environments-reference.md#scm-connector-flags) isn't available, so its tunnel doesn't open. The tunnel is a WebSocket connection to `api.anthropic.com`. See [Network requirements](https://code.claude.com/docs/en/self-hosted-environments-deploy.md#network-requirements) for the full egress list. The [diagram above](#how-self-hosted-environments-work) shows these paths, apart from the optional SCM connector and the Anthropic-managed git connection. diff --git a/content/en/docs/claude-code/settings-reference.md b/content/en/docs/claude-code/settings-reference.md index 7d8832e912..79d6d99c41 100644 --- a/content/en/docs/claude-code/settings-reference.md +++ b/content/en/docs/claude-code/settings-reference.md @@ -4846,7 +4846,7 @@ Use [`enableArtifact`](#enableartifact) instead to turn off the [Artifact](https ### `disableDeepLinkRegistration` -Stop Claude Code from registering the `claude-cli://` protocol handler with the operating system, which it otherwise does after you send the first prompt of an interactive session. [Deep links](https://code.claude.com/docs/en/deep-links.md) let external tools open a Claude Code session with a pre-filled prompt. Set this in environments where protocol handler registration is restricted or managed separately. +Stop Claude Code from registering the `claude-cli://` protocol handler with the operating system. [Deep links](https://code.claude.com/docs/en/deep-links.md) let external tools open a Claude Code session with a pre-filled prompt. Set this in environments where protocol handler registration is restricted or managed separately. * **Scope**: [`Any file`](#scopes) * **Type**: the string `"disable"` @@ -5801,7 +5801,7 @@ Claude Code ignores this key in `settings.json`. Start every interactive CLI session with [Chrome integration](https://code.claude.com/docs/en/chrome.md) on, without passing `--chrome` each time. If you run [`claude remote-control`](https://code.claude.com/docs/en/remote-control), a session it starts for one of your [project](https://code.claude.com/docs/en/claude-projects.md) threads follows this key too, except in `bypassPermissions` mode. With Claude Code v2.1.287 or later, this key also applies to sessions in the [VS Code extension](https://code.claude.com/docs/en/vs-code.md#automate-browser-tasks-with-chrome): see [Enable Chrome by default](https://code.claude.com/docs/en/chrome.md#enable-chrome-by-default). -Running `/chrome` and selecting **Enabled by default** sets this key for you. Appears in `/config` as **Claude in Chrome enabled by default**. +Running `/chrome` and selecting **Enabled by default** sets this key for you, as does answering the ["Claude in Chrome extension detected" dialog](https://code.claude.com/docs/en/chrome.md#answer-the-startup-dialog). Appears in `/config` as **Claude in Chrome enabled by default**. * **Scope**: [`Global config`](#scopes) * **Type**: Boolean diff --git a/content/en/docs/claude-code/setup.md b/content/en/docs/claude-code/setup.md index 054536734c..6660ca6921 100644 --- a/content/en/docs/claude-code/setup.md +++ b/content/en/docs/claude-code/setup.md @@ -39,7 +39,7 @@ To install Claude Code, open a terminal and run the command for your system. If **macOS, Linux, WSL:** -```bash theme={null} +```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} curl -fsSL https://claude.ai/install.sh | bash ``` @@ -47,13 +47,13 @@ On Windows, your prompt shows `PS C:\` when you're in PowerShell and `C:\` witho **Windows PowerShell:** -```powershell theme={null} +```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} irm https://claude.ai/install.ps1 | iex ``` **Windows CMD:** -```batch theme={null} +```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd ``` @@ -71,7 +71,7 @@ If the install command fails with `syntax error near unexpected token '<'`, a `4 **Homebrew** -```bash theme={null} +```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} brew install --cask claude-code ``` @@ -83,7 +83,7 @@ Homebrew offers two casks. `claude-code` tracks the stable release channel, whic **WinGet** -```powershell theme={null} +```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} winget install Anthropic.ClaudeCode ``` @@ -458,6 +458,10 @@ To upgrade later, run `apk update && apk upgrade claude-code`. ### Install with npm +> [!NOTE] +> +> If `npm --version` prints a version starting with `12` in your shell, follow [Fix an npm 12 install](https://code.claude.com/docs/en/troubleshoot-install.md#fix-an-npm-12-install) instead. Don't install with `sudo`. Claude Code runs npm without `sudo` when it updates itself, so an install that needs `sudo` can't update automatically. + You can also install Claude Code as a global npm package. The npm package requires [Node.js 22 or later](https://nodejs.org/en/download). On an older Node.js version, npm prints an `EBADENGINE` warning during install rather than failing; the install completes and `claude` still runs, since the package downloads a native binary that doesn't use your Node.js at runtime. ```bash theme={null} diff --git a/content/en/docs/claude-code/skills.md b/content/en/docs/claude-code/skills.md index 0e569bb019..3d8e8b638d 100644 --- a/content/en/docs/claude-code/skills.md +++ b/content/en/docs/claude-code/skills.md @@ -404,7 +404,7 @@ Claude Code reads the frontmatter only when the opening `---` is the file's firs | `allowed-tools` | No | Tools Claude can use without asking permission during the turn that invokes this skill. The grant clears when you send your next message. Accepts a space- or comma-separated string, or a YAML list. See [Pre-approve tools for a skill](#pre-approve-tools-for-a-skill). | | `disallowed-tools` | No | Tools removed from Claude's available pool while this skill is active. Use for autonomous skills that should never call certain tools, such as `AskUserQuestion` for a background loop. Accepts a space- or comma-separated string, or a YAML list. The restriction clears when you send your next message. Like deny rules, the field can't remove [`EndConversation`](https://code.claude.com/docs/en/tools-reference#endconversation-tool-behavior) while any other tool remains. | | `model` | No | Model to use when this skill is active. The override applies for the rest of the current turn and isn't saved to settings. The session model resumes when you send your next prompt. Accepts the same values as [`/model`](https://code.claude.com/docs/en/model-config), or `inherit` to keep the active model. A value excluded by your organization's [`availableModels`](https://code.claude.com/docs/en/model-config#restrict-model-selection) allowlist isn't used, and the session keeps its current model. In [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode), and in [plan mode while the classifier reviews commands](https://code.claude.com/docs/en/permission-modes.md#analyze-before-you-edit-with-plan-mode), a model that auto mode doesn't support also isn't used, and the session keeps its current model. With `context: fork`, the value sets the [forked subagent's model](#run-skills-in-a-subagent) instead, and an excluded value follows the [same rules as a subagent model override](https://code.claude.com/docs/en/model-config.md#restrict-model-selection). | -| `effort` | No | [Effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) when this skill is active. Overrides the session effort level. When you omit it, the level comes from the [effort resolution order](https://code.claude.com/docs/en/model-config.md#adjust-effort-level). Options: `low`, `medium`, `high`, `xhigh`, `max`; available levels depend on the model. | +| `effort` | No | [Effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) for the rest of the current turn. Overrides the session effort level, but not the [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/en/env-vars#variables) environment variable. With `context: fork`, the value sets the forked subagent's effort level instead. When you omit it, the level comes from the [effort resolution order](https://code.claude.com/docs/en/model-config.md#adjust-effort-level). Options: `low`, `medium`, `high`, `xhigh`, `max`; available levels depend on the model. | | `context` | No | Set to `fork` to run in a forked subagent context. See [Run skills in a subagent](#run-skills-in-a-subagent). | | `agent` | No | Which subagent type to use when `context: fork` is set. | | `background` | No | Only applies with `context: fork`. Set to `false` to wait for the forked subagent's result in the turn that invoked the skill, instead of [running it in the background](#run-skills-in-a-subagent). Default: `true`. | diff --git a/content/en/docs/claude-code/slack.md b/content/en/docs/claude-code/slack.md index 74bcc40e4e..76fce4c0c6 100644 --- a/content/en/docs/claude-code/slack.md +++ b/content/en/docs/claude-code/slack.md @@ -202,7 +202,7 @@ This error means your Claude account has no cloud environment yet. Sign in at [c ### Sessions from a Claude Tag channel fail to start -This entry applies to workspaces using [Claude Tag](https://claude.com/docs/claude-tag/overview), where Claude works in channels as your organization's shared identity, not as any member's account. If you created the channel's cloud environment at [claude.ai/code](https://claude.ai/code), it belongs to your personal account, and Claude can't start channel sessions in a personal environment. Claude Code fails the session immediately, and retrying doesn't help. +This entry applies to workspaces using [Claude Tag](https://claude.com/docs/claude-tag/overview). If you created the channel's cloud environment at [claude.ai/code](https://claude.ai/code), it belongs to your personal account, and Claude can't start channel sessions in a personal environment. Claude Code fails the session immediately, and retrying doesn't help. If you're an Owner and the environment is your own, [share it with the organization](https://code.claude.com/docs/en/cloud-environments.md#organization-shared-environments) from the environment selector. Otherwise, an Owner recreates it as an organization-shared environment from the **Cloud environments** page in [admin settings](https://claude.ai/admin-settings). diff --git a/content/en/docs/claude-code/slash-commands.md b/content/en/docs/claude-code/slash-commands.md index 0e569bb019..3d8e8b638d 100644 --- a/content/en/docs/claude-code/slash-commands.md +++ b/content/en/docs/claude-code/slash-commands.md @@ -404,7 +404,7 @@ Claude Code reads the frontmatter only when the opening `---` is the file's firs | `allowed-tools` | No | Tools Claude can use without asking permission during the turn that invokes this skill. The grant clears when you send your next message. Accepts a space- or comma-separated string, or a YAML list. See [Pre-approve tools for a skill](#pre-approve-tools-for-a-skill). | | `disallowed-tools` | No | Tools removed from Claude's available pool while this skill is active. Use for autonomous skills that should never call certain tools, such as `AskUserQuestion` for a background loop. Accepts a space- or comma-separated string, or a YAML list. The restriction clears when you send your next message. Like deny rules, the field can't remove [`EndConversation`](https://code.claude.com/docs/en/tools-reference#endconversation-tool-behavior) while any other tool remains. | | `model` | No | Model to use when this skill is active. The override applies for the rest of the current turn and isn't saved to settings. The session model resumes when you send your next prompt. Accepts the same values as [`/model`](https://code.claude.com/docs/en/model-config), or `inherit` to keep the active model. A value excluded by your organization's [`availableModels`](https://code.claude.com/docs/en/model-config#restrict-model-selection) allowlist isn't used, and the session keeps its current model. In [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode), and in [plan mode while the classifier reviews commands](https://code.claude.com/docs/en/permission-modes.md#analyze-before-you-edit-with-plan-mode), a model that auto mode doesn't support also isn't used, and the session keeps its current model. With `context: fork`, the value sets the [forked subagent's model](#run-skills-in-a-subagent) instead, and an excluded value follows the [same rules as a subagent model override](https://code.claude.com/docs/en/model-config.md#restrict-model-selection). | -| `effort` | No | [Effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) when this skill is active. Overrides the session effort level. When you omit it, the level comes from the [effort resolution order](https://code.claude.com/docs/en/model-config.md#adjust-effort-level). Options: `low`, `medium`, `high`, `xhigh`, `max`; available levels depend on the model. | +| `effort` | No | [Effort level](https://code.claude.com/docs/en/model-config.md#adjust-effort-level) for the rest of the current turn. Overrides the session effort level, but not the [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/en/env-vars#variables) environment variable. With `context: fork`, the value sets the forked subagent's effort level instead. When you omit it, the level comes from the [effort resolution order](https://code.claude.com/docs/en/model-config.md#adjust-effort-level). Options: `low`, `medium`, `high`, `xhigh`, `max`; available levels depend on the model. | | `context` | No | Set to `fork` to run in a forked subagent context. See [Run skills in a subagent](#run-skills-in-a-subagent). | | `agent` | No | Which subagent type to use when `context: fork` is set. | | `background` | No | Only applies with `context: fork`. Set to `false` to wait for the forked subagent's result in the turn that invoked the skill, instead of [running it in the background](#run-skills-in-a-subagent). Default: `true`. | diff --git a/content/en/docs/claude-code/statusline.md b/content/en/docs/claude-code/statusline.md index f054e7b937..9d87db87d5 100644 --- a/content/en/docs/claude-code/statusline.md +++ b/content/en/docs/claude-code/statusline.md @@ -188,7 +188,7 @@ Claude Code sends the following JSON fields to your script via stdin: | `context_window.current_usage` | Token counts from the last API call, described in [context window fields](#context-window-fields) | | `exceeds_200k_tokens` | Whether the total token count (input, cache, and output tokens combined) from the most recent API response exceeds 200k. This is a fixed threshold regardless of actual context window size. | | `fast_mode` | Whether [fast mode](https://code.claude.com/docs/en/fast-mode.md) is enabled for the session | -| `effort.level` | Current reasoning effort (`low`, `medium`, `high`, `xhigh`, or `max`). Reflects the live session value, including mid-session `/effort` changes. Absent when the current model does not support the effort parameter | +| `effort.level` | Reasoning effort level set for the session (`low`, `medium`, `high`, `xhigh`, or `max`), not one that a skill, a subagent, or `ultrathink` set. If you set a level the model doesn't support, this shows the level Claude Code ran instead. A level you change shows here even before it [starts](https://code.claude.com/docs/en/model-config.md#when-a-new-effort-level-starts). With a level in `CLAUDE_CODE_EFFORT_LEVEL`, this shows that level. Absent when the current model does not support the effort parameter | | `thinking.enabled` | Whether extended thinking is enabled for the session | | `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Percentage of the 5-hour or 7-day rate limit consumed, from 0 to 100 | | `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Unix epoch seconds when the 5-hour or 7-day rate limit window resets | diff --git a/content/en/docs/claude-code/terminal-config.md b/content/en/docs/claude-code/terminal-config.md index 969d391731..9aba2d2a7d 100644 --- a/content/en/docs/claude-code/terminal-config.md +++ b/content/en/docs/claude-code/terminal-config.md @@ -72,7 +72,13 @@ For Ghostty, Kitty, and other terminals, look for an Option-as-Alt or Option-as- When Claude finishes a task or pauses for a permission prompt, and you appear to be away from the terminal, it fires a notification event. See [when each notification type fires](https://code.claude.com/docs/en/hooks.md#notification) for the exact timing. Surfacing this as a terminal bell or desktop notification lets you switch to other work while a long task runs. -By default Claude Code sends a desktop notification only in Ghostty, Kitty, and iTerm2. In other terminals, set [`preferredNotifChannel`](https://code.claude.com/docs/en/settings-reference#preferrednotifchannel) to `"terminal_bell"` to ring the terminal bell instead, or configure a [Notification hook](#play-a-sound-with-a-notification-hook) for a custom sound or command. The following settings entry turns on the terminal bell: +By default, Claude Code sends a desktop notification in some terminals, and a bell character or nothing in others: + +* **Ghostty, Kitty, and iTerm2**: a desktop notification, which iTerm2 shows only after you turn on its alert settings. +* **Apple Terminal**: no sound; a silent bell character when Claude Code finds "Audible bell" off in the front Terminal window's profile, otherwise nothing. That bell character shows as a window flash, or a Dock bounce while Terminal is in the background, if that profile's "Visual bell" or Dock bounce option is on. +* **Other terminals**: nothing. + +To make Claude Code send the bell character whatever the terminal or profile, set [`preferredNotifChannel`](https://code.claude.com/docs/en/settings-reference#preferrednotifchannel) to `"terminal_bell"`. In Apple Terminal, also turn on **Audible bell** under **Settings > Profiles > Advanced** to hear it. The following settings entry sets the channel: ```json ~/.claude/settings.json theme={null} { diff --git a/content/en/docs/claude-code/troubleshoot-install.md b/content/en/docs/claude-code/troubleshoot-install.md index 432cdf56f8..9f7ec5aaf1 100644 --- a/content/en/docs/claude-code/troubleshoot-install.md +++ b/content/en/docs/claude-code/troubleshoot-install.md @@ -995,7 +995,7 @@ Then run `source ~/.bashrc` and retry `claude`. ### npm install errors in WSL -These issues apply if you installed Claude Code with `npm install -g` inside WSL. If you used the [native installer](https://code.claude.com/docs/en/setup.md), skip this section. +These issues apply if you installed Claude Code with `npm install -g` inside WSL. If you used the [native installer](https://code.claude.com/docs/en/setup.md), skip this section. On npm 12, install as [Fix an npm 12 install](#fix-an-npm-12-install) describes. **OS or platform detection issues.** If npm reports a platform mismatch during install, WSL is likely picking up the Windows `npm`. Run `npm config set os linux` first, then install with `npm install -g @anthropic-ai/claude-code --force`. Do not use `sudo`. @@ -1037,7 +1037,7 @@ curl -fsSL https://claude.ai/install.sh | bash ### Native binary not found after npm install -The `@anthropic-ai/claude-code` npm package downloads the native binary as a per-platform optional dependency, such as `@anthropic-ai/claude-code-darwin-arm64`. npm then runs the package's postinstall script, which copies that binary into place as the `claude` command; until it runs, `claude` is a placeholder script. If either the download or the postinstall step is skipped, the placeholder stays in place, and running `claude` on macOS and Linux prints: +The `@anthropic-ai/claude-code` npm package downloads the native binary as a per-platform optional dependency, such as `@anthropic-ai/claude-code-darwin-arm64`. `claude` is a placeholder script until the `@anthropic-ai/claude-code` package's postinstall step runs and replaces the placeholder with that binary. If either the download or the postinstall step is skipped, the placeholder stays in place, and running `claude` on macOS and Linux prints: ```text theme={null} Error: claude native binary not installed. @@ -1056,11 +1056,43 @@ On Windows, `bin/claude.exe` is that same shell-script placeholder rather than a Check the following causes: +* **npm 12 skips the postinstall step by default.** When you install or update Claude Code with npm 12, npm still finishes the install without running the step. See [Fix an npm 12 install](#fix-an-npm-12-install). * **Optional dependencies are disabled.** Remove `--omit=optional` from your npm install command, `--no-optional` from pnpm, or `--ignore-optional` from yarn, and check that `.npmrc` does not set `optional=false`. Then reinstall. The native binary is delivered only as an optional dependency, so there is no JavaScript fallback if it is skipped, and running `install.cjs` again can't place a binary that was never downloaded. * **Install scripts are disabled.** `--ignore-scripts` and some pnpm configurations skip the postinstall step but still download the platform package. Run `node node_modules/@anthropic-ai/claude-code/install.cjs` as the message suggests, or reinstall without the flag. If postinstall can't run in your environment at all, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` finds the downloaded package and launches it, at the cost of an extra Node process on each start. If the wrapper prints `Could not find native binary package` instead, the platform package was never downloaded, so fix the optional-dependencies cause above first. * **Unsupported platform.** Prebuilt binaries are published for `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, and `win32-arm64`. Claude Code does not ship a binary for other platforms; see the [system requirements](https://code.claude.com/docs/en/setup.md#system-requirements). On FreeBSD, the installer reports the platform as unsupported. Before v2.1.205, it treated FreeBSD as Linux and downloaded a binary that couldn't run. * **Corporate npm mirror is missing the platform packages.** Ensure your registry mirrors all eight `@anthropic-ai/claude-code-*` platform packages in addition to the meta package. +#### Fix an npm 12 install + +If `claude` prints `Error: claude native binary not installed.` after an npm install or update, or on Windows the shell can't run it, run `npm --version`. A version starting with `12` means that, unless your npm config allows it, npm skipped Claude Code's postinstall step, which puts the binary in place. For any other version, check the [other causes](#native-binary-not-found-after-npm-install). + +To fix an npm 12 install, switch to the native installer or allow the step: + +* **Switch to the native installer**: [install with the native installer](https://code.claude.com/docs/en/setup.md#install-claude-code), then [uninstall the npm package](https://code.claude.com/docs/en/setup.md#uninstall-with-npm). Updates then don't use npm, so the error doesn't come back. +* **Stay on npm**: for a global npm install, add Claude Code to `allow-scripts` in your user npm config. npm then runs Claude Code's install scripts on every later install and update, and in project installs whose `package.json` sets no `allowScripts`. + + Use the native installer for a local install in `~/.claude/local`. Also use it if your `package.json` scripts call `npm install` and you run them with pnpm 9, pnpm 10, Yarn 1 or another tool that passes them this setting. On npm 12.1 and later, those installs can fail with `EALLOWSCRIPTS` once the setting is saved. + + 1. If `npm --version` printed 12.0.x, update npm to 12.1 or later, for example with `npm install -g npm@latest`. On 12.0.x, project installs that an `npx` tool or an `npm run` script starts can fail with `EALLOWSCRIPTS` once the setting is saved. + + 2. Run `npm config get allow-scripts` and note any packages it lists, because the next command replaces the whole value. Save the setting with those packages inside the quotes, as in `"allow-scripts=@anthropic-ai/claude-code,"`: + + ```bash theme={null} + npm config set "allow-scripts=@anthropic-ai/claude-code" --location=user + ``` + + 3. Reinstall: + + ```bash theme={null} + npm install -g @anthropic-ai/claude-code + ``` + + If this or step 1 fails with `EACCES`, switch to the native installer instead of rerunning it with `sudo`. Claude Code runs npm without `sudo` when it updates itself, so automatic updates would fail the same way. + + 4. If `claude --version` doesn't print a version number, check the [other causes](#native-binary-not-found-after-npm-install). + + To undo, set the list again without `@anthropic-ai/claude-code`, or remove the whole list with `npm config delete allow-scripts --location=user`. On npm 12, the error then returns after your next update. + ### npm `ENOTEMPTY` error during update or reinstall When you run `npm install -g @anthropic-ai/claude-code` over an existing installation, npm can fail while moving the old package directory aside: @@ -1094,7 +1126,7 @@ rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"* Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*" ``` -Then reinstall: +Then reinstall. On npm 12, follow [Fix an npm 12 install](#fix-an-npm-12-install). Otherwise, run: ```bash theme={null} npm install -g @anthropic-ai/claude-code diff --git a/content/en/docs/claude-code/ultrareview.md b/content/en/docs/claude-code/ultrareview.md index a9b3a46d56..02e1583616 100644 --- a/content/en/docs/claude-code/ultrareview.md +++ b/content/en/docs/claude-code/ultrareview.md @@ -133,7 +133,7 @@ Claude Code asks you to confirm usage-credits billing once per conversation: whe ## Track a running review -A review typically takes 15 to 25 minutes. The review runs as a background task, so you can keep working in your session or start other commands. If you chose to [post the findings to the pull request](#post-findings-to-the-pull-request), keep the session open until the review finishes; if the session ends first, Claude Code posts nothing. +A review typically takes 5 to 15 minutes. The review runs as a background task, so you can keep working in your session or start other commands. If you chose to [post the findings to the pull request](#post-findings-to-the-pull-request), keep the session open until the review finishes; if the session ends first, Claude Code posts nothing. Use `/tasks` to see running and completed reviews, open the detail view for a review, or stop a review that is in progress. If you stop a review, Claude Code archives the cloud session and doesn't return partial findings. @@ -211,7 +211,7 @@ Both reviews examine code, but you use them at different stages of your workflow | Target | your working diff, a pull request, a branch, or a path | your working diff or a pull request | | Runs | locally in your session | in a cloud sandbox | | Depth | scales with the effort argument | multi-agent fleet with independent verification | -| Duration | seconds to a few minutes | roughly 15 to 25 minutes | +| Duration | seconds to a few minutes | roughly 5 to 15 minutes | | Cost | counts toward normal usage | free runs, then roughly \$5 to \$25 per review as usage credits | | Best for | quick feedback while iterating | pre-merge confidence on substantial changes | diff --git a/content/en/home.md b/content/en/home.md index 98a8df21e7..40405f1ecc 100644 --- a/content/en/home.md +++ b/content/en/home.md @@ -339,7 +339,7 @@ with Claude" API keys in Claude Console - + Usage monitoring @@ -397,7 +397,7 @@ with Claude" API keys in Claude Console - + Usage monitoring diff --git a/content/en/manage-claude/admin-api-keys.md b/content/en/manage-claude/admin-api-keys.md index 4b3b2b64ab..a45852d6e8 100644 --- a/content/en/manage-claude/admin-api-keys.md +++ b/content/en/manage-claude/admin-api-keys.md @@ -4,16 +4,16 @@ url: https://platform.claude.com/docs/en/manage-claude/admin-api-keys description: Create an Admin API key for your Claude Console or Claude Enterprise organization. --- -An Admin API key authenticates every API in the **Admin** section of this guide: the [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api), [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api), [Plugins API](https://platform.claude.com/docs/en/manage-claude/plugins-api), [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api), [Spend Limits API](https://platform.claude.com/docs/en/manage-claude/spend-limits-api), [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api), and [Rate Limits API](https://platform.claude.com/docs/en/manage-claude/rate-limits-api). You do not need a separate key for each API. The one exception is the Admin API’s service-account, federation-issuer, and federation-rule endpoints, which accept only an OAuth bearer token with the `org:admin` scope. See [Obtain an OAuth bearer token](https://platform.claude.com/docs/en/manage-claude/admin-api#oauth-bearer-token). +An Admin API key authenticates every API in the **Admin** section of this guide: the [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api), [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api), [Plugins API](https://platform.claude.com/docs/en/manage-claude/plugins-api), [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api), [Spend Limits API](https://platform.claude.com/docs/en/manage-claude/spend-limits-api), [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api), and [Rate Limits API](https://platform.claude.com/docs/en/manage-claude/rate-limits-api). You do not need a separate key for each API. The one exception is the Admin API’s service-account, federation-issuer, and federation-rule endpoints, which accept only an OAuth bearer token with the `org:admin` scope. See [Obtain an OAuth bearer token](https://platform.claude.com/docs/en/manage-claude/admin-api#oauth-bearer-token). Where you create the key depends on which Claude product your organization uses. ## Which key do you need? -| Your organization | Create the key in | Key prefix | Who can create it | Works with | -| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Claude Console** (Claude Platform, `platform.claude.com`) | [Admin keys](https://platform.claude.com/settings/admin-keys) page (`platform.claude.com/settings/admin-keys`) in the Claude Console | `sk-ant-admin01-...` | Organization members with the **admin** role | [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api), [Rate Limits API](https://platform.claude.com/docs/en/manage-claude/rate-limits-api), [Claude Code Analytics API](https://platform.claude.com/docs/en/manage-claude/claude-code-analytics-api), and the Compliance API [Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed) | -| **Claude Enterprise** (`claude.ai`) | [claude.ai > Organization settings > API](https://claude.ai/admin-settings/api-access) | `sk-ant-api01-...` | The parent organization’s **primary owner** (all linked organizations). An **organization owner** can create one carrying Compliance API scopes only, restricted to their own organization | [User management](https://platform.claude.com/docs/en/manage-claude/user-management) (the Admin API’s member, invite, and group endpoints), [Plugins API](https://platform.claude.com/docs/en/manage-claude/plugins-api), [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api), [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api), [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api), and [Spend Limits API](https://platform.claude.com/docs/en/manage-claude/spend-limits-api), according to the [scopes](https://platform.claude.com/docs/en/manage-claude/admin-api-keys#choose-scopes-for-a-claude-enterprise-key) you select | +| Your organization | Create the key in | Key prefix | Who can create it | Works with | +| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Claude Console** (Claude Platform, `platform.claude.com`) | [Admin keys](https://platform.claude.com/settings/admin-keys) page (`platform.claude.com/settings/admin-keys`) in the Claude Console | `sk-ant-admin01-...` | Organization members with the **admin** role | [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api), [Rate Limits API](https://platform.claude.com/docs/en/manage-claude/rate-limits-api), [Claude Code Analytics API](https://platform.claude.com/docs/en/manage-claude/claude-code-analytics-api), and the Compliance API [Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed) | +| **Claude Enterprise** (`claude.ai`) | [claude.ai > Organization settings > API](https://claude.ai/admin-settings/api-access) | `sk-ant-api01-...` | The parent organization’s **primary owner** (all linked organizations). An **organization owner** can create one carrying Compliance API scopes only, restricted to their own organization | [User management](https://platform.claude.com/docs/en/manage-claude/user-management) (the Admin API’s member, invite, and group endpoints), [Plugins API](https://platform.claude.com/docs/en/manage-claude/plugins-api), [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api), [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api), [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api), [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), and [Spend Limits API](https://platform.claude.com/docs/en/manage-claude/spend-limits-api), according to the [scopes](https://platform.claude.com/docs/en/manage-claude/admin-api-keys#choose-scopes-for-a-claude-enterprise-key) you select | A key created in one organization cannot be used to manage a different organization. If your company uses both Claude Console and Claude Enterprise, create one key in each. @@ -73,7 +73,7 @@ When you create a Claude Enterprise key, select every scope that the APIs you pl | [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api): set up and remove channels; change settings; attach and detach Access bundles (to read as well, also select `read:claude_tag`) | `write:claude_tag` | | [Spend Limits API](https://platform.claude.com/docs/en/manage-claude/spend-limits-api): read members’ effective spend limits and increase requests | `read:spend_limits` | | [Spend Limits API](https://platform.claude.com/docs/en/manage-claude/spend-limits-api): set or clear per-user spend limits; approve or deny increase requests | `write:spend_limits` | -| [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api): engagement, adoption, cost, and usage reports | `read:analytics` | +| [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api): engagement, adoption, cost, and usage reports; [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api): token usage and cost reports | `read:analytics` | | [Compliance API Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed): organization-wide activity events | `read:compliance_activities` | | [Compliance API chat, file, and project endpoints](https://platform.claude.com/docs/en/manage-claude/compliance-content-data) and [Compliance API session endpoints](https://platform.claude.com/docs/en/manage-claude/compliance-sessions): read chats, files, projects, session transcripts, and [organization users](https://platform.claude.com/docs/en/manage-claude/compliance-org-data#list-organization-users) | `read:compliance_user_data` | | [Compliance API chat, file, and project endpoints](https://platform.claude.com/docs/en/manage-claude/compliance-content-data): delete chats, files, and projects | `delete:compliance_user_data` | diff --git a/content/en/manage-claude/admin-api.md b/content/en/manage-claude/admin-api.md index 736befef87..5a13b0282d 100644 --- a/content/en/manage-claude/admin-api.md +++ b/content/en/manage-claude/admin-api.md @@ -10,15 +10,16 @@ The [Admin API](https://platform.claude.com/docs/en/api/organization) lets you m The Admin API is unavailable for individual accounts. To collaborate with teammates and add members, set up your organization on the [Organization](https://platform.claude.com/settings/organization) page (`platform.claude.com/settings/organization`) in the Claude Console. -Claude Enterprise (claude.ai) organizations call the Admin API with a scoped API key created in claude.ai. From this page, only the members and invites endpoints apply to them. They also get Enterprise-only endpoints: group and custom-role reads, and [spend limits](https://platform.claude.com/docs/en/manage-claude/spend-limits-api). The [Plugins API](https://platform.claude.com/docs/en/manage-claude/plugins-api), also Enterprise-only, is in beta. So is the [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api). See [User management](https://platform.claude.com/docs/en/manage-claude/user-management). +Claude Enterprise (claude.ai) organizations call the Admin API with a scoped API key created in claude.ai. From this page, only the members and invites endpoints apply to them. They can also call the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), which is in beta and takes a key with the `read:analytics` scope. They also get Enterprise-only endpoints: group and custom-role reads, and [spend limits](https://platform.claude.com/docs/en/manage-claude/spend-limits-api). The [Plugins API](https://platform.claude.com/docs/en/manage-claude/plugins-api), also Enterprise-only, is in beta. So is the [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api). See [User management](https://platform.claude.com/docs/en/manage-claude/user-management). On [Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws), only these Admin API endpoints are available: * The workspace endpoints: create, get, list, update, and archive on `/v1/organizations/workspaces`. * The external key endpoints, for [CMEK](https://platform.claude.com/docs/en/manage-claude/cmek-claude-platform-on-aws): register, get, list, update, and delete on `/v1/organizations/external_keys`. There is no validate endpoint, because keys are validated when attached to a workspace. * The [telemetry destination endpoints](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#telemetry-destinations). +* The [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) endpoints: `/v1/organizations/analytics/usage` and `/v1/organizations/analytics/cost`. -Organization members, workspace members, invites, API keys, and the usage, cost, and rate limit reports aren’t available on Claude Platform on AWS. +Organization members, workspace members, invites, API keys, the legacy [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api), and the rate limit reports aren’t available on Claude Platform on AWS. ## Authentication @@ -1716,7 +1717,7 @@ For parameter details and response schemas, see the [Organization Info API refer ## Usage and cost reports -Track your organization’s usage and costs with the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api). +Track your organization’s usage and costs with the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). The [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) is the legacy API for this data. ## Claude Code analytics diff --git a/content/en/manage-claude/analytics-api.md b/content/en/manage-claude/analytics-api.md index 20e0f568e6..034bfe71b4 100644 --- a/content/en/manage-claude/analytics-api.md +++ b/content/en/manage-claude/analytics-api.md @@ -18,14 +18,10 @@ The two APIs use different key types, created in different places by different r | **Claude Code Analytics API** | Admin API key (`sk-ant-admin01-...`) | [Admin keys](https://platform.claude.com/settings/admin-keys) page (`platform.claude.com/settings/admin-keys`) in the Claude Console | Organization admin | Daily Claude Code metrics per user: sessions, lines of code, commits, pull requests, tool acceptance, and estimated cost by model | | **Claude Enterprise Analytics API** | Analytics API key | [claude.ai > Organization settings > API](https://claude.ai/admin-settings/api-access) | Primary owner | Organization-wide engagement and adoption (user activity, active-user summaries, project, skill, and connector usage), plus cost and usage reports | -The key types are not interchangeable: an Admin API key cannot call the Claude Enterprise Analytics API, and an Analytics API key cannot call the Admin API. Both APIs appear under the [Admin API reference](https://platform.claude.com/docs/en/api/beta/organization), but they are separate APIs with separate key types. If your organization uses both the Claude Platform and Claude Enterprise, you can provision both keys and use each API for its own data. +The key types are not interchangeable: an Admin API key cannot call the Claude Enterprise Analytics API, and an Analytics API key cannot call the Admin API. The one exception is the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), which Claude Enterprise organizations call with their Analytics API key. Both APIs appear under the [Admin API reference](https://platform.claude.com/docs/en/api/beta/organization), but they are separate APIs with separate key types. If your organization uses both the Claude Platform and Claude Enterprise, you can provision both keys and use each API for its own data. - Looking for API usage and cost data rather than product analytics? See the - - [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) - - , which explains the right path for both Claude Console and Claude Enterprise organizations. + Looking for token usage and cost data rather than product analytics? See the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), which serves both Claude Console and Claude Enterprise organizations. @@ -79,6 +75,10 @@ The Claude Enterprise Analytics API provides: * **Project, skill, and connector usage:** adoption breakdowns for chat projects, skills, and connectors * **Cost and usage reports:** per-user and organization-level token usage and cost over time (usage-based Enterprise plans) + + The cost and usage report endpoints under `/v1/organizations/analytics/` (`usage_report`, `cost_report`, `user_usage_report`, and `user_cost_report`) are legacy and remain supported. For new integrations, use the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#migrate-from-enterprise-analytics-reports). The other Claude Enterprise Analytics API endpoints are not legacy. + + For endpoint details, parameters, and response schemas, see the [Claude Enterprise Analytics API reference](https://platform.claude.com/docs/en/api/beta/organization/analytics). The following sections cover data freshness, metric definitions, and operational guidance that apply across those endpoints. ## Data availability and freshness @@ -153,8 +153,8 @@ For other analytics changes with customer-managed encryption keys, see [What CME Track Claude Code sessions, code changes, and tool usage with an Admin API key. - - Track API token usage and costs for your organization. + + Track token usage and costs for your organization. diff --git a/content/en/manage-claude/claude-code-analytics-api.md b/content/en/manage-claude/claude-code-analytics-api.md index 6599fd7593..ce4b18cab1 100644 --- a/content/en/manage-claude/claude-code-analytics-api.md +++ b/content/en/manage-claude/claude-code-analytics-api.md @@ -283,7 +283,7 @@ The Claude Code Analytics API helps you understand and optimize your team’s de * [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api) * [Admin API reference](https://platform.claude.com/docs/en/api/beta/organization) * [Claude Code Analytics dashboard](https://platform.claude.com/claude-code) in the Claude Console -* [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) - Track API usage across all Anthropic services +* [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) - Track token usage and cost across your organization * [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) - Retrieve audit and activity data * [Identity and access management](https://code.claude.com/docs/en/iam) * [Monitoring usage with OpenTelemetry](https://code.claude.com/docs/en/monitoring-usage) for custom metrics and alerting diff --git a/content/en/manage-claude/claude-tag-api.md b/content/en/manage-claude/claude-tag-api.md index c6c6693f9c..62cc9ba253 100644 --- a/content/en/manage-claude/claude-tag-api.md +++ b/content/en/manage-claude/claude-tag-api.md @@ -259,7 +259,7 @@ If an organization owner has put a settings level on a self-hosted runner pool i Settings exist at three levels: the channel, the workspace the channel is in, and your organization’s Slack defaults, which an organization owner sets in claude.ai. Each level stores only what was set on it. The `settings` of a channel or workspace object can hold either of two things: * **What it stores.** This is what a response holds unless you ask otherwise. A setting that is not set on the channel or workspace is `null`. Use it to compare against configuration you keep elsewhere. -* **What applies in it**, once every level is taken into account. To get this, add the query parameter `include_inherited=true` to any `GET` request that returns a channel or a workspace, the two lists included. Use it to audit, or to find out why Claude behaves as it does in one channel. The parameter defaults to `false`, and a value that is not a Boolean returns `400`. A request that sets a channel up or changes settings does not take the parameter and returns `400` if you send it; its response holds what is stored. +* **What applies in it**, once every level is taken into account. To get this, add the query parameter `include_inherited=true` to any `GET` request that returns a channel or a workspace, the two lists included. Use it to audit, or to find out why Claude behaves as it does in one channel. The parameter defaults to `false`, and a value that is not a boolean returns `400`. A request that sets a channel up or changes settings does not take the parameter and returns `400` if you send it; its response holds what is stored. In both cases `sources` names, for each setting, the level that the value in `settings` comes from. Without `include_inherited`, the source of a setting that the channel or workspace stores names the channel or workspace itself, and a setting it does not store has no source: `null`, or an empty list for `instructions`. With `include_inherited=true`, every setting except `instructions` has a source, and a setting that no level sets has the source `{"type": "default"}`; when no level sets `instructions`, it is `null` and its source list is empty. So to tell a value the channel or workspace sets itself from one it inherits, look at its source, not at whether the value is `null`. diff --git a/content/en/manage-claude/cmek-coverage-claude-enterprise.md b/content/en/manage-claude/cmek-coverage-claude-enterprise.md index 0f27f09a1f..268b16a610 100644 --- a/content/en/manage-claude/cmek-coverage-claude-enterprise.md +++ b/content/en/manage-claude/cmek-coverage-claude-enterprise.md @@ -4,7 +4,7 @@ url: https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-ente description: Look up which Claude Enterprise data your key encrypts, what turns off or changes, and what stays under Anthropic's key. --- -For Claude Platform, see [What CMEK covers on Claude Platform](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-platform). Beta and research preview features might not be covered by customer-managed encryption keys (CMEK) and can break in CMEK organizations. +For Claude Platform, see [What CMEK covers on Claude Platform](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-platform). ## Encrypted with your key @@ -13,7 +13,7 @@ For Claude Platform, see [What CMEK covers on Claude Platform](https://platform. * Artifacts, including Claude Design, Claude Slides, and Claude Docs in conversations and the **Artifacts** tab. * Claude Code on the CLI, including message content. * Cowork in Claude Desktop. -* Office agents. +* Office agents, including Claude for Outlook (beta). * Claude in Chrome. * Claude Science, which is in beta. * [Plugins API](https://platform.claude.com/docs/en/manage-claude/plugins-api#customer-managed-encryption-keys) (beta) plugin versions: each version’s description, release notes, components, and files. That page lists which requests still work while your key can’t be used. @@ -22,21 +22,23 @@ For Claude Platform, see [What CMEK covers on Claude Platform](https://platform. ## Turned off or changed +Beta and research preview features might not be covered by customer-managed encryption keys (CMEK) and can break in CMEK organizations. + This list is not exhaustive. Review it with your team before you set up CMEK. | Feature | What people see | | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Claude Code on the web | Off. New sessions can’t be started, even if an admin turns the product on. | -| Claude in Slack | Off. Claude declines requests, even if an admin turns the product on. | | Claude Code Desktop | Off until an admin turns it on. Available for local sessions once turned on under [claude.ai > Organization settings > Claude Code](https://claude.ai/admin-settings/claude-code). | -| Artifacts | Changed. Artifacts, including Claude Design, Claude Slides, and Claude Docs in conversations and the **Artifacts** tab, cannot be turned on in organizations that also use ZDR. In organizations with HIPAA readiness, an Owner must first accept the terms for using them. | -| Artifact publishing and sharing | Changed. Claude Code cannot [publish artifacts](https://code.claude.com/docs/en/artifacts#availability). However, artifacts made in chat or Cowork can be shared within your organization, but not publicly. | -| Standalone Claude Design app | Not supported. See [Encrypted with Anthropic’s key](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-enterprise#encrypted-with-anthropics-key). | -| Analytics: smart reports and contribution metrics | Off. Certain analytics are disabled, regardless of admin settings: Claude smart reports (under claude.ai/analytics/insights) and Claude Code contribution metrics from GitHub (beta, under claude.ai/analytics/claude-code). | +| Artifacts | Changed. For organizations that use Claude Code ZDR: Artifacts, including Claude Design, Claude Slides, and Claude Docs in conversations and the **Artifacts** tab, cannot be turned on. | +| Artifact publishing and sharing | Changed. Artifacts can be shared within your organization, but not publicly. | | Analytics: skills and connectors | Changed. Admin analytics for skills and connectors, in the claude.ai analytics dashboard and through the [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api), don’t include usage in chat, and hide the names of custom skills, plugins, and connectors. | -| Response ratings (thumbs up and thumbs down) | Off. Members can’t rate Claude’s responses. | +| Response ratings: thumbs up and thumbs down | Off. Members can’t rate Claude’s responses. | | [Skill and plugin security scanning](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/enterprise#skill-content-scanning) | Off. The setting can’t be turned on, and skills and plugins are installed without a scan. | -| Claude Security and routines | Off. Beta and research preview features, turned off regardless of admin settings. | +| Claude in Slack (beta) | Off. Claude declines requests, even if an admin turns the product on. | +| Analytics: smart reports and contribution metrics | Off. Certain analytics are disabled, regardless of admin settings: Claude smart reports (under claude.ai/analytics/insights) and Claude Code contribution metrics from GitHub (beta, under claude.ai/analytics/claude-code). | +| Claude Security (beta) and routines (research preview) | Off. Beta and research preview features, turned off regardless of admin settings. | +| Standalone Claude Design app (being deprecated) | Not supported. See [Encrypted with Anthropic’s key](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-enterprise#encrypted-with-anthropics-key). | ## Encrypted with Anthropic’s key @@ -44,12 +46,9 @@ The features that store this data stay available, but the data isn’t encrypted | Data | Details | | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Existing data | Written before [your key takes effect](https://platform.claude.com/docs/en/manage-claude/cmek-how-it-works#when-your-key-takes-effect). | -| Standalone Claude Design app | The standalone Claude Design app at claude.ai/design is not supported with CMEK, and its data might not be encrypted under your key. The standalone app is closing. Claude Design in conversations and the **Artifacts** tab is encrypted under your key, as listed under [Encrypted with your key](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-enterprise#encrypted-with-your-key). | +| Existing data before key setup | Written before [your key takes effect](https://platform.claude.com/docs/en/manage-claude/cmek-how-it-works#when-your-key-takes-effect). | +| Standalone Claude Design app (being deprecated) | The standalone Claude Design app at claude.ai/design is not supported with CMEK, and its data might not be encrypted under your key. The standalone app is closing. Claude Design in conversations and the **Artifacts** tab is encrypted under your key, as listed under [Encrypted with your key](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-enterprise#encrypted-with-your-key). | | Personal preferences and Cowork Global instructions | [Personal preferences - Instructions for Claude section](https://claude.ai/new#settings/account) and Cowork Global instructions. These are set at the account level and shared across all of a user’s organizations. | | Account data for users in your organization | Includes names, email addresses, and profile pictures. | | Preserved records | Anthropic can preserve specific records [in three narrow cases](https://platform.claude.com/docs/en/manage-claude/cmek-data-retention#limited-preservation-outside-your-key). | - -## Where CMEK does not apply: Claude Code telemetry - -When Claude Code connects through an LLM gateway or proxy (a custom `ANTHROPIC_BASE_URL`), CMEK does not apply to Claude Code’s operational telemetry. To turn this telemetry off, set the `DISABLE_TELEMETRY` environment variable to `1`, as described under [Telemetry services](https://code.claude.com/docs/en/data-usage#telemetry-services) in the Claude Code documentation. +| Claude Code telemetry | When Claude Code connects through an LLM gateway or proxy (a custom `ANTHROPIC_BASE_URL`), CMEK does not apply to Claude Code’s operational telemetry. To turn this telemetry off, set the `DISABLE_TELEMETRY` environment variable to `1`, as described under [Telemetry services](https://code.claude.com/docs/en/data-usage#telemetry-services) in the Claude Code documentation. | diff --git a/content/en/manage-claude/cmek-coverage-claude-platform.md b/content/en/manage-claude/cmek-coverage-claude-platform.md index 571eafb315..baef39c2bb 100644 --- a/content/en/manage-claude/cmek-coverage-claude-platform.md +++ b/content/en/manage-claude/cmek-coverage-claude-platform.md @@ -4,7 +4,7 @@ url: https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-plat description: Look up which Claude Platform data your key encrypts, what turns off or changes, and what stays under Anthropic's key. --- -For Claude Enterprise, see [What CMEK covers on Claude Enterprise](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-enterprise). Beta and research preview features that aren’t listed here might not be covered by customer-managed encryption keys (CMEK). +For Claude Enterprise, see [What CMEK covers on Claude Enterprise](https://platform.claude.com/docs/en/manage-claude/cmek-coverage-claude-enterprise). ## Encrypted with your key @@ -13,11 +13,13 @@ For Claude Enterprise, see [What CMEK covers on Claude Enterprise](https://platf * MCP and tool configuration. * [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) (beta) data, including agent configurations, environments, webhooks, sessions and their events, [memory stores](https://platform.claude.com/docs/en/managed-agents/memory) (beta) and their memories and memory versions, and [dreams](https://platform.claude.com/docs/en/managed-agents/dreams) (research preview). * Batch API and Skills API data stored at rest. -* Tool data stored at rest by web search, web fetch, code execution, bash, text editor, MCP connector (beta), structured outputs, advisor tool (beta), computer use, browser use, and context management. +* Tool data stored at rest by web search, web fetch, code execution, bash, text editor, MCP connector (beta), structured outputs, advisor tool (beta), computer use, browser use, and context management (beta). * Backups and snapshots, which inherit the key. ## Turned off or changed +Beta and research preview features that aren’t listed on this page might not be covered by customer-managed encryption keys (CMEK). + This list is not exhaustive. Review it with your team before you set up CMEK. | Feature | What changes | @@ -31,18 +33,15 @@ This list is not exhaustive. Review it with your team before you set up CMEK. The features that store this data stay available, but the data isn’t encrypted with your key. You can turn off some of these features in **Settings**. -| Data | Details | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Existing data | Written before [your key takes effect](https://platform.claude.com/docs/en/manage-claude/cmek-how-it-works#when-your-key-takes-effect). | -| Data that isn’t at rest, and data with a TTL shorter than 24 hours | For example, cache. | -| Activity Feed, audit logs, and telemetry network traffic such as OpenTelemetry | Kept under Anthropic’s key so that you can maintain compliance even if your key can’t be used. | -| Claude Managed Agents [vault credential](https://platform.claude.com/docs/en/managed-agents/vaults) values, such as OAuth tokens and client secrets | Write-only and never returned in API responses. | -| [User profiles](https://platform.claude.com/docs/en/manage-claude/user-profiles) | Profile fields such as `name` and `metadata`. Don’t store sensitive personal data in profile `metadata`. | -| Claude Console feedback | Ratings and comments that members choose to send with the **Feedback** option. No setting turns it off. | -| [OpenTelemetry destination](https://platform.claude.com/docs/en/manage-claude/opentelemetry/api#add-a-destination) request headers, such as the API key header of your observability platform | Write-only and never returned in API responses. | -| Account data for users in your organization | Includes names, email addresses, and profile pictures. | -| Preserved records | Anthropic can preserve specific records [in three narrow cases](https://platform.claude.com/docs/en/manage-claude/cmek-data-retention#limited-preservation-outside-your-key). | - -## Where CMEK does not apply: Claude Code telemetry - -When Claude Code connects through an LLM gateway or proxy (a custom `ANTHROPIC_BASE_URL`), CMEK does not apply to Claude Code’s operational telemetry. To turn this telemetry off, set the `DISABLE_TELEMETRY` environment variable to `1`, as described under [Telemetry services](https://code.claude.com/docs/en/data-usage#telemetry-services) in the Claude Code documentation. +| Data | Details | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Existing data before key setup | Written before [your key takes effect](https://platform.claude.com/docs/en/manage-claude/cmek-how-it-works#when-your-key-takes-effect). | +| Data that isn’t at rest, and data with a TTL shorter than 24 hours | For example, cache. | +| Activity Feed, audit logs, and telemetry network traffic such as OpenTelemetry (beta) | Kept under Anthropic’s key so that you can maintain compliance even if your key can’t be used. | +| Claude Managed Agents (beta) [vault credential](https://platform.claude.com/docs/en/managed-agents/vaults) values, such as OAuth tokens and client secrets | Write-only and never returned in API responses. | +| [User profiles](https://platform.claude.com/docs/en/manage-claude/user-profiles) | Profile fields such as `name` and `metadata`. Don’t store sensitive personal data in profile `metadata`. | +| Claude Console feedback | Ratings and comments that members choose to send with the **Feedback** option. No setting turns it off. | +| [OpenTelemetry destination](https://platform.claude.com/docs/en/manage-claude/opentelemetry/api#add-a-destination) (beta) request headers, such as the API key header of your observability platform | Write-only and never returned in API responses. | +| Account data for users in your organization | Includes names, email addresses, and profile pictures. | +| Preserved records | Anthropic can preserve specific records [in three narrow cases](https://platform.claude.com/docs/en/manage-claude/cmek-data-retention#limited-preservation-outside-your-key). | +| Claude Code telemetry | When Claude Code connects through an LLM gateway or proxy (a custom `ANTHROPIC_BASE_URL`), CMEK does not apply to Claude Code’s operational telemetry. To turn this telemetry off, set the `DISABLE_TELEMETRY` environment variable to `1`, as described under [Telemetry services](https://code.claude.com/docs/en/data-usage#telemetry-services) in the Claude Code documentation. | diff --git a/content/en/manage-claude/data-residency.md b/content/en/manage-claude/data-residency.md index 48640df8fb..d3acd169ac 100644 --- a/content/en/manage-claude/data-residency.md +++ b/content/en/manage-claude/data-residency.md @@ -352,8 +352,8 @@ Legacy models are unaffected by this migration. For current pricing on newer mod Learn about workspace configuration. - - Track usage and costs by data residency. + + Track usage and costs by inference geo. diff --git a/content/en/manage-claude/opentelemetry.md b/content/en/manage-claude/opentelemetry.md index 990c5db560..37ab61a882 100644 --- a/content/en/manage-claude/opentelemetry.md +++ b/content/en/manage-claude/opentelemetry.md @@ -261,7 +261,7 @@ Spans can arrive more than once, for example when a delivery is retried. If your `gen_ai.usage.input_tokens` already includes the tokens read from and written to the prompt cache, so don’t add the cache attributes to it. For all usage attributes, see [Token usage](https://platform.claude.com/docs/en/api/opentelemetry/spans#token-usage). - Exported spans aren’t guaranteed to be a complete record of your API usage. Their delivery is [best effort](https://platform.claude.com/docs/en/manage-claude/opentelemetry/api#delivery-and-health), so a span can be lost. A caller can also leave out a request’s spans by turning off the sampled flag in the request’s [`traceparent` header](https://platform.claude.com/docs/en/manage-claude/opentelemetry/api#connect-api-spans-to-your-own-traces). To track each API key’s usage, for example to spot a leaked key, use the [Usage API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api#usage-api), which also counts the usage of requests without spans. + Exported spans aren’t guaranteed to be a complete record of your API usage. Their delivery is [best effort](https://platform.claude.com/docs/en/manage-claude/opentelemetry/api#delivery-and-health), so a span can be lost. A caller can also leave out a request’s spans by turning off the sampled flag in the request’s [`traceparent` header](https://platform.claude.com/docs/en/manage-claude/opentelemetry/api#connect-api-spans-to-your-own-traces). To track each API key’s usage, for example to spot a leaked key, use the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) and group by `api_key_id`. It also counts the usage of requests without spans. Usage typically appears there within 4 hours (see [Data freshness](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#data-freshness)). ## Availability diff --git a/content/en/manage-claude/rate-limits-api.md b/content/en/manage-claude/rate-limits-api.md index bd883a3615..01ffe0c360 100644 --- a/content/en/manage-claude/rate-limits-api.md +++ b/content/en/manage-claude/rate-limits-api.md @@ -13,7 +13,7 @@ The Rate Limits API provides programmatic access to the rate limits configured f Use this API to: * **Keep gateways and proxies in sync:** Read your current limits at startup and on a schedule instead of hardcoding values that drift when Anthropic adjusts them. -* **Power internal alerting:** Compare usage data from the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) against your configured limits. +* **Power internal alerting:** Compare usage data from the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) against your configured limits. * **Audit workspace configuration:** Verify that workspace overrides match what your provisioning automation expects. @@ -698,7 +698,7 @@ For complete parameter details and response schemas, see the [Workspace Rate Lim ### Include inherited values -To read a workspace’s applicable limits in one request, add the optional `include_inherited` query parameter. It defaults to `false`; a value that isn’t a Boolean returns a 400 error. With `include_inherited=true`: +To read a workspace’s applicable limits in one request, add the optional `include_inherited` query parameter. It defaults to `false`; a value that isn’t a boolean returns a 400 error. With `include_inherited=true`: * `data` has one entry for each group that applies to the workspace and has an organization-level value, even if the workspace overrides none of it. A model group applies when the workspace can access at least one of its models. * Each entry’s `limits[]` lists every limiter type the organization has a value for on that group, plus any type the workspace overrides. Each type appears once, with the workspace’s override where one is stored and the organization’s value otherwise, so one entry can mix the two. @@ -1119,4 +1119,4 @@ By default, the workspace response lists only overrides, so a missing group has * [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api) * [Admin API reference](https://platform.claude.com/docs/en/api/organization) * [Workspaces](https://platform.claude.com/docs/en/manage-claude/workspaces) -* [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) +* [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) diff --git a/content/en/manage-claude/spend-limits-api.md b/content/en/manage-claude/spend-limits-api.md index 22f6e1a2ba..683cb034b9 100644 --- a/content/en/manage-claude/spend-limits-api.md +++ b/content/en/manage-claude/spend-limits-api.md @@ -6,7 +6,7 @@ description: Set a spend limit on each Claude Enterprise member, see where each The Spend Limits API lets you set a spend limit on each Claude Enterprise member, see where each member’s spend limit is inherited from, and review or act on members’ requests for a higher limit. -For per-user and time-bucketed usage and cost *reporting*, see [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api). +For per-user and time-bucketed usage and cost *reporting*, see [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api) or the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). **Scoped Admin API key required** @@ -1185,9 +1185,9 @@ For complete parameter details and response schemas, see [Deny a spend limit inc ## Example workflows -Some of these workflows combine the Spend Limits API with the [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api) cost endpoints. The Analytics cost endpoints are designed for organization-wide spend reporting across a date range. `GET /spend_limits/effective` returns the cap that currently applies to each member. Start a sweep with Analytics to discover which members to look at, then read their current caps with `/effective`. +Some of these workflows combine the Spend Limits API with the cost endpoint of the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). The cost endpoint is designed for organization-wide spend reporting across a date range. `GET /spend_limits/effective` returns the cap that currently applies to each member. Start a sweep with the cost endpoint to discover which members to look at, then read their current caps with `/effective`. -Spend Limits endpoints require the `spend_limits` scopes and Analytics cost endpoints require `read:analytics`; see [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api) for how to provision access. The examples use one Admin API key that has the scopes of every API they call. A primary owner [selects these scopes when creating the key](https://platform.claude.com/docs/en/manage-claude/admin-api-keys#choose-scopes-for-a-claude-enterprise-key). All monetary values on both are decimal strings in minor units (cents). Both APIs paginate with an opaque cursor. Set an explicit `limit` and page through `next_page` until it’s `null` to cover the whole organization. +Spend Limits endpoints require the `spend_limits` scopes and the cost endpoint requires `read:analytics`. The examples use one Admin API key that has the scopes of every API they call. A primary owner [selects these scopes when creating the key](https://platform.claude.com/docs/en/manage-claude/admin-api-keys#choose-scopes-for-a-claude-enterprise-key). All monetary values on both are decimal strings in minor units (cents). Both APIs paginate with an opaque cursor. Set an explicit `limit` and page through `next_page` until it’s `null` to cover the whole organization. ### Automate the increase-request review flow @@ -1437,73 +1437,102 @@ Run a scheduled job that fetches pending requests, applies your organization’s Find members approaching their cap so you can raise it before they’re blocked. -1. Pull each member’s month-to-date spend from the Analytics API (one row for each member, highest spend first by default): +1. Pull each member’s month-to-date spend from the Usage and Cost Analytics API (one row for each member, highest spend first by default): ```bash cURL - curl "https://api.anthropic.com/v1/organizations/analytics/user_cost_report?starting_at=2026-06-01T00:00:00Z&limit=1000" \ - -H "x-api-key: $ANTHROPIC_API_KEY" \ - -H "anthropic-version: 2023-06-01" + curl -g "https://api.anthropic.com/v1/organizations/analytics/cost?\ + starting_at=2026-06-01T00:00:00Z&\ + group_by[]=actor&\ + actor_types[]=user_actor&\ + limit=1000" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" ``` ```bash CLI - ant beta:organization:analytics:user-cost-report list \ + ant beta:organization:analytics:cost list \ --starting-at 2026-06-01T00:00:00Z \ + --actor-type user_actor \ + --group-by actor \ --limit 1000 ``` ```python Python client = anthropic.Anthropic() - cost_rows = client.beta.organization.analytics.user_cost_report.list( - starting_at="2026-06-01T00:00:00Z", limit=1000 + cost_rows = client.beta.organization.analytics.cost.list( + starting_at="2026-06-01T00:00:00Z", + actor_types=["user_actor"], + group_by=["actor"], + limit=1000, ) for cost_row in cost_rows: - print(f"{cost_row.actor.user_id}: {cost_row.amount}") + actor = cost_row.group.actor + if actor is not None and actor.type == "user_actor": + print(f"{actor.user_id}: {cost_row.cost.amount}") ``` ```typescript TypeScript const client = new Anthropic(); - const costRows = await client.beta.organization.analytics.userCostReport.list({ + const costRows = await client.beta.organization.analytics.cost.list({ starting_at: "2026-06-01T00:00:00Z", + actor_types: ["user_actor"], + group_by: ["actor"], limit: 1000 }); for await (const costRow of costRows) { - console.log(`${costRow.actor.user_id}: ${costRow.amount}`); + const { actor } = costRow.group; + if (actor?.type === "user_actor") { + console.log(`${actor.user_id}: ${costRow.cost.amount}`); + } } ``` ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics; + using Anthropic.Models.Beta.Organization.Analytics.Cost; + AnthropicClient client = new(); - var page = await client.Beta.Organization.Analytics.UserCostReport.List( + var page = await client.Beta.Organization.Analytics.Cost.List( new() { StartingAt = DateTimeOffset.Parse("2026-06-01T00:00:00Z"), + ActorTypes = [BetaAnalyticsActorType.UserActor], + GroupBy = [BetaAnalyticsCostGroupBy.Actor], Limit = 1000, } ); await foreach (var costRow in page.Paginate()) { - Console.WriteLine($"{costRow.Actor.UserID}: {costRow.Amount}"); + if (costRow.Group.Actor is { } actor && actor.TryPickReportUser(out var user)) + { + Console.WriteLine($"{user.UserID}: {costRow.Cost.Amount}"); + } } ``` ```go Go client := anthropic.NewClient() - costRows := client.Beta.Organization.Analytics.UserCostReport.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUserCostReportListParams{ + costRows := client.Beta.Organization.Analytics.Cost.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsCostListParams{ StartingAt: time.Date(2026, time.June, 1, 0, 0, 0, 0, time.UTC), + ActorTypes: []anthropic.BetaAnalyticsActorType{anthropic.BetaAnalyticsActorTypeUserActor}, + GroupBy: []anthropic.BetaAnalyticsCostGroupBy{anthropic.BetaAnalyticsCostGroupByActor}, Limit: anthropic.Int(1000), }) for costRows.Next() { costRow := costRows.Current() - fmt.Printf("%s: %s\n", costRow.Actor.UserID, costRow.Amount) + if user, ok := costRow.Group.Actor.AsAny().(anthropic.BetaAnalyticsReportUserActor); ok { + fmt.Printf("%s: %s\n", user.UserID, costRow.Cost.Amount) + } } if err := costRows.Err(); err != nil { log.Fatal(err) @@ -1511,52 +1540,71 @@ Find members approaching their cap so you can raise it before they’re blocked. ``` ```java Java - import com.anthropic.models.beta.organization.analytics.usercostreport.UserCostReportListParams; + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsActorType; + import com.anthropic.models.beta.organization.analytics.cost.BetaAnalyticsCostGroupBy; + import com.anthropic.models.beta.organization.analytics.cost.CostListParams; import java.time.OffsetDateTime; void main() { AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - var params = UserCostReportListParams.builder() + var params = CostListParams.builder() .startingAt(OffsetDateTime.parse("2026-06-01T00:00:00Z")) + .addActorType(BetaAnalyticsActorType.USER_ACTOR) + .addGroupBy(BetaAnalyticsCostGroupBy.ACTOR) .limit(1000) .build(); - var costRows = client.beta().organization().analytics().userCostReport().list(params); + var costRows = client.beta().organization().analytics().cost().list(params); for (var costRow : costRows.autoPager()) { - IO.println(costRow.actor().userId() + ": " + costRow.amount()); + costRow.group().actor().flatMap(actor -> actor.user()).ifPresent(user -> + IO.println(user.userId() + ": " + costRow.cost().amount()) + ); } } ``` ```php PHP + use Anthropic\Beta\Organization\Analytics\AnalyticsReportUserActor; + // ... + $client = new Client(); - $costRows = $client->beta->organization->analytics->userCostReport->list( + $costRows = $client->beta->organization->analytics->cost->list( startingAt: new \DateTimeImmutable('2026-06-01T00:00:00Z'), + actorTypes: ['user_actor'], + groupBy: ['actor'], limit: 1000, ); foreach ($costRows->pagingEachItem() as $costRow) { - echo "{$costRow->actor->userID}: {$costRow->amount}\n"; + $actor = $costRow->group->actor; + if ($actor instanceof AnalyticsReportUserActor) { + echo "{$actor->userID}: {$costRow->cost->amount}\n"; + } } ``` ```ruby Ruby client = Anthropic::Client.new - page = client.beta.organization.analytics.user_cost_report.list( + page = client.beta.organization.analytics.cost.list( starting_at: Time.utc(2026, 6, 1), + actor_types: [:user_actor], + group_by: [:actor], limit: 1000 ) page.auto_paging_each do |cost_row| - puts "#{cost_row.actor.user_id}: #{cost_row.amount}" + actor = cost_row.group.actor + if actor.is_a?(Anthropic::Models::Beta::Organization::BetaAnalyticsReportUserActor) + puts "#{actor.user_id}: #{cost_row.cost.amount}" + end end ``` - Each row contains `actor.user_id`, `actor.email_address`, and `amount` (the member’s spend in cents). Page through `next_page` to cover the whole organization. + Each row contains `group.actor.user_id`, `group.actor.email_address`, and `cost.amount` (the member’s spend in cents). Page through `next_page` to cover the whole organization. 2. For the top spenders (or everyone above a dollar threshold), fetch effective caps in batches: @@ -1715,86 +1763,114 @@ Find members approaching their cap so you can raise it before they’re blocked. Surface members whose spend has jumped week over week. -1. Pull per-member daily cost for the trailing 2 weeks from the Analytics API: +1. Pull per-member daily cost for the trailing 2 weeks from the Usage and Cost Analytics API: ```bash cURL - curl "https://api.anthropic.com/v1/organizations/analytics/user_cost_report?starting_at=2026-06-09T00:00:00Z&ending_at=2026-06-23T00:00:00Z&bucket_width=1d&limit=1000" \ - -H "x-api-key: $ANTHROPIC_API_KEY" \ - -H "anthropic-version: 2023-06-01" + curl -g "https://api.anthropic.com/v1/organizations/analytics/cost?\ + starting_at=2026-06-09T00:00:00Z&\ + ending_at=2026-06-23T00:00:00Z&\ + time_bucket_width=1d&\ + group_by[]=actor&\ + actor_types[]=user_actor&\ + limit=1000" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" ``` ```bash CLI - ant beta:organization:analytics:user-cost-report list \ + ant beta:organization:analytics:cost list \ --starting-at 2026-06-09T00:00:00Z \ --ending-at 2026-06-23T00:00:00Z \ - --bucket-width 1d \ + --time-bucket-width 1d \ + --actor-type user_actor \ + --group-by actor \ --limit 1000 ``` ```python Python client = anthropic.Anthropic() - cost_rows = client.beta.organization.analytics.user_cost_report.list( + cost_rows = client.beta.organization.analytics.cost.list( starting_at="2026-06-09T00:00:00Z", ending_at="2026-06-23T00:00:00Z", - bucket_width="1d", + time_bucket_width="1d", + actor_types=["user_actor"], + group_by=["actor"], limit=1000, ) for cost_row in cost_rows: - print(f"{cost_row.actor.user_id} {cost_row.starting_at}: {cost_row.amount}") + actor = cost_row.group.actor + if actor is not None and actor.type == "user_actor": + print(f"{actor.user_id} {cost_row.starting_at}: {cost_row.cost.amount}") ``` ```typescript TypeScript const client = new Anthropic(); - const costRows = await client.beta.organization.analytics.userCostReport.list({ + const costRows = await client.beta.organization.analytics.cost.list({ starting_at: "2026-06-09T00:00:00Z", ending_at: "2026-06-23T00:00:00Z", - bucket_width: "1d", + time_bucket_width: "1d", + actor_types: ["user_actor"], + group_by: ["actor"], limit: 1000 }); for await (const costRow of costRows) { - console.log(`${costRow.actor.user_id} ${costRow.starting_at}: ${costRow.amount}`); + const { actor } = costRow.group; + if (actor?.type === "user_actor") { + console.log(`${actor.user_id} ${costRow.starting_at}: ${costRow.cost.amount}`); + } } ``` ```csharp C# - using Anthropic.Models.Beta.Organization.Analytics.UserCostReport; + using Anthropic.Models.Beta.Organization.Analytics; + using Anthropic.Models.Beta.Organization.Analytics.Cost; AnthropicClient client = new(); - var page = await client.Beta.Organization.Analytics.UserCostReport.List( + var page = await client.Beta.Organization.Analytics.Cost.List( new() { StartingAt = DateTimeOffset.Parse("2026-06-09T00:00:00Z"), EndingAt = DateTimeOffset.Parse("2026-06-23T00:00:00Z"), - BucketWidth = BucketWidth.Day, + TimeBucketWidth = BetaAnalyticsTimeBucketWidth.Day, + ActorTypes = [BetaAnalyticsActorType.UserActor], + GroupBy = [BetaAnalyticsCostGroupBy.Actor], Limit = 1000, } ); await foreach (var costRow in page.Paginate()) { - Console.WriteLine($"{costRow.Actor.UserID} {costRow.StartingAt}: {costRow.Amount}"); + if (costRow.Group.Actor is { } actor && actor.TryPickReportUser(out var user)) + { + Console.WriteLine($"{user.UserID} {costRow.StartingAt}: {costRow.Cost.Amount}"); + } } ``` ```go Go client := anthropic.NewClient() - costRows := client.Beta.Organization.Analytics.UserCostReport.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUserCostReportListParams{ - StartingAt: time.Date(2026, time.June, 9, 0, 0, 0, 0, time.UTC), - EndingAt: anthropic.Time(time.Date(2026, time.June, 23, 0, 0, 0, 0, time.UTC)), - BucketWidth: anthropic.BetaOrganizationAnalyticsUserCostReportListParamsBucketWidthDay, - Limit: anthropic.Int(1000), + costRows := client.Beta.Organization.Analytics.Cost.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsCostListParams{ + StartingAt: time.Date(2026, time.June, 9, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.June, 23, 0, 0, 0, 0, time.UTC)), + TimeBucketWidth: anthropic.BetaAnalyticsTimeBucketWidthDay, + ActorTypes: []anthropic.BetaAnalyticsActorType{anthropic.BetaAnalyticsActorTypeUserActor}, + GroupBy: []anthropic.BetaAnalyticsCostGroupBy{anthropic.BetaAnalyticsCostGroupByActor}, + Limit: anthropic.Int(1000), }) for costRows.Next() { costRow := costRows.Current() - fmt.Printf("%s %s: %s\n", costRow.Actor.UserID, costRow.StartingAt, costRow.Amount) + if user, ok := costRow.Group.Actor.AsAny().(anthropic.BetaAnalyticsReportUserActor); ok { + fmt.Printf("%s %s: %s\n", user.UserID, costRow.StartingAt.Format(time.RFC3339), costRow.Cost.Amount) + } } if err := costRows.Err(); err != nil { log.Fatal(err) @@ -1802,61 +1878,81 @@ Surface members whose spend has jumped week over week. ``` ```java Java - import com.anthropic.models.beta.organization.analytics.usercostreport.UserCostReportListParams; + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsActorType; + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsTimeBucketWidth; + import com.anthropic.models.beta.organization.analytics.cost.BetaAnalyticsCostGroupBy; + import com.anthropic.models.beta.organization.analytics.cost.CostListParams; import java.time.OffsetDateTime; void main() { AnthropicClient client = AnthropicOkHttpClient.fromEnv(); - var params = UserCostReportListParams.builder() + var params = CostListParams.builder() .startingAt(OffsetDateTime.parse("2026-06-09T00:00:00Z")) .endingAt(OffsetDateTime.parse("2026-06-23T00:00:00Z")) - .bucketWidth(UserCostReportListParams.BucketWidth.DAY) + .timeBucketWidth(BetaAnalyticsTimeBucketWidth.DAY) + .addActorType(BetaAnalyticsActorType.USER_ACTOR) + .addGroupBy(BetaAnalyticsCostGroupBy.ACTOR) .limit(1000) .build(); - var costRows = client.beta().organization().analytics().userCostReport().list(params); + var costRows = client.beta().organization().analytics().cost().list(params); for (var costRow : costRows.autoPager()) { - IO.println(costRow.actor().userId() + " " + costRow.startingAt().orElseThrow() + ": " + costRow.amount()); + costRow.group().actor().flatMap(actor -> actor.user()).ifPresent(user -> + IO.println(user.userId() + " " + costRow.startingAt() + ": " + costRow.cost().amount()) + ); } } ``` ```php PHP + use Anthropic\Beta\Organization\Analytics\AnalyticsReportUserActor; + // ... + $client = new Client(); - $costRows = $client->beta->organization->analytics->userCostReport->list( + $costRows = $client->beta->organization->analytics->cost->list( startingAt: new \DateTimeImmutable('2026-06-09T00:00:00Z'), endingAt: new \DateTimeImmutable('2026-06-23T00:00:00Z'), - bucketWidth: '1d', + timeBucketWidth: '1d', + actorTypes: ['user_actor'], + groupBy: ['actor'], limit: 1000, ); foreach ($costRows->pagingEachItem() as $costRow) { - $startingAt = $costRow->startingAt?->format(\DateTimeInterface::ATOM); - echo "{$costRow->actor->userID} {$startingAt}: {$costRow->amount}\n"; + $actor = $costRow->group->actor; + if ($actor instanceof AnalyticsReportUserActor) { + $startingAt = $costRow->startingAt->format(\DateTimeInterface::ATOM); + echo "{$actor->userID} {$startingAt}: {$costRow->cost->amount}\n"; + } } ``` ```ruby Ruby client = Anthropic::Client.new - page = client.beta.organization.analytics.user_cost_report.list( + page = client.beta.organization.analytics.cost.list( starting_at: Time.utc(2026, 6, 9), ending_at: Time.utc(2026, 6, 23), - bucket_width: :"1d", + time_bucket_width: :"1d", + actor_types: [:user_actor], + group_by: [:actor], limit: 1000 ) page.auto_paging_each do |cost_row| - puts "#{cost_row.actor.user_id} #{cost_row.starting_at}: #{cost_row.amount}" + actor = cost_row.group.actor + if actor.is_a?(Anthropic::Models::Beta::Organization::BetaAnalyticsReportUserActor) + puts "#{actor.user_id} #{cost_row.starting_at}: #{cost_row.cost.amount}" + end end ``` - With `bucket_width` set, each member spans one row for each day with usage. Page through `next_page` to collect every member’s full series. + With `time_bucket_width` set, each member spans one row for each day with usage. Page through `next_page` to collect every member’s full series. -2. Group rows by `actor.user_id`. For each member, sum the most recent 7 days and the prior 7 days. Flag members whose recent week exceeds the prior week by your chosen multiple (for example, three). Recent-day cost is provisional and can be revised upward; for repeatable comparisons, set `ending_at` at or before a previously returned `data_refreshed_at` (see [Data availability and freshness](https://platform.claude.com/docs/en/manage-claude/analytics-api#data-availability-and-freshness)). +2. Group rows by `group.actor.user_id`. For each member, sum the most recent 7 days and the prior 7 days. Flag members whose recent week exceeds the prior week by your chosen multiple (for example, three). Cost for recent days can still change. For repeatable comparisons, set `ending_at` at or before a `data_refreshed_at` you have already seen (see [Data freshness](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#data-freshness)). 3. Act on flagged members: adjust the cap with `POST /v1/organizations/spend_limits`, or contact the member. @@ -2291,7 +2387,7 @@ The spend reading can be temporarily unavailable, in which case the field reads Generated request and response schemas for the increase-request endpoints. - - Per-user and time-bucketed usage and cost reporting for Claude Enterprise. + + Track token usage and costs for your organization. diff --git a/content/en/manage-claude/usage-cost-analytics-api.md b/content/en/manage-claude/usage-cost-analytics-api.md new file mode 100644 index 0000000000..edd0aa8355 --- /dev/null +++ b/content/en/manage-claude/usage-cost-analytics-api.md @@ -0,0 +1,1584 @@ +--- +title: Usage and Cost Analytics API +url: https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api +description: Query token usage and cost for your Claude Console or Claude Enterprise organization by model, workspace, API key, actor, and more. +--- + + + **The Admin API is unavailable for individual accounts.** To collaborate with teammates and add members, set up your organization on the [Organization](https://platform.claude.com/settings/organization) page (`platform.claude.com/settings/organization`) in the Claude Console. + + +The Usage and Cost Analytics API reports historical token usage and cost for your organization, broken down by the dimensions you choose, such as model, workspace, API key, or the user or service account behind each request. For Claude Console organizations, this data is similar to what the [Usage](https://platform.claude.com/usage) and [Cost](https://platform.claude.com/cost) pages of the Claude Console show. + +The API has two endpoints: + +* `GET /v1/organizations/analytics/usage` reports token counts and request counts. +* `GET /v1/organizations/analytics/cost` reports cost in USD. + +The Usage and Cost Analytics API is in beta. Send the `anthropic-beta: analytics-usage-cost-2026-08-24` header and an [`anthropic-version`](https://platform.claude.com/docs/en/api/versioning) header on every request. The SDK and the `ant` CLI send both headers for you and fetch the remaining pages as you read the results, so `limit` sets only the page size. + +Use this API to: + +* **Attribute spend:** Break down cost and token usage by workspace, API key, model, service tier, or the identity that made each request. +* **Find top consumers:** Rank results by tokens, requests, or cost to answer questions such as “which API keys spend the most this month?” +* **Build time series:** Split results into daily, hourly, or per-minute buckets for dashboards and finance reports. +* **Integrate once:** The same endpoints, parameters, and response fields serve Claude Console and Claude Enterprise organizations. + + + **Authentication** + + Claude Console organizations use an [Admin API key](https://platform.claude.com/docs/en/manage-claude/admin-api-keys#create-a-key-for-a-claude-console-organization) or another [Admin API credential](https://platform.claude.com/docs/en/manage-claude/admin-api#authentication), such as an OAuth token with the `org:admin` scope. Send an OAuth token in an `authorization: Bearer` header instead of the `x-api-key` header; see [Obtain an OAuth bearer token](https://platform.claude.com/docs/en/manage-claude/admin-api#oauth-bearer-token). + + Claude Enterprise organizations use a key with the `read:analytics` scope, created in claude.ai by the primary owner after the Analytics API is enabled for the organization; see [Get access to the Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api#get-access-to-the-claude-enterprise-analytics-api). + + The examples on this page read a key from the `ANTHROPIC_API_KEY` environment variable, so set it to your key before you run them. + + If you call these endpoints with an Admin API key, give the service that collects this data its own key, store it in a secrets manager, and rotate it regularly; setting a [key expiration](https://platform.claude.com/docs/en/manage-claude/authentication#key-expiration) when you create the key enforces the rotation. Where you can, use a [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) rule with the [`org:admin` scope](https://platform.claude.com/docs/en/manage-claude/wif-reference#oauth-scopes) instead, so the service gets short-lived tokens and there’s no long-lived key to leak. + + + + **Claude Platform on AWS:** Both endpoints are available. Requests use the Claude Platform on AWS base URL and authentication in place of an Admin API key (see [Making requests](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#making-requests)), and AWS IAM authorizes them through the [`ListAccountUsage` and `ListAccountCost` actions](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#usage-and-cost). Each request covers only the workspaces in the AWS region of the endpoint you call, so call each region’s endpoint to cover your whole organization. `user_profile_id`, `claude_tag_category`, `claude_tag_user_id`, and the Claude Managed Agents dimensions (`agent_id`, `environment_id`, `deployment_id`, and `session_id`) are `null` on every row. + + + + **Claude Models on Google Cloud (Anthropic managed):** Both endpoints are available. Call them through the [organization-level base URL](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#making-requests) with Google Cloud credentials instead of an Admin API key. The `/usage` endpoint needs the `usageAnalytics.list` [IAM permission](https://platform.claude.com/docs/en/api/claude-models-on-google-cloud-anthropic-managed-iam-permissions), and the `/cost` endpoint needs `costAnalytics.list`. + + +## Quick start + +Get daily token usage for the first week of September, one row for each model and day: + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/usage?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-09-08T00:00:00Z&\ + time_bucket_width=1d&\ + group_by[]=model&\ + limit=10" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:usage list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-09-08T00:00:00Z \ + --time-bucket-width 1d \ + --group-by model \ + --limit 10 + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.usage.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-09-08T00:00:00Z", + time_bucket_width="1d", + group_by=["model"], + limit=10, + ) + + for row in rows: + print(f"{row.starting_at} {row.group.model}: {row.usage.total_tokens}") + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.usage.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-09-08T00:00:00Z", + time_bucket_width: "1d", + group_by: ["model"], + limit: 10 + }); + + for await (const row of rows) { + console.log(`${row.starting_at} ${row.group.model}: ${row.usage.total_tokens}`); + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics; + using Anthropic.Models.Beta.Organization.Analytics.Usage; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Usage.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-09-08T00:00:00Z"), + TimeBucketWidth = BetaAnalyticsTimeBucketWidth.Day, + GroupBy = [BetaAnalyticsUsageGroupBy.Model], + Limit = 10, + } + ); + + await foreach (var row in page.Paginate()) + { + Console.WriteLine($"{row.StartingAt} {row.Group.Model}: {row.Usage.TotalTokens}"); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Usage.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUsageListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.September, 8, 0, 0, 0, 0, time.UTC)), + TimeBucketWidth: anthropic.BetaAnalyticsTimeBucketWidthDay, + GroupBy: []anthropic.BetaAnalyticsUsageGroupBy{anthropic.BetaAnalyticsUsageGroupByModel}, + Limit: anthropic.Int(10), + }) + + for rows.Next() { + row := rows.Current() + fmt.Printf("%s %s: %d\n", row.StartingAt.Format(time.RFC3339), row.Group.Model, row.Usage.TotalTokens) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsTimeBucketWidth; + import com.anthropic.models.beta.organization.analytics.usage.BetaAnalyticsUsageGroupBy; + import com.anthropic.models.beta.organization.analytics.usage.UsageListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = UsageListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-09-08T00:00:00Z")) + .timeBucketWidth(BetaAnalyticsTimeBucketWidth.DAY) + .addGroupBy(BetaAnalyticsUsageGroupBy.MODEL) + .limit(10) + .build(); + var rows = client.beta().organization().analytics().usage().list(params); + + for (var row : rows.autoPager()) { + IO.println(row.startingAt() + " " + row.group().model().orElse(null) + ": " + row.usage().totalTokens()); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->usage->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-09-08T00:00:00Z'), + timeBucketWidth: '1d', + groupBy: ['model'], + limit: 10, + ); + + foreach ($rows->pagingEachItem() as $row) { + $startingAt = $row->startingAt->format(\DateTimeInterface::ATOM); + echo "{$startingAt} {$row->group->model}: {$row->usage->totalTokens}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.usage.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 9, 8), + time_bucket_width: :"1d", + group_by: [:model], + limit: 10 + ) + + page.auto_paging_each do |row| + puts "#{row.starting_at} #{row.group.model}: #{row.usage.total_tokens}" + end + ``` + + +The response has one row for each model and day that has usage, largest `total_tokens` first. This example shows a single row: + +```json +{ + "data": [ + { + "starting_at": "2026-09-03T00:00:00Z", + "ending_at": "2026-09-04T00:00:00Z", + "group": { + "product": null, + "model": "claude-sonnet-5", + "context_window": null, + "inference_geo": null, + "speed": null, + "slack_channel_id": null, + "claude_tag_category": null, + "claude_tag_user_id": null, + "rbac_group_id": null, + "workspace_id": null, + "service_tier": null, + "user_profile_id": null, + "agent_id": null, + "environment_id": null, + "deployment_id": null, + "session_id": null, + "actor": null, + "actor_type": null, + "api_key_id": null + }, + "usage": { + "uncached_input_tokens": 1284500, + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 215300 + }, + "cache_read_input_tokens": 3200000, + "output_tokens": 891000, + "total_tokens": 5590800, + "server_tool_use": { + "web_search_requests": 12 + }, + "requests": 4210 + } + } + ], + "has_more": true, + "next_page": "page_V2mQ4dkt9HcbX3pLr...", + "data_refreshed_at": "2026-09-18T16:02:11Z" +} +``` + + + **Set a User-Agent header for integrations** + + If you’re building an integration, set your User-Agent header to help Anthropic understand usage patterns: + + ```text wrap + User-Agent: YourApp/1.0.0 (https://yourapp.com) + ``` + + +## How results are shaped + +* **Every row has three parts:** `starting_at` and `ending_at` give the period the row covers, `group` holds every dimension, and `usage` (or `cost` on the cost endpoint) holds the metrics. +* **Dimensions are null unless grouped:** A dimension in `group` is `null` unless you list it in `group_by[]`. A grouped dimension is also `null` on rows that have no value for it, such as `model` on code execution usage. `group_by[]` takes up to five dimensions. +* **One row for each combination:** Each row is one combination of the grouped dimensions, and every combination that has usage or cost appears exactly once across the pages of a query. With no `group_by[]` and no `time_bucket_width`, the response is a single row that totals the whole range. +* **Time buckets are optional:** Set `time_bucket_width` to `1m`, `1h`, or `1d` to split each combination by UTC bucket; each row’s `starting_at` and `ending_at` are then its bucket’s bounds. Buckets with no usage or cost produce no rows. +* **Ranked by default:** Rows are ordered by the `order_by` metric across the whole range, largest first by default (`order=asc` reverses it). To build a time series, set `time_bucket_width` and `order_by=time`. Rows then come back one time bucket after another, newest bucket first by default (`order=asc` puts the oldest first), with the largest rows first within each bucket. Fill empty buckets with zeros. +* **Filters work alongside grouping:** Most dimensions you can group by have a matching list filter in bracket notation, such as `models[]=claude-opus-5-5`. Repeat the parameter to pass several values, up to 100. Multiple values for the same filter are combined with OR, and different filters are combined with AND. Filters and `group_by[]` are independent; you can filter by any dimension with or without grouping by it, or the reverse. + +Dimensions such as `model` and `actor` apply to every organization. Some, such as `api_key_id`, apply only to Claude Console organizations, and others, such as `slack_channel_id`, apply only to Claude Enterprise organizations. A dimension that doesn’t apply to your organization is `null` on every row and its filter matches nothing; the exception is `rbac_group_id`, which returns an error instead when teams aren’t available to your organization. The [usage](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list) and [cost](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list) API reference lists every dimension, filter, and value. + +### Actors + +The `actor` dimension is who a request is attributed to: a user, a service account, a federated cloud identity (an AWS or Google Cloud principal, for organizations that access Claude through their cloud platform), or, when none of those is behind the request, the API key itself. When you group by `actor`, each row’s `actor` is an object whose `type` says which kind it is. Usage that can’t be attributed to any identity has `actor: null`. + +[Personal keys and service account keys](https://platform.claude.com/docs/en/manage-claude/authentication#key-types) act as the user or service account they’re linked to, so their requests show that identity as the `actor` and the key in `api_key_id`. Legacy workspace keys aren’t linked to an identity, so the key appears as both the `actor` and the `api_key_id`. The exception is a key that Claude Code creates for a member at sign-in: it lives in the [Claude Code workspace](https://platform.claude.com/docs/en/manage-claude/workspaces#claude-code-workspace), and its usage is attributed to that member. Requests made without an API key, such as from the Claude Console, from Claude Code after a [sign-in without an API key](https://code.claude.com/docs/en/authentication#sign-in-without-an-api-key), or with a [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) token, have `api_key_id: null`. After a sign-in without an API key, the `actor` is the member who signed in; a federated workload’s `actor` is its service account. To include usage with no API key in an `api_key_ids[]` filter, add an empty entry: `api_key_ids[]=`. + +The `api_key_ids[]` and `actor_ids[]` filters answer different questions. `api_key_ids[]=apikey_...` matches every request the key authenticated, whoever it is attributed to. `actor_ids[]=apikey_...` matches only requests attributed to the key itself. + +## Usage endpoint + +`GET /v1/organizations/analytics/usage` returns token counts by type. `order_by` accepts `total_tokens` (the default), `output_tokens`, `uncached_input_tokens`, `requests`, or `time`. + +For example, to see a week of usage for one workspace and one API key, broken down by service tier (one row for each tier, covering the whole week): + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/usage?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-09-08T00:00:00Z&\ + workspace_ids[]=wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ&\ + api_key_ids[]=apikey_01Rj2N8SVvo6BePZj99NhmiT&\ + group_by[]=service_tier" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:usage list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-09-08T00:00:00Z \ + --workspace-id wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ \ + --api-key-id apikey_01Rj2N8SVvo6BePZj99NhmiT \ + --group-by service_tier + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.usage.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-09-08T00:00:00Z", + workspace_ids=["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + api_key_ids=["apikey_01Rj2N8SVvo6BePZj99NhmiT"], + group_by=["service_tier"], + ) + + for row in rows: + print(f"{row.group.service_tier}: {row.usage.total_tokens}") + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.usage.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-09-08T00:00:00Z", + workspace_ids: ["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + api_key_ids: ["apikey_01Rj2N8SVvo6BePZj99NhmiT"], + group_by: ["service_tier"] + }); + + for await (const row of rows) { + console.log(`${row.group.service_tier}: ${row.usage.total_tokens}`); + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics.Usage; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Usage.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-09-08T00:00:00Z"), + WorkspaceIds = ["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + ApiKeyIds = ["apikey_01Rj2N8SVvo6BePZj99NhmiT"], + GroupBy = [BetaAnalyticsUsageGroupBy.ServiceTier], + } + ); + + await foreach (var row in page.Paginate()) + { + Console.WriteLine($"{row.Group.ServiceTier?.Raw()}: {row.Usage.TotalTokens}"); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Usage.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUsageListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.September, 8, 0, 0, 0, 0, time.UTC)), + WorkspaceIDs: []string{"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"}, + APIKeyIDs: []string{"apikey_01Rj2N8SVvo6BePZj99NhmiT"}, + GroupBy: []anthropic.BetaAnalyticsUsageGroupBy{anthropic.BetaAnalyticsUsageGroupByServiceTier}, + }) + + for rows.Next() { + row := rows.Current() + fmt.Printf("%s: %d\n", row.Group.ServiceTier, row.Usage.TotalTokens) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.usage.BetaAnalyticsUsageGroupBy; + import com.anthropic.models.beta.organization.analytics.usage.UsageListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = UsageListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-09-08T00:00:00Z")) + .addWorkspaceId("wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ") + .addApiKeyId("apikey_01Rj2N8SVvo6BePZj99NhmiT") + .addGroupBy(BetaAnalyticsUsageGroupBy.SERVICE_TIER) + .build(); + var rows = client.beta().organization().analytics().usage().list(params); + + for (var row : rows.autoPager()) { + IO.println(row.group().serviceTier().orElse(null) + ": " + row.usage().totalTokens()); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->usage->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-09-08T00:00:00Z'), + workspaceIDs: ['wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ'], + apiKeyIDs: ['apikey_01Rj2N8SVvo6BePZj99NhmiT'], + groupBy: ['service_tier'], + ); + + foreach ($rows->pagingEachItem() as $row) { + echo "{$row->group->serviceTier}: {$row->usage->totalTokens}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.usage.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 9, 8), + workspace_ids: ["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + api_key_ids: ["apikey_01Rj2N8SVvo6BePZj99NhmiT"], + group_by: [:service_tier] + ) + + page.auto_paging_each do |row| + puts "#{row.group.service_tier}: #{row.usage.total_tokens}" + end + ``` + + +To look up API key and workspace IDs, use the [List API Keys](https://platform.claude.com/docs/en/api/organization/api_keys/list) and [List Workspaces](https://platform.claude.com/docs/en/api/organization/workspaces/list) endpoints or the Claude Console. + +To find which users, service accounts, and API keys made the most requests in a month: + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/usage?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-10-01T00:00:00Z&\ + group_by[]=actor&\ + order_by=requests&\ + limit=25" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:usage list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-10-01T00:00:00Z \ + --group-by actor \ + --order-by requests \ + --limit 25 + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.usage.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-10-01T00:00:00Z", + group_by=["actor"], + order_by="requests", + limit=25, + ) + + for row in rows: + print(f"{row.group.actor}: {row.usage.requests}") + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.usage.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-10-01T00:00:00Z", + group_by: ["actor"], + order_by: "requests", + limit: 25 + }); + + for await (const row of rows) { + console.log(`${JSON.stringify(row.group.actor)}: ${row.usage.requests}`); + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics.Usage; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Usage.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-10-01T00:00:00Z"), + GroupBy = [BetaAnalyticsUsageGroupBy.Actor], + OrderBy = BetaAnalyticsUsageOrderBy.Requests, + Limit = 25, + } + ); + + await foreach (var row in page.Paginate()) + { + Console.WriteLine($"{row.Group.Actor?.Json}: {row.Usage.Requests}"); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Usage.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUsageListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.October, 1, 0, 0, 0, 0, time.UTC)), + GroupBy: []anthropic.BetaAnalyticsUsageGroupBy{anthropic.BetaAnalyticsUsageGroupByActor}, + OrderBy: anthropic.BetaAnalyticsUsageOrderByRequests, + Limit: anthropic.Int(25), + }) + + for rows.Next() { + row := rows.Current() + fmt.Printf("%s: %d\n", row.Group.Actor.RawJSON(), row.Usage.Requests) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.usage.BetaAnalyticsUsageGroupBy; + import com.anthropic.models.beta.organization.analytics.usage.BetaAnalyticsUsageOrderBy; + import com.anthropic.models.beta.organization.analytics.usage.UsageListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = UsageListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-10-01T00:00:00Z")) + .addGroupBy(BetaAnalyticsUsageGroupBy.ACTOR) + .orderBy(BetaAnalyticsUsageOrderBy.REQUESTS) + .limit(25) + .build(); + var rows = client.beta().organization().analytics().usage().list(params); + + for (var row : rows.autoPager()) { + IO.println(row.group().actor().orElse(null) + ": " + row.usage().requests().orElse(null)); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->usage->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-10-01T00:00:00Z'), + groupBy: ['actor'], + orderBy: 'requests', + limit: 25, + ); + + foreach ($rows->pagingEachItem() as $row) { + $actor = json_encode($row->group->actor); + echo "{$actor}: {$row->usage->requests}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.usage.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 10, 1), + group_by: [:actor], + order_by: :requests, + limit: 25 + ) + + page.auto_paging_each do |row| + puts "#{row.group.actor}: #{row.usage.requests}" + end + ``` + + +## Cost endpoint + +`GET /v1/organizations/analytics/cost` accepts the same filters, dimensions, and time buckets as the `/usage` endpoint. Each row’s `cost` object holds `amount` (the cost after discounts and before any credits are applied), `list_amount` (the cost at list prices), `currency` (always `"USD"`), and `requests`. Amounts are decimal strings in cents with six decimal places: `"41280.000000"` is $412.80 USD. `order_by` accepts `amount` (the default), `list_amount`, or `time`. + +Two extra dimensions exist only on this endpoint and don’t count toward the five-dimension limit: `group_by[]=cost_type` splits each row into one row for every cost type, and `group_by[]=token_type` splits token cost into one row for every token type. `limit` doesn’t apply to these two dimensions either, so a page can hold more than `limit` rows. For example, cost by model, cost type, and token type for a month: + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/cost?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-10-01T00:00:00Z&\ + group_by[]=model&\ + group_by[]=cost_type&\ + group_by[]=token_type" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:cost list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-10-01T00:00:00Z \ + --group-by model \ + --group-by cost_type \ + --group-by token_type + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.cost.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-10-01T00:00:00Z", + group_by=["model", "cost_type", "token_type"], + ) + + for row in rows: + print( + f"{row.group.model} {row.group.cost_type} {row.group.token_type}: {row.cost.amount}" + ) + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.cost.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-10-01T00:00:00Z", + group_by: ["model", "cost_type", "token_type"] + }); + + for await (const row of rows) { + console.log( + `${row.group.model} ${row.group.cost_type} ${row.group.token_type}: ${row.cost.amount}` + ); + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics.Cost; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Cost.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-10-01T00:00:00Z"), + GroupBy = [BetaAnalyticsCostGroupBy.Model, BetaAnalyticsCostGroupBy.CostType, BetaAnalyticsCostGroupBy.TokenType], + } + ); + + await foreach (var row in page.Paginate()) + { + Console.WriteLine( + $"{row.Group.Model} {row.Group.CostType?.Raw()} {row.Group.TokenType?.Raw()}: {row.Cost.Amount}" + ); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Cost.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsCostListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.October, 1, 0, 0, 0, 0, time.UTC)), + GroupBy: []anthropic.BetaAnalyticsCostGroupBy{anthropic.BetaAnalyticsCostGroupByModel, anthropic.BetaAnalyticsCostGroupByCostType, anthropic.BetaAnalyticsCostGroupByTokenType}, + }) + + for rows.Next() { + row := rows.Current() + fmt.Printf("%s %s %s: %s\n", row.Group.Model, row.Group.CostType, row.Group.TokenType, row.Cost.Amount) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.cost.BetaAnalyticsCostGroupBy; + import com.anthropic.models.beta.organization.analytics.cost.CostListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = CostListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-10-01T00:00:00Z")) + .addGroupBy(BetaAnalyticsCostGroupBy.MODEL) + .addGroupBy(BetaAnalyticsCostGroupBy.COST_TYPE) + .addGroupBy(BetaAnalyticsCostGroupBy.TOKEN_TYPE) + .build(); + var rows = client.beta().organization().analytics().cost().list(params); + + for (var row : rows.autoPager()) { + var group = row.group(); + IO.println( + group.model().orElse(null) + " " + group.costType().orElse(null) + " " + + group.tokenType().orElse(null) + ": " + row.cost().amount() + ); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->cost->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-10-01T00:00:00Z'), + groupBy: ['model', 'cost_type', 'token_type'], + ); + + foreach ($rows->pagingEachItem() as $row) { + $group = $row->group; + echo "{$group->model} {$group->costType} {$group->tokenType}: {$row->cost->amount}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.cost.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 10, 1), + group_by: [:model, :cost_type, :token_type] + ) + + page.auto_paging_each do |row| + group = row.group + puts "#{group.model} #{group.cost_type} #{group.token_type}: #{row.cost.amount}" + end + ``` + + +For each model, the response has five `tokens` rows (one for every token type) plus one row each for `web_search`, `code_execution`, and `session_usage`. One of those rows: + +```json +{ + "starting_at": "2026-09-01T00:00:00Z", + "ending_at": "2026-10-01T00:00:00Z", + "group": { + "model": "claude-opus-5", + ..., + "cost_type": "tokens", + "token_type": "cache_read_input_tokens" + }, + "cost": { + "currency": "USD", + "amount": "41280.000000", + "list_amount": "51600.000000", + "requests": null + } +} +``` + +The `group` object carries every dimension and is abbreviated here. With `group_by[]=cost_type` or `token_type` specified, `requests` is `null` on every row. + + + Requests served under a Priority Tier commitment appear on the usage endpoint with `service_tier: "priority"` but contribute zero token cost to `amount` and `list_amount`, because your commitment covers them; the commitment fee is billed separately and isn’t in this data. Web search on those requests is billed at the standard rate. Requests beyond your committed capacity are served and priced at the standard tier. + + +## Date ranges and time buckets + +* Timestamps are RFC 3339 with a UTC offset, for example `2026-09-01T00:00:00Z`. `starting_at` is inclusive and `ending_at` is exclusive. +* `starting_at` must be on or after January 1, 2026, and within the last 365 days. A request can span at most 31 days; `ending_at` defaults to 31 days after `starting_at` or the current time, whichever is earlier. +* `ending_at` is required whenever `time_bucket_width` is set, and with `time_bucket_width=1m` a request can span at most 24 hours. +* Both ends of the range are rounded down to a UTC bucket boundary, or to the hour when `time_bucket_width` isn’t set. For example, with `time_bucket_width=1h`, a `starting_at` of `2026-09-01T10:43:00Z` is treated as `2026-09-01T10:00:00Z` and an `ending_at` of `2026-09-01T15:43:00Z` as `2026-09-01T15:00:00Z`, so the response covers 10:00 to 15:00 UTC. + +## Data freshness + +Every response includes a `data_refreshed_at` timestamp, and usage after that time is missing or partial. When no data is available yet for any part of the requested range, `data_refreshed_at` is `null` and `data` is empty. Data typically refreshes within 4 hours of the underlying usage and can take up to 24 hours. Values can be revised as late events arrive and reconciliation runs, until about 7 days after the end of the calendar month. For example, values for October 1 can change until about November 7. For stable results across repeated calls, set `ending_at` at or before a `data_refreshed_at` you have already seen; for final totals, query only months that ended at least 7 days ago. Every page of a paginated query reads the same data snapshot, so `data_refreshed_at` is identical across pages. + +## Migrate from the Usage and Cost API + +This section is for Claude Console organizations that call the legacy [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) (`/v1/organizations/usage_report/messages` and `/v1/organizations/cost_report`). Your Admin API key, the `anthropic-version` header, `starting_at` and `ending_at`, the bucket width values (`1m`, `1h`, `1d`), bracket notation, the pagination field names, and the token and cost field names carry over. What changes: + +| Usage and Cost API | Usage and Cost Analytics API | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| No beta header | `anthropic-beta: analytics-usage-cost-2026-08-24` on every request | +| Data typically appears within 5 minutes | Data typically refreshes within 4 hours and can take up to 24 hours (see [Data freshness](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#data-freshness)) | +| `data` is a list of time buckets, oldest first, including empty ones, each with a `results` list whose entries hold dimensions and metrics side by side | `data` is a list of rows ranked by `order_by`, each with its own `starting_at` and `ending_at`, dimensions in `group`, and metrics in `usage` or `cost`. Combinations with no usage or cost have no row. | +| `bucket_width`, default `1d` | `time_bucket_width`, no default. Pass `time_bucket_width=1d` to keep daily rows; omit it for whole-range totals. The cost endpoint also accepts every filter and `1m` and `1h` buckets. | +| `limit` counts time buckets per page | `limit` counts rows per page (1 to 1,000, default 20), so the number of pages depends on how many combinations have data | +| Any date range, paged forward by bucket | `starting_at` on or after January 1, 2026, and within the last 365 days, at most 31 days per request, `ending_at` required with `time_bucket_width`, and at most 24 hours with `1m` buckets (see [Date ranges and time buckets](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#date-ranges-and-time-buckets)). Split longer ranges into several requests. | +| `account_ids[]`, `service_account_ids[]`, `group_by[]=account_id`, `group_by[]=service_account_id` | `actor_ids[]` with the same tagged IDs, and `group_by[]=actor` or `actor_type`; read `actor.user_id` or `actor.service_account_id`. See [Actors](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#actors). | +| `context_window[]` | `context_windows[]` | +| `group_by[]=description` on the cost report, with a `description` string | No `description`. Group by the structured dimensions instead: any of `model`, `cost_type`, `token_type`, `context_window`, `service_tier`, `inference_geo`, and `speed`, all of which fit in one request. | +| An unknown API key or workspace ID returns an error | It matches nothing, including a misspelled `models[]` name. Each list takes up to 100 values. | +| `workspace_id: null` for the default workspace | The default workspace’s real `workspace_id` (see [How is the default workspace represented?](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#how-is-the-default-workspace-represented)) | +| `inference_geo: "not_available"` and `service_tier: "standard"` on usage with no geo or tier | `null` for both. `inference_geos[]=not_available` still matches the rows with no inference geo. | +| Cost `service_tier` is `standard` or `batch`; `amount` such as `"123.45"` | The actual tier; `amount` with six decimal places, such as `"123.450000"`, plus `list_amount`. | +| Code execution not in the usage report; no request counts | Code execution appears as usage rows with `model: null`; adds `requests` on both endpoints and `total_tokens` on usage rows | + +To reproduce the legacy daily report, request `time_bucket_width=1d` with the same `group_by[]`, page through with `limit=1000`, then group rows by `starting_at` and fill missing days with zeros. Add `order_by=time&order=asc` to get the days in order. Daily usage by model for 1 week, before: + +```bash cURL +curl --globoff "https://api.anthropic.com/v1/organizations/usage_report/messages?\ +starting_at=2026-09-01T00:00:00Z&\ +ending_at=2026-09-08T00:00:00Z&\ +group_by[]=model&\ +bucket_width=1d" \ + -H "anthropic-version: 2023-06-01" \ + -H "x-api-key: $ANTHROPIC_API_KEY" +``` + +and after: + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/usage?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-09-08T00:00:00Z&\ + group_by[]=model&\ + time_bucket_width=1d&\ + limit=1000" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:usage list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-09-08T00:00:00Z \ + --time-bucket-width 1d \ + --group-by model \ + --limit 1000 + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.usage.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-09-08T00:00:00Z", + time_bucket_width="1d", + group_by=["model"], + limit=1000, + ) + + for row in rows: + print(f"{row.starting_at} {row.group.model}: {row.usage.total_tokens}") + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.usage.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-09-08T00:00:00Z", + time_bucket_width: "1d", + group_by: ["model"], + limit: 1000 + }); + + for await (const row of rows) { + console.log(`${row.starting_at} ${row.group.model}: ${row.usage.total_tokens}`); + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics; + using Anthropic.Models.Beta.Organization.Analytics.Usage; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Usage.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-09-08T00:00:00Z"), + TimeBucketWidth = BetaAnalyticsTimeBucketWidth.Day, + GroupBy = [BetaAnalyticsUsageGroupBy.Model], + Limit = 1000, + } + ); + + await foreach (var row in page.Paginate()) + { + Console.WriteLine($"{row.StartingAt} {row.Group.Model}: {row.Usage.TotalTokens}"); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Usage.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUsageListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.September, 8, 0, 0, 0, 0, time.UTC)), + TimeBucketWidth: anthropic.BetaAnalyticsTimeBucketWidthDay, + GroupBy: []anthropic.BetaAnalyticsUsageGroupBy{anthropic.BetaAnalyticsUsageGroupByModel}, + Limit: anthropic.Int(1000), + }) + + for rows.Next() { + row := rows.Current() + fmt.Printf("%s %s: %d\n", row.StartingAt.Format(time.RFC3339), row.Group.Model, row.Usage.TotalTokens) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsTimeBucketWidth; + import com.anthropic.models.beta.organization.analytics.usage.BetaAnalyticsUsageGroupBy; + import com.anthropic.models.beta.organization.analytics.usage.UsageListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = UsageListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-09-08T00:00:00Z")) + .timeBucketWidth(BetaAnalyticsTimeBucketWidth.DAY) + .addGroupBy(BetaAnalyticsUsageGroupBy.MODEL) + .limit(1000) + .build(); + var rows = client.beta().organization().analytics().usage().list(params); + + for (var row : rows.autoPager()) { + IO.println(row.startingAt() + " " + row.group().model().orElse(null) + ": " + row.usage().totalTokens()); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->usage->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-09-08T00:00:00Z'), + timeBucketWidth: '1d', + groupBy: ['model'], + limit: 1000, + ); + + foreach ($rows->pagingEachItem() as $row) { + $startingAt = $row->startingAt->format(\DateTimeInterface::ATOM); + echo "{$startingAt} {$row->group->model}: {$row->usage->totalTokens}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.usage.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 9, 8), + time_bucket_width: :"1d", + group_by: [:model], + limit: 1000 + ) + + page.auto_paging_each do |row| + puts "#{row.starting_at} #{row.group.model}: #{row.usage.total_tokens}" + end + ``` + + +Daily cost by workspace, model, service tier, context window, and inference geo, split by cost type and token type: + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/cost?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-09-08T00:00:00Z&\ + time_bucket_width=1d&\ + group_by[]=workspace_id&\ + group_by[]=model&\ + group_by[]=service_tier&\ + group_by[]=context_window&\ + group_by[]=inference_geo&\ + group_by[]=cost_type&\ + group_by[]=token_type&\ + limit=1000" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:cost list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-09-08T00:00:00Z \ + --time-bucket-width 1d \ + --group-by workspace_id \ + --group-by model \ + --group-by service_tier \ + --group-by context_window \ + --group-by inference_geo \ + --group-by cost_type \ + --group-by token_type \ + --limit 1000 + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.cost.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-09-08T00:00:00Z", + time_bucket_width="1d", + group_by=[ + "workspace_id", + "model", + "service_tier", + "context_window", + "inference_geo", + "cost_type", + "token_type", + ], + limit=1000, + ) + + for row in rows: + group = row.group + print( + f"{row.starting_at} {group.workspace_id} {group.model} {group.service_tier} " + f"{group.context_window} {group.inference_geo} {group.cost_type} {group.token_type}: " + f"{row.cost.amount}" + ) + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.cost.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-09-08T00:00:00Z", + time_bucket_width: "1d", + group_by: [ + "workspace_id", + "model", + "service_tier", + "context_window", + "inference_geo", + "cost_type", + "token_type" + ], + limit: 1000 + }); + + for await (const row of rows) { + const { group } = row; + console.log( + `${row.starting_at} ${group.workspace_id} ${group.model} ${group.service_tier} ` + + `${group.context_window} ${group.inference_geo} ${group.cost_type} ${group.token_type}: ` + + `${row.cost.amount}` + ); + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics; + using Anthropic.Models.Beta.Organization.Analytics.Cost; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Cost.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-09-08T00:00:00Z"), + TimeBucketWidth = BetaAnalyticsTimeBucketWidth.Day, + GroupBy = + [ + BetaAnalyticsCostGroupBy.WorkspaceID, + BetaAnalyticsCostGroupBy.Model, + BetaAnalyticsCostGroupBy.ServiceTier, + BetaAnalyticsCostGroupBy.ContextWindow, + BetaAnalyticsCostGroupBy.InferenceGeo, + BetaAnalyticsCostGroupBy.CostType, + BetaAnalyticsCostGroupBy.TokenType, + ], + Limit = 1000, + } + ); + + await foreach (var row in page.Paginate()) + { + var group = row.Group; + Console.WriteLine( + $"{row.StartingAt} {group.WorkspaceID} {group.Model} {group.ServiceTier?.Raw()} " + + $"{group.ContextWindow?.Raw()} {group.InferenceGeo?.Raw()} {group.CostType?.Raw()} " + + $"{group.TokenType?.Raw()}: {row.Cost.Amount}" + ); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Cost.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsCostListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.September, 8, 0, 0, 0, 0, time.UTC)), + TimeBucketWidth: anthropic.BetaAnalyticsTimeBucketWidthDay, + GroupBy: []anthropic.BetaAnalyticsCostGroupBy{ + anthropic.BetaAnalyticsCostGroupByWorkspaceID, + anthropic.BetaAnalyticsCostGroupByModel, + anthropic.BetaAnalyticsCostGroupByServiceTier, + anthropic.BetaAnalyticsCostGroupByContextWindow, + anthropic.BetaAnalyticsCostGroupByInferenceGeo, + anthropic.BetaAnalyticsCostGroupByCostType, + anthropic.BetaAnalyticsCostGroupByTokenType, + }, + Limit: anthropic.Int(1000), + }) + + for rows.Next() { + row := rows.Current() + group := row.Group + fmt.Printf("%s %s %s %s %s %s %s %s: %s\n", + row.StartingAt.Format(time.RFC3339), group.WorkspaceID, group.Model, group.ServiceTier, + group.ContextWindow, group.InferenceGeo, group.CostType, group.TokenType, row.Cost.Amount) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsTimeBucketWidth; + import com.anthropic.models.beta.organization.analytics.cost.BetaAnalyticsCostGroupBy; + import com.anthropic.models.beta.organization.analytics.cost.CostListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = CostListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-09-08T00:00:00Z")) + .timeBucketWidth(BetaAnalyticsTimeBucketWidth.DAY) + .addGroupBy(BetaAnalyticsCostGroupBy.WORKSPACE_ID) + .addGroupBy(BetaAnalyticsCostGroupBy.MODEL) + .addGroupBy(BetaAnalyticsCostGroupBy.SERVICE_TIER) + .addGroupBy(BetaAnalyticsCostGroupBy.CONTEXT_WINDOW) + .addGroupBy(BetaAnalyticsCostGroupBy.INFERENCE_GEO) + .addGroupBy(BetaAnalyticsCostGroupBy.COST_TYPE) + .addGroupBy(BetaAnalyticsCostGroupBy.TOKEN_TYPE) + .limit(1000) + .build(); + var rows = client.beta().organization().analytics().cost().list(params); + + for (var row : rows.autoPager()) { + var group = row.group(); + IO.println( + row.startingAt() + " " + group.workspaceId().orElse(null) + " " + group.model().orElse(null) + " " + + group.serviceTier().orElse(null) + " " + group.contextWindow().orElse(null) + " " + + group.inferenceGeo().orElse(null) + " " + group.costType().orElse(null) + " " + + group.tokenType().orElse(null) + ": " + row.cost().amount() + ); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->cost->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-09-08T00:00:00Z'), + timeBucketWidth: '1d', + groupBy: [ + 'workspace_id', + 'model', + 'service_tier', + 'context_window', + 'inference_geo', + 'cost_type', + 'token_type', + ], + limit: 1000, + ); + + foreach ($rows->pagingEachItem() as $row) { + $startingAt = $row->startingAt->format(\DateTimeInterface::ATOM); + $group = $row->group; + echo "{$startingAt} {$group->workspaceID} {$group->model} {$group->serviceTier} " + . "{$group->contextWindow} {$group->inferenceGeo} {$group->costType} {$group->tokenType}: " + . "{$row->cost->amount}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.cost.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 9, 8), + time_bucket_width: :"1d", + group_by: [ + :workspace_id, + :model, + :service_tier, + :context_window, + :inference_geo, + :cost_type, + :token_type + ], + limit: 1000 + ) + + page.auto_paging_each do |row| + group = row.group + puts "#{row.starting_at} #{group.workspace_id} #{group.model} #{group.service_tier} " \ + "#{group.context_window} #{group.inference_geo} #{group.cost_type} #{group.token_type}: " \ + "#{row.cost.amount}" + end + ``` + + +## Migrate from the Claude Enterprise usage and cost reports + +This section is for Claude Enterprise organizations that call the [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api) report endpoints `usage_report`, `cost_report`, `user_usage_report`, and `user_cost_report` under `/v1/organizations/analytics/`. Those endpoints are legacy and remain supported. Move to `/analytics/usage` and `/analytics/cost` when you want any of the following: + +* Every group in every time bucket, rather than the top 100 groups in each bucket +* Grouping by `actor` or `actor_type` together with other dimensions, on both usage and cost +* Rows ranked by a metric of your choice across the whole range, or ordered by time bucket +* One integration that also serves Claude Console organizations + +Your key, the earliest date, the 365-day lookback and 31-day span, the filter and dimension names and values (except `user_ids[]` and the Claude Tag product value), the user `actor` fields, the metric and amount fields, `data_refreshed_at`, the cursor rules, and the [organization-level rate limit](https://platform.claude.com/docs/en/manage-claude/analytics-api#working-with-the-api) carry over. The only new header is the `analytics-usage-cost-2026-08-24` beta header. What changes: + +| Claude Enterprise reports | Usage and Cost Analytics API | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `usage_report` and `cost_report` return time buckets, oldest first, including empty ones, each holding at most its top 100 groups; `bucket_width` defaults to `1d` and `limit` counts buckets | Rows covering every combination with data, ranked by `order_by`, each with its own `starting_at` and `ending_at`, dimensions in `group`, and metrics in `usage` or `cost`. `time_bucket_width` is optional and `limit` counts rows. | +| The time-bucket parameter is `bucket_width` | It is `time_bucket_width`, with the same values | +| On `usage_report` and `cost_report`, `ending_at` is optional with `bucket_width` and `1m` buckets can span up to 31 days | `ending_at` required with `time_bucket_width`; `1m` buckets span at most 24 hours per request | +| `user_usage_report` and `user_cost_report` return one row per user | `group_by[]=actor&actor_types[]=user_actor`. Without the filter you also get rows for non-user identities and an `actor: null` row for unattributed usage. | +| Claude Tag usage has `product: "claude-tag"` | `product: "claude_tag"`; `products[]` accepts either spelling | +| An unrecognized `models[]` name returns a 400 error | It matches nothing | +| `user_ids[]` | `actor_ids[]` with the same tagged `user_...` IDs | +| `exclude_deleted_users` on the per-user reports | Requires `group_by[]=actor`; without it, the request returns a 400 error. It drops only rows whose `actor` is a user with `deleted: true`; rows for other identities and rows with `actor: null` stay. | + +Per-user cost for a month, before: + + + ```bash cURL + curl "https://api.anthropic.com/v1/organizations/analytics/user_cost_report?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-10-01T00:00:00Z&\ + limit=100" \ + -H "anthropic-version: 2023-06-01" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:user-cost-report list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-10-01T00:00:00Z \ + --limit 100 + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.user_cost_report.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-10-01T00:00:00Z", + limit=100, + ) + + for row in rows: + print(f"{row.actor.user_id}: {row.amount}") + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.userCostReport.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-10-01T00:00:00Z", + limit: 100 + }); + + for await (const row of rows) { + console.log(`${row.actor.user_id}: ${row.amount}`); + } + ``` + + ```csharp C# + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.UserCostReport.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-10-01T00:00:00Z"), + Limit = 100, + } + ); + + await foreach (var row in page.Paginate()) + { + Console.WriteLine($"{row.Actor.UserID}: {row.Amount}"); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.UserCostReport.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUserCostReportListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.October, 1, 0, 0, 0, 0, time.UTC)), + Limit: anthropic.Int(100), + }) + + for rows.Next() { + row := rows.Current() + fmt.Printf("%s: %s\n", row.Actor.UserID, row.Amount) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.usercostreport.UserCostReportListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = UserCostReportListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-10-01T00:00:00Z")) + .limit(100) + .build(); + var rows = client.beta().organization().analytics().userCostReport().list(params); + + for (var row : rows.autoPager()) { + IO.println(row.actor().userId() + ": " + row.amount()); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->userCostReport->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-10-01T00:00:00Z'), + limit: 100, + ); + + foreach ($rows->pagingEachItem() as $row) { + echo "{$row->actor->userID}: {$row->amount}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.user_cost_report.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 10, 1), + limit: 100 + ) + + page.auto_paging_each do |row| + puts "#{row.actor.user_id}: #{row.amount}" + end + ``` + + +and after, adding a breakdown by product: + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/cost?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-10-01T00:00:00Z&\ + group_by[]=actor&\ + group_by[]=product&\ + actor_types[]=user_actor&\ + limit=100" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:cost list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-10-01T00:00:00Z \ + --actor-type user_actor \ + --group-by actor \ + --group-by product \ + --limit 100 + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.cost.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-10-01T00:00:00Z", + actor_types=["user_actor"], + group_by=["actor", "product"], + limit=100, + ) + + for row in rows: + actor = row.group.actor + if actor is not None and actor.type == "user_actor": + print(f"{actor.user_id} {row.group.product}: {row.cost.amount}") + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.cost.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-10-01T00:00:00Z", + actor_types: ["user_actor"], + group_by: ["actor", "product"], + limit: 100 + }); + + for await (const row of rows) { + const { actor } = row.group; + if (actor?.type === "user_actor") { + console.log(`${actor.user_id} ${row.group.product}: ${row.cost.amount}`); + } + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics; + using Anthropic.Models.Beta.Organization.Analytics.Cost; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Cost.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-10-01T00:00:00Z"), + ActorTypes = [BetaAnalyticsActorType.UserActor], + GroupBy = [BetaAnalyticsCostGroupBy.Actor, BetaAnalyticsCostGroupBy.Product], + Limit = 100, + } + ); + + await foreach (var row in page.Paginate()) + { + if (row.Group.Actor is { } actor && actor.TryPickReportUser(out var user)) + { + Console.WriteLine($"{user.UserID} {row.Group.Product}: {row.Cost.Amount}"); + } + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Cost.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsCostListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.October, 1, 0, 0, 0, 0, time.UTC)), + ActorTypes: []anthropic.BetaAnalyticsActorType{anthropic.BetaAnalyticsActorTypeUserActor}, + GroupBy: []anthropic.BetaAnalyticsCostGroupBy{anthropic.BetaAnalyticsCostGroupByActor, anthropic.BetaAnalyticsCostGroupByProduct}, + Limit: anthropic.Int(100), + }) + + for rows.Next() { + row := rows.Current() + if user, ok := row.Group.Actor.AsAny().(anthropic.BetaAnalyticsReportUserActor); ok { + fmt.Printf("%s %s: %s\n", user.UserID, row.Group.Product, row.Cost.Amount) + } + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsActorType; + import com.anthropic.models.beta.organization.analytics.cost.BetaAnalyticsCostGroupBy; + import com.anthropic.models.beta.organization.analytics.cost.CostListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = CostListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-10-01T00:00:00Z")) + .addActorType(BetaAnalyticsActorType.USER_ACTOR) + .addGroupBy(BetaAnalyticsCostGroupBy.ACTOR) + .addGroupBy(BetaAnalyticsCostGroupBy.PRODUCT) + .limit(100) + .build(); + var rows = client.beta().organization().analytics().cost().list(params); + + for (var row : rows.autoPager()) { + row.group().actor().flatMap(actor -> actor.user()).ifPresent(user -> + IO.println(user.userId() + " " + row.group().product().orElse(null) + ": " + row.cost().amount()) + ); + } + } + ``` + + ```php PHP + use Anthropic\Beta\Organization\Analytics\AnalyticsReportUserActor; + // ... + + $client = new Client(); + + $rows = $client->beta->organization->analytics->cost->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-10-01T00:00:00Z'), + actorTypes: ['user_actor'], + groupBy: ['actor', 'product'], + limit: 100, + ); + + foreach ($rows->pagingEachItem() as $row) { + $actor = $row->group->actor; + if ($actor instanceof AnalyticsReportUserActor) { + echo "{$actor->userID} {$row->group->product}: {$row->cost->amount}\n"; + } + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.cost.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 10, 1), + actor_types: [:user_actor], + group_by: [:actor, :product], + limit: 100 + ) + + page.auto_paging_each do |row| + actor = row.group.actor + if actor.is_a?(Anthropic::Models::Beta::Organization::BetaAnalyticsReportUserActor) + puts "#{actor.user_id} #{row.group.product}: #{row.cost.amount}" + end + end + ``` + + +## Frequently asked questions + +### How is the default workspace represented? + +A Claude Console organization’s default workspace has its own `wrkspc_` ID, like every other workspace. Rows for the default workspace have that ID in `workspace_id`, and you can filter on it with `workspace_ids[]`. [List Workspaces](https://platform.claude.com/docs/en/api/organization/workspaces/list) leaves out the default workspace unless you pass `include_default=true`. To check whether an unfamiliar `workspace_id` is the default workspace, pass it to [Get Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/retrieve): the default workspace returns `"name": "Default"`. + +### How do I get per-user cost for Claude Code? + +Call the cost endpoint with `products[]=claude_code&group_by[]=actor`. Claude Console organizations can also use the [Claude Code Analytics API](https://platform.claude.com/docs/en/manage-claude/claude-code-analytics-api), which reports per-user Claude Code activity and estimated cost. + +## See also + +* [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) (legacy) +* [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api): which analytics API and key type your organization needs +* [Claude Code Analytics API](https://platform.claude.com/docs/en/manage-claude/claude-code-analytics-api) +* [Admin API reference](https://platform.claude.com/docs/en/api/beta/organization) +* [Pricing](https://platform.claude.com/docs/en/about-claude/pricing) diff --git a/content/en/manage-claude/usage-cost-api.md b/content/en/manage-claude/usage-cost-api.md index 4ba5b47512..49d7d874b9 100644 --- a/content/en/manage-claude/usage-cost-api.md +++ b/content/en/manage-claude/usage-cost-api.md @@ -1,13 +1,17 @@ --- title: Usage and Cost API url: https://platform.claude.com/docs/en/manage-claude/usage-cost-api -description: Programmatically access your organization's API usage and cost data with the Usage and Cost Admin API. +description: The legacy Admin API usage and cost report endpoints for Claude Console organizations. For new integrations, use the Usage and Cost Analytics API. --- **The Admin API is unavailable for individual accounts.** To collaborate with teammates and add members, set up your organization on the [Organization](https://platform.claude.com/settings/organization) page (`platform.claude.com/settings/organization`) in the Claude Console. + + The Usage and Cost API (`/v1/organizations/usage_report/messages` and `/v1/organizations/cost_report`) is a legacy API and remains supported. For new integrations, use the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api), which reports usage and cost with more grouping and filtering dimensions. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#migrate-from-usage-cost-api). + + The Usage and Cost Admin API provides programmatic and granular access to historical API usage and cost data for your organization. This data is similar to the information available on the [Usage](https://platform.claude.com/usage) page (`platform.claude.com/usage`) and the [Cost](https://platform.claude.com/cost) page (`platform.claude.com/cost`) in the Claude Console. This API allows you to better monitor, analyze, and optimize your Claude implementations: @@ -25,21 +29,21 @@ This API allows you to better monitor, analyze, and optimize your Claude impleme Claude Enterprise organizations use an Analytics API key with a different API instead; see [Which API do you need?](https://platform.claude.com/docs/en/manage-claude/usage-cost-api#which-api-do-you-need). - **Claude Platform on AWS:** The programmatic Usage and Cost API endpoints are not currently available. View usage and cost data on the **Usage** and **Cost** pages in the Claude Console instead. + **Claude Platform on AWS:** The Usage and Cost API endpoints are not available. Use the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api). - **Claude Models on Google Cloud (Anthropic managed):** Of the Usage and Cost API endpoints, only the [usage endpoint](https://platform.claude.com/docs/en/manage-claude/usage-cost-api#usage-api) is available. Call it through the [organization-level base URL](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#making-requests) with Google Cloud credentials instead of an Admin API key. The only predefined [IAM role](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#iam-roles) that allows this call is `roles/claude.admin`. View cost data on the **Cost** page in the [Claude Console](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#using-the-claude-console). + **Claude Models on Google Cloud (Anthropic managed):** Of the Usage and Cost API endpoints, only the [usage endpoint](https://platform.claude.com/docs/en/manage-claude/usage-cost-api#usage-api) is available. Call it through the [organization-level base URL](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#making-requests) with Google Cloud credentials instead of an Admin API key. The only predefined [IAM role](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#iam-roles) that allows this call is `roles/claude.admin`. For cost data, use the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) or the **Cost** page in the [Claude Console](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed#using-the-claude-console). ## Which API do you need? -Anthropic provides cost and usage reporting through two APIs, depending on which Claude product your organization manages: +The API to use depends on which Claude product your organization uses: -| Your organization | API | Key type | -| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| Claude Console (Claude Platform) | The Usage and Cost Admin API described on this page | Admin API key (`sk-ant-admin01-...`) or another [Admin API credential](https://platform.claude.com/docs/en/manage-claude/admin-api#authentication) | -| Claude Enterprise (claude.ai) | The [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/api/beta/organization/analytics) cost and usage endpoints | Analytics API key | +| Your organization | API | Key type | +| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| Claude Console (Claude Platform) | The [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) (recommended), or the legacy Usage and Cost Admin API described on this page | Admin API key (`sk-ant-admin01-...`) or another [Admin API credential](https://platform.claude.com/docs/en/manage-claude/admin-api#authentication) | +| Claude Enterprise (claude.ai) | The [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) (recommended), or the [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/api/beta/organization/analytics) cost and usage endpoints (legacy) | Analytics API key | Claude Enterprise parent organizations do not appear in Claude Console and carry no Admin API keys, so for them the Analytics API key is the only path to this data. See [Analytics APIs](https://platform.claude.com/docs/en/manage-claude/analytics-api) for how to create each key type and which plans the Claude Enterprise cost data applies to. @@ -320,13 +324,17 @@ Filter or group by `service_tier` in the usage endpoint and look for the `priori API usage from playground in the Claude Console (and from the legacy Anthropic Workbench before it) is not associated with an API key, so `api_key_id` is `null` even when grouping by that dimension. +### Why does the usage report show a service account that I didn’t create? + +Usage from some [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) sessions is reported under an Anthropic-managed service account (`svac_...`). It isn’t listed with the service accounts that you create. See [Find session usage across your organization](https://platform.claude.com/docs/en/managed-agents/session-observability#find-session-usage-across-your-organization). + ### How is the default workspace represented? Usage and costs attributed to the default workspace have a `null` value for `workspace_id`. ### How do I get per-user cost breakdowns for Claude Code? -Use the [Claude Code Analytics API](https://platform.claude.com/docs/en/manage-claude/claude-code-analytics-api), which provides per-user estimated costs and productivity metrics without the performance limitations of breaking down costs by many API keys. For general API usage with many keys, use the [Usage API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api#usage-api) to track token consumption as a cost proxy. +Call the cost endpoint of the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#how-do-i-get-per-user-cost-for-claude-code) with `products[]=claude_code&group_by[]=actor`. For cost by API key, group by `api_key_id` instead. The [Claude Code Analytics API](https://platform.claude.com/docs/en/manage-claude/claude-code-analytics-api) also provides per-user estimated costs and productivity metrics. ## See also diff --git a/content/en/manage-claude/user-management.md b/content/en/manage-claude/user-management.md index 3fd9b48258..7793c9fdc8 100644 --- a/content/en/manage-claude/user-management.md +++ b/content/en/manage-claude/user-management.md @@ -23,15 +23,15 @@ For Claude Console (Claude Platform) organizations, see the [Admin API guide for The Admin API is a single set of endpoints under `https://api.anthropic.com/v1/organizations/`. Claude Console and Claude Enterprise organizations authenticate with different [Admin API keys](https://platform.claude.com/docs/en/manage-claude/admin-api-keys) and each have access to a different subset of the endpoints: -| Endpoints | Claude Console (Claude Platform) | Claude Enterprise (claude.ai) | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Members](https://platform.claude.com/docs/en/manage-claude/user-management#members) and [invites](https://platform.claude.com/docs/en/manage-claude/user-management#invites) | Available; see the [Admin API guide](https://platform.claude.com/docs/en/manage-claude/admin-api) | Available (this page) | -| [Groups](https://platform.claude.com/docs/en/manage-claude/user-management#groups) | Not available | Available (this page) | -| [Custom roles](https://platform.claude.com/docs/en/manage-claude/user-management#custom-roles) | Not available | Available, read-only (this page) | -| [Plugins](https://platform.claude.com/docs/en/manage-claude/plugins-api) and [Claude Tag](https://platform.claude.com/docs/en/manage-claude/claude-tag-api) | Not available | Available in beta | -| [Spend limits](https://platform.claude.com/docs/en/manage-claude/spend-limits-api) | Not available | Available | -| Usage and cost reports | Available; see the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) | Available through the [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api#get-access-to-the-claude-enterprise-analytics-api) | -| [Workspaces](https://platform.claude.com/docs/en/manage-claude/workspaces), [API keys](https://platform.claude.com/docs/en/manage-claude/admin-api#api-keys), [rate limits](https://platform.claude.com/docs/en/manage-claude/rate-limits-api), and the other endpoints in the [Admin API guide](https://platform.claude.com/docs/en/manage-claude/admin-api) | Available | Not available | +| Endpoints | Claude Console (Claude Platform) | Claude Enterprise (claude.ai) | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Members](https://platform.claude.com/docs/en/manage-claude/user-management#members) and [invites](https://platform.claude.com/docs/en/manage-claude/user-management#invites) | Available; see the [Admin API guide](https://platform.claude.com/docs/en/manage-claude/admin-api) | Available (this page) | +| [Groups](https://platform.claude.com/docs/en/manage-claude/user-management#groups) | Not available | Available (this page) | +| [Custom roles](https://platform.claude.com/docs/en/manage-claude/user-management#custom-roles) | Not available | Available, read-only (this page) | +| [Plugins](https://platform.claude.com/docs/en/manage-claude/plugins-api) and [Claude Tag](https://platform.claude.com/docs/en/manage-claude/claude-tag-api) | Not available | Available in beta | +| [Spend limits](https://platform.claude.com/docs/en/manage-claude/spend-limits-api) | Not available | Available | +| Usage and cost reports | Available; see the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) | Available through the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) and the [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api#get-access-to-the-claude-enterprise-analytics-api) | +| [Workspaces](https://platform.claude.com/docs/en/manage-claude/workspaces), [API keys](https://platform.claude.com/docs/en/manage-claude/admin-api#api-keys), [rate limits](https://platform.claude.com/docs/en/manage-claude/rate-limits-api), and the other endpoints in the [Admin API guide](https://platform.claude.com/docs/en/manage-claude/admin-api) | Available | Not available | Members and invites are the same endpoints for both organization types; this page documents their Claude Enterprise behavior, including the Claude Enterprise [organization roles](https://platform.claude.com/docs/en/manage-claude/user-management#organization-roles). The group and custom-role endpoints exist only for Claude Enterprise. @@ -2508,8 +2508,8 @@ The key keeps working. Admin API keys are scoped to the organization, not to ind Audit activity and retrieve or delete user content across your organization. - - Per-user and time-bucketed usage and cost reporting for Claude Enterprise. + + Track token usage and costs for your organization. diff --git a/content/en/manage-claude/user-profiles.md b/content/en/manage-claude/user-profiles.md index 3142c82fef..f0fefd3165 100644 --- a/content/en/manage-claude/user-profiles.md +++ b/content/en/manage-claude/user-profiles.md @@ -688,8 +688,8 @@ To get an event when Anthropic restricts or bans one of your end customers, or w Choose how your services authenticate to the Claude API. - - Track API token usage and costs for your organization. + + Track token usage and costs for your organization. diff --git a/content/en/manage-claude/wif-reference.md b/content/en/manage-claude/wif-reference.md index 940127c41f..483f488554 100644 --- a/content/en/manage-claude/wif-reference.md +++ b/content/en/manage-claude/wif-reference.md @@ -192,7 +192,7 @@ A federation rule’s `match` block determines whether an incoming JWT is accept | ---------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `subject_prefix` | string | Exact match against the JWT `sub` claim. A trailing `*` makes it a prefix match (the `sub` value must start with the characters before the `*`). Case-sensitive. | | `audience` | string | The JWT `aud` claim must contain this exact string. When `aud` is an array, any element matching exactly satisfies the check. | -| `claims` | map\ | Each key is a top-level claim name and each value is the required exact string value. For nested, numeric, Boolean, or complex claims such as lists and maps, use `condition` with a CEL expression instead. | +| `claims` | map\ | Each key is a top-level claim name and each value is the required exact string value. For nested, numeric, boolean, or complex claims such as lists and maps, use `condition` with a CEL expression instead. | | `condition` | string (CEL) | A [CEL](https://cel.dev/) expression that must evaluate to `true`. | ### CEL evaluation environment diff --git a/content/en/manage-claude/workspaces.md b/content/en/manage-claude/workspaces.md index 221969d0ff..cce43d1c31 100644 --- a/content/en/manage-claude/workspaces.md +++ b/content/en/manage-claude/workspaces.md @@ -14,7 +14,7 @@ Key characteristics: * **Workspace identifiers** use the `wrkspc_` prefix (for example, `wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ`). * **Maximum 100 workspaces** for each organization by default (archived workspaces don’t count). Contact your account team if you need more. -* **Default Workspace** has a `wrkspc_` ID like any other workspace (returned in the [`anthropic-workspace-id` response header](https://platform.claude.com/docs/en/manage-claude/workspaces#identify-the-workspace-behind-an-api-response) and accepted by [Get Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/retrieve)), but it appears in [List Workspaces](https://platform.claude.com/docs/en/api/organization/workspaces/list) results only when you pass `include_default=true`, and usage reports and cost reports show `null` for its `workspace_id` (an API key’s `scope` field carries the real ID for a key bound to the Default Workspace). +* **Default Workspace** has a `wrkspc_` ID like any other workspace (returned in the [`anthropic-workspace-id` response header](https://platform.claude.com/docs/en/manage-claude/workspaces#identify-the-workspace-behind-an-api-response) and accepted by [Get Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/retrieve)), but it appears in [List Workspaces](https://platform.claude.com/docs/en/api/organization/workspaces/list) results only when you pass `include_default=true`. The [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) reports its usage and cost under that ID, whereas the legacy [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) reports show `null` for its `workspace_id` (an API key’s `scope` field carries the real ID for a key bound to the Default Workspace). * **API keys** can be scoped to a single workspace. In this case, they can only access resources within that workspace. Other API keys aren’t scoped to a workspace. With one of these keys, send a [workspace ID header](https://platform.claude.com/docs/en/manage-claude/authentication#select-a-workspace) on each request to choose the workspace. The key’s user or service account must have access to that workspace. ### Claude Code workspace @@ -1010,7 +1010,7 @@ The same accessors read the header from other Claude API endpoints too, includin With the workspace ID from a response, you can: * Confirm which workspace’s usage, cost, and [rate limits](https://platform.claude.com/docs/en/api/rate-limits) the request counted toward -* Match it against the `workspace_id` field in [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) reports, which is `null` for the Default Workspace. Also match it against the `scope` field of API keys in the [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), which carries the real ID of the workspace a key is bound to, including the Default Workspace +* Match it against the `workspace_id` field in [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) rows, which carry this same ID for the Default Workspace, and against the `scope` field of API keys in the [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api), which carries the real ID of the workspace a key is bound to, including the Default Workspace * Check whether it’s your Default Workspace’s ID by passing it to [Get Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/retrieve) with an [Admin API key](https://platform.claude.com/docs/en/manage-claude/admin-api-keys): the Default Workspace comes back with `"name": "Default"`, even though [List Workspaces](https://platform.claude.com/docs/en/api/organization/workspaces/list) omits it unless you pass `include_default=true` * Open that workspace in the [Console](https://platform.claude.com/settings/workspaces) to find the request’s resources, such as sessions, files, message batches, and skills @@ -1035,20 +1035,163 @@ For detailed information on rate limits and how they work, see [Rate limits](htt ## Usage and cost tracking -Track usage and costs by workspace using the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api): - -```bash cURL -curl "https://api.anthropic.com/v1/organizations/usage_report/messages?\ -starting_at=2025-01-01T00:00:00Z&\ -ending_at=2025-01-08T00:00:00Z&\ -workspace_ids[]=wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ&\ -group_by[]=workspace_id&\ -bucket_width=1d" \ - -H "anthropic-version: 2023-06-01" \ - -H "x-api-key: $ANTHROPIC_ADMIN_KEY" -``` +Track usage and costs by workspace using the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api): + + + ```bash cURL + curl --globoff "https://api.anthropic.com/v1/organizations/analytics/usage?\ + starting_at=2026-09-01T00:00:00Z&\ + ending_at=2026-09-08T00:00:00Z&\ + workspace_ids[]=wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ&\ + group_by[]=workspace_id&\ + time_bucket_width=1d" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: analytics-usage-cost-2026-08-24" \ + -H "x-api-key: $ANTHROPIC_API_KEY" + ``` + + ```bash CLI + ant beta:organization:analytics:usage list \ + --starting-at 2026-09-01T00:00:00Z \ + --ending-at 2026-09-08T00:00:00Z \ + --time-bucket-width 1d \ + --workspace-id wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ \ + --group-by workspace_id + ``` + + ```python Python + client = anthropic.Anthropic() + + rows = client.beta.organization.analytics.usage.list( + starting_at="2026-09-01T00:00:00Z", + ending_at="2026-09-08T00:00:00Z", + time_bucket_width="1d", + workspace_ids=["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + group_by=["workspace_id"], + ) + + for row in rows: + print(f"{row.starting_at} {row.group.workspace_id}: {row.usage.total_tokens}") + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const rows = await client.beta.organization.analytics.usage.list({ + starting_at: "2026-09-01T00:00:00Z", + ending_at: "2026-09-08T00:00:00Z", + time_bucket_width: "1d", + workspace_ids: ["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + group_by: ["workspace_id"] + }); + + for await (const row of rows) { + console.log(`${row.starting_at} ${row.group.workspace_id}: ${row.usage.total_tokens}`); + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Organization.Analytics; + using Anthropic.Models.Beta.Organization.Analytics.Usage; + + AnthropicClient client = new(); + + var page = await client.Beta.Organization.Analytics.Usage.List( + new() + { + StartingAt = DateTimeOffset.Parse("2026-09-01T00:00:00Z"), + EndingAt = DateTimeOffset.Parse("2026-09-08T00:00:00Z"), + TimeBucketWidth = BetaAnalyticsTimeBucketWidth.Day, + WorkspaceIds = ["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + GroupBy = [BetaAnalyticsUsageGroupBy.WorkspaceID], + } + ); + + await foreach (var row in page.Paginate()) + { + Console.WriteLine($"{row.StartingAt} {row.Group.WorkspaceID}: {row.Usage.TotalTokens}"); + } + ``` + + ```go Go + client := anthropic.NewClient() + + rows := client.Beta.Organization.Analytics.Usage.ListAutoPaging(context.Background(), anthropic.BetaOrganizationAnalyticsUsageListParams{ + StartingAt: time.Date(2026, time.September, 1, 0, 0, 0, 0, time.UTC), + EndingAt: anthropic.Time(time.Date(2026, time.September, 8, 0, 0, 0, 0, time.UTC)), + TimeBucketWidth: anthropic.BetaAnalyticsTimeBucketWidthDay, + WorkspaceIDs: []string{"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"}, + GroupBy: []anthropic.BetaAnalyticsUsageGroupBy{anthropic.BetaAnalyticsUsageGroupByWorkspaceID}, + }) + + for rows.Next() { + row := rows.Current() + fmt.Printf("%s %s: %d\n", row.StartingAt.Format(time.RFC3339), row.Group.WorkspaceID, row.Usage.TotalTokens) + } + if err := rows.Err(); err != nil { + log.Fatal(err) + } + ``` + + ```java Java + import com.anthropic.models.beta.organization.analytics.BetaAnalyticsTimeBucketWidth; + import com.anthropic.models.beta.organization.analytics.usage.BetaAnalyticsUsageGroupBy; + import com.anthropic.models.beta.organization.analytics.usage.UsageListParams; + import java.time.OffsetDateTime; + + void main() { + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + var params = UsageListParams.builder() + .startingAt(OffsetDateTime.parse("2026-09-01T00:00:00Z")) + .endingAt(OffsetDateTime.parse("2026-09-08T00:00:00Z")) + .timeBucketWidth(BetaAnalyticsTimeBucketWidth.DAY) + .addWorkspaceId("wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ") + .addGroupBy(BetaAnalyticsUsageGroupBy.WORKSPACE_ID) + .build(); + var rows = client.beta().organization().analytics().usage().list(params); + + for (var row : rows.autoPager()) { + IO.println(row.startingAt() + " " + row.group().workspaceId().orElse(null) + ": " + row.usage().totalTokens()); + } + } + ``` + + ```php PHP + $client = new Client(); + + $rows = $client->beta->organization->analytics->usage->list( + startingAt: new \DateTimeImmutable('2026-09-01T00:00:00Z'), + endingAt: new \DateTimeImmutable('2026-09-08T00:00:00Z'), + timeBucketWidth: '1d', + workspaceIDs: ['wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ'], + groupBy: ['workspace_id'], + ); + + foreach ($rows->pagingEachItem() as $row) { + $startingAt = $row->startingAt->format(\DateTimeInterface::ATOM); + echo "{$startingAt} {$row->group->workspaceID}: {$row->usage->totalTokens}\n"; + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + page = client.beta.organization.analytics.usage.list( + starting_at: Time.utc(2026, 9, 1), + ending_at: Time.utc(2026, 9, 8), + time_bucket_width: :"1d", + workspace_ids: ["wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"], + group_by: [:workspace_id] + ) + + page.auto_paging_each do |row| + puts "#{row.starting_at} #{row.group.workspace_id}: #{row.usage.total_tokens}" + end + ``` + -Usage and costs attributed to the Default Workspace have a `null` value for `workspace_id`. +Usage and costs in the Default Workspace are reported under the Default Workspace’s own ID. ## Common use cases @@ -1094,7 +1237,7 @@ Create workspaces for specific projects or products to track usage and costs sep - Use the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) to track workspace-level consumption. + Use the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) to track workspace-level consumption. @@ -1102,7 +1245,7 @@ Create workspaces for specific projects or products to track usage and costs sep - Every organization has a “Default Workspace” that cannot be renamed, archived, or deleted. Like every workspace, it has a `wrkspc_` ID: the API returns it in the [`anthropic-workspace-id` response header](https://platform.claude.com/docs/en/manage-claude/workspaces#identify-the-workspace-behind-an-api-response), and you can pass it to [Get Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/retrieve) and [Update Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/update). It has no member list of its own, because access to it follows each member’s organization role. It appears in [List Workspaces](https://platform.claude.com/docs/en/api/organization/workspaces/list) results only when you pass `include_default=true`, and usage reports and cost reports that belong to it show `null` for `workspace_id`. For an API key that belongs to it, the key’s `scope` field carries the workspace’s real ID. + Every organization has a “Default Workspace” that cannot be renamed, archived, or deleted. Like every workspace, it has a `wrkspc_` ID: the API returns it in the [`anthropic-workspace-id` response header](https://platform.claude.com/docs/en/manage-claude/workspaces#identify-the-workspace-behind-an-api-response), and you can pass it to [Get Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/retrieve) and [Update Workspace](https://platform.claude.com/docs/en/api/organization/workspaces/update). It has no member list of its own, because access to it follows each member’s organization role. It appears in [List Workspaces](https://platform.claude.com/docs/en/api/organization/workspaces/list) results only when you pass `include_default=true`. The [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) reports its usage and cost under its real ID. The legacy [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) reports show `null` for `workspace_id`. For an API key that belongs to it, the key’s `scope` field carries the workspace’s real ID. @@ -1143,4 +1286,4 @@ Create workspaces for specific projects or products to track usage and costs sep * [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api) * [Admin API reference](https://platform.claude.com/docs/en/api/organization) * [Rate limits](https://platform.claude.com/docs/en/api/rate-limits) -* [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) +* [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) and the legacy [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) diff --git a/content/en/managed-agents/multiagent-orchestration.md b/content/en/managed-agents/multiagent-orchestration.md index 6ac7bc9921..1b81dbd883 100644 --- a/content/en/managed-agents/multiagent-orchestration.md +++ b/content/en/managed-agents/multiagent-orchestration.md @@ -1244,7 +1244,7 @@ Each consultation runs as a platform-spawned thread named `anthropic.advisor` th No `agent.tool_use` events are emitted for a consultation, and no `agent.thread_message_sent` event appears on the session’s event stream, because the consultation input is composed by the platform rather than sent by the agent. If you list the advisor thread’s own events, the advice also appears there as an `agent.thread_message_sent` event. The advice delivery (event 3) is not guaranteed to arrive before the advisor thread’s idle and terminated events, so don’t treat those as a signal that the advice has already been delivered. -Whether your client can read the advice is the advisor model’s policy. It mirrors the [result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants) split on the Messages API advisor tool. An advisor model that returns plaintext results there delivers readable text here. One that returns redacted results delivers a `[{"type": "redacted"}]` placeholder on every client surface, while the agent still reads the full advice server-side. The preceding example uses the newest Opus model available to you as the advisor. Claude Opus 5.5 returns redacted results, so your client sees only the placeholder. To read the advice on the event stream, use an advisor that returns plaintext, such as Claude Opus 4.8. A model’s policy can change with no change to the API, so handle both `text` and `redacted` blocks. Some agent models pair only with redacted-result advisors; see the advisor tool’s [Model compatibility](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#model-compatibility) section. Advisor thinking is never surfaced. Clients cannot send `redacted` blocks themselves; an event containing one is rejected with a 400 validation error. +Whether your client can read the advice is the advisor model’s policy. It mirrors the [result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants) split on the Messages API advisor tool. An advisor model that returns plaintext results there delivers readable text here. One that returns redacted results delivers a `[{"type": "redacted"}]` placeholder on every client surface, while the agent still reads the full advice server-side. The preceding example uses the newest Opus model available to you as the advisor. It returns redacted results, so your client sees only the placeholder. To read the advice on the event stream, use an advisor that returns plaintext, such as Claude Opus 4.8. A model’s policy can change with no change to the API, so handle both `text` and `redacted` blocks. Some agent models pair only with redacted-result advisors; see the advisor tool’s [Model compatibility](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#model-compatibility) section. Advisor thinking is never surfaced. Clients cannot send `redacted` blocks themselves; an event containing one is rejected with a 400 validation error. A failed or interrupted consultation never fails the agent’s turn: the agent continues after a generic notice that the consultation failed. A session-level `user.interrupt` during a consultation terminates the advisor thread with no advice delivered; a `user.interrupt` with the advisor thread’s `session_thread_id` (java: `sessionThreadId`; php: `sessionThreadID`; csharp, go: `SessionThreadID`) abandons only that consultation. diff --git a/content/en/managed-agents/session-observability.md b/content/en/managed-agents/session-observability.md index 6eb4133f30..4b9647246e 100644 --- a/content/en/managed-agents/session-observability.md +++ b/content/en/managed-agents/session-observability.md @@ -38,7 +38,7 @@ Use the session viewer in the Claude Console to inspect what an agent did in a s ## Inspect a session in the Console -The session viewer is only accessible to Developers and Admins. To open it, go to the [Sessions](https://platform.claude.com/sessions) page (`platform.claude.com/sessions`) in the Claude Console. The list shows every session in the workspace with its status, agent, token usage, cost, and creation time. Select a session to open it. +The session viewer is only accessible to Developers and Admins. To open it, go to the [Sessions](https://platform.claude.com/sessions) page (`platform.claude.com/sessions`) in the Claude Console. The list shows every session in the workspace with its status, agent, token usage, cost, creator, and creation time. Select a session to open it. The session viewer shows: @@ -118,6 +118,19 @@ The event is emitted on idle transitions rather than on a timer: To enforce a spend limit, set a session budget rather than polling usage and stopping the session yourself. The platform prices the session’s consumption continuously, and pauses each thread before its next model request once the list cost reaches the cap. See [When a session reaches its budget](https://platform.claude.com/docs/en/managed-agents/budgets#when-a-session-reaches-its-budget) for what that looks like on the stream. +### Find session usage across your organization + +Session usage counts toward your organization’s totals on the [Usage](https://platform.claude.com/usage) page (`platform.claude.com/usage`) and the [Cost](https://platform.claude.com/cost) page (`platform.claude.com/cost`) in the Claude Console. To see token usage by agent, set **Group by** to **Agent** on the **Usage** page. + +Session usage also appears in the [usage report](https://platform.claude.com/docs/en/api/beta/organization/usage_report/retrieve_messages) from the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api). To see which account it’s reported under, group the report by one of these fields: + +* **`account_id`:** The member who started the session. This covers sessions started in the Console or with a [personal key](https://platform.claude.com/docs/en/manage-claude/authentication#key-types) scoped to a single workspace. +* **`service_account_id`:** An Anthropic-managed service account (`svac_...`). This covers sessions started with a workspace key or by a [deployment](https://platform.claude.com/docs/en/managed-agents/scheduled-deployments). For this usage, `api_key_id` and `account_id` are `null`. + +Anthropic creates one of these service accounts in each workspace where sessions run. It isn’t listed with the service accounts that you create, and the Admin API’s service account endpoints don’t return it. On the **Usage** page, the **Account** filter lists it by its ID. When you set **Group by** to **API key**, its usage is labeled **Managed Agents**. + +To see who started a session, check the **Created by** column on the [Sessions](https://platform.claude.com/sessions) page. + ## Debugging tips * **Check session events:** The session reports errors through [`session.error`](https://platform.claude.com/docs/en/managed-agents/reference#event-types) events. diff --git a/content/en/managed-agents/vaults.md b/content/en/managed-agents/vaults.md index 5ba4cde4e2..9f3e60f9bd 100644 --- a/content/en/managed-agents/vaults.md +++ b/content/en/managed-agents/vaults.md @@ -705,7 +705,7 @@ To get the same behavior with a self-hosted sandbox, you can run your own proxy Request payloads are often assembled from content the agent is working with, so the request body is the broader exposure surface. Most services read an API key from a request header, so enabling only `header` (csharp, go: `Header`) is the narrower configuration. It scopes substitution to request header values for that credential. - The credential’s `injection_location` (java, php: `injectionLocation`; csharp, go: `InjectionLocation`) controls which parts of an outbound request the secret is substituted into. It is an optional object, a sibling of `networking` (csharp, go: `Networking`), with two Boolean fields: `header` (csharp, go: `Header`) (request headers) and `body` (csharp, go: `Body`) (request body). `injection_location` (java, php: `injectionLocation`; csharp, go: `InjectionLocation`) is independent of `allowed_hosts` (java, php: `allowedHosts`; csharp, go: `AllowedHosts`) in `networking` (csharp, go: `Networking`): `allowed_hosts` (java, php: `allowedHosts`; csharp, go: `AllowedHosts`) scopes which hosts the secret is substituted for, and `injection_location` (java, php: `injectionLocation`; csharp, go: `InjectionLocation`) scopes which parts of the request it is substituted into. + The credential’s `injection_location` (java, php: `injectionLocation`; csharp, go: `InjectionLocation`) controls which parts of an outbound request the secret is substituted into. It is an optional object, a sibling of `networking` (csharp, go: `Networking`), with two boolean fields: `header` (csharp, go: `Header`) (request headers) and `body` (csharp, go: `Body`) (request body). `injection_location` (java, php: `injectionLocation`; csharp, go: `InjectionLocation`) is independent of `allowed_hosts` (java, php: `allowedHosts`; csharp, go: `AllowedHosts`) in `networking` (csharp, go: `Networking`): `allowed_hosts` (java, php: `allowedHosts`; csharp, go: `AllowedHosts`) scopes which hosts the secret is substituted for, and `injection_location` (java, php: `injectionLocation`; csharp, go: `InjectionLocation`) scopes which parts of the request it is substituted into. `injection_location` (java, php: `injectionLocation`; csharp, go: `InjectionLocation`) behaves differently on create and on update: diff --git a/content/en/models/fable-5-1/migration-guide.md b/content/en/models/fable-5-1/migration-guide.md index cdd1cfe197..447eba18e0 100644 --- a/content/en/models/fable-5-1/migration-guide.md +++ b/content/en/models/fable-5-1/migration-guide.md @@ -14,36 +14,31 @@ Let Claude Code migrate your code for you /claude-api migrate this project to claude-fable-5-1 ``` -[Claude Fable 5.1](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1) succeeds Claude Fable 5 at the same input and output prices, with cache reads at a quarter of the cost. It’s available on the Claude API, [Amazon Bedrock](https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock), [Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws), [Claude Models on Google Cloud (Anthropic managed)](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed), [Claude Models on Google Cloud (Google managed)](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/google-managed), and [Microsoft Foundry](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry). [Claude Mythos 5.1](https://platform.claude.com/docs/en/models/mythos-5-1/overview) shares the same capabilities and is available only to organizations verified through Anthropic’s verification programs, such as the [Cyber Verification Program](https://support.claude.com/en/articles/14604842). For behavioral differences and prompting patterns, see [Prompting Claude Fable 5.1](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1). +[Claude Fable 5.1](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1) succeeds Claude Fable 5 at the same input and output prices, with cache reads at a quarter of the cost. It’s available on the Claude API, [Amazon Bedrock](https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock), [Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws), [Claude Models on Google Cloud (Anthropic managed)](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/anthropic-managed), [Claude Models on Google Cloud (Google managed)](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/google-managed), and [Microsoft Foundry](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry). Claude Fable 5.1 doesn’t require access approval. [Claude Mythos 5.1](https://platform.claude.com/docs/en/models/mythos-5-1/overview) shares the same capabilities and is available only to organizations verified through Anthropic’s verification programs, such as the [Cyber Verification Program](https://support.claude.com/en/articles/14604842). To request access, apply to the program that covers your use case or contact your Anthropic account team. For behavioral differences and prompting patterns, see [Prompting Claude Fable 5.1](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1). The baseline settings shared by `claude-fable-5-1` and `claude-mythos-5-1`: * **Thinking:** [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) is always on, unchanged from Claude Fable 5. The model determines when and how much to think. No `thinking` configuration is required. Both `thinking: {type: "disabled"}` and manual extended thinking (`thinking: {type: "enabled", budget_tokens: N}`) return a 400 error. * **Prefill:** Prefilling the assistant message returns a 400 error, unchanged from Claude Fable 5. Use system prompt instructions instead. * **Tool choice:** `{type: "auto"}` (the default) and `{type: "none"}` are supported. Forcing a tool call with `{type: "any"}` or `{type: "tool", name: "..."}` returns a 400 error. See [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes). -* **Preserved thinking across models:** Claude Fable 5.1 reads thinking blocks from Claude Opus 5, Claude Fable 5, Claude Mythos 5, and earlier Claude models. None of those models can read Claude Fable 5.1’s blocks. See [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes). -* **Context window and output:** A [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows) by default, and up to 128k output tokens for each request. +* **Preserved thinking across models:** Claude Fable 5.1 and Claude Mythos 5.1 read thinking blocks from Claude Opus 5, Claude Fable 5, Claude Mythos 5, and earlier Claude models. None of those models can read blocks from Claude Fable 5.1 or Claude Mythos 5.1. See [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes). +* **Edits to earlier turns:** A thinking block stays valid only while everything sent before it is unchanged, so keep the conversation history append-only. See [Editing earlier turns invalidates thinking blocks](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking). +* **Context window and output:** Both models have a [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows) and return up to 128k output tokens for each request. * **Pricing:** $10 USD per million input tokens and $50 USD per million output tokens, the same as Claude Fable 5. Prompt cache reads are $0.25 USD per million tokens, a quarter of the Claude Fable 5 rate. See [Claude pricing](https://platform.claude.com/docs/en/about-claude/pricing). -* **Data retention:** Both models require 30-day data retention, aren’t available under zero data retention (ZDR) arrangements unless expressly authorized by Anthropic, and are designated Covered Models, the same as Claude Fable 5 and Claude Mythos 5. On the Claude API, a request from an organization or workspace without 30-day retention returns a 400 `invalid_request_error`. Organizations with a ZDR arrangement should contact their Anthropic account team, or configure retention for individual workspaces. See [Model-specific data retention requirements](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements) for per-platform details. +* **Data retention:** Both models require 30-day data retention, aren’t available under zero data retention (ZDR) arrangements unless expressly authorized by Anthropic, and are designated Covered Models, the same as Claude Fable 5 and Claude Mythos 5. On the Claude API, a request from an organization or workspace without 30-day retention returns a 400 `invalid_request_error`. Organizations with a ZDR arrangement should contact their Anthropic account team or configure retention for individual workspaces. See [Model-specific data retention requirements](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements) for per-platform details. * **Priority Tier:** Neither model is supported on [Priority Tier](https://platform.claude.com/docs/en/api/service-tiers#supported-models). Claude Fable 5 is. -Where the two models diverge: - -* **Availability:** Claude Fable 5.1 doesn’t require access approval. Claude Mythos 5.1 is available only to organizations verified through Anthropic’s verification programs, such as the [Cyber Verification Program](https://support.claude.com/en/articles/14604842). To request access, apply to the program that covers your use case, or contact your Anthropic account team. -* **Conversation check on thinking blocks:** [Editing earlier turns](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) invalidates Claude Fable 5.1’s thinking blocks. Claude Mythos 5.1 doesn’t run this check. - ## Migrating to Claude Fable 5.1 from Claude Fable 5 Migration is mostly drop-in. The API surface, limits, per-token pricing, tokenizer, always-on adaptive thinking, refusal handling, and `stop_details` categories all match Claude Fable 5. The following changes apply: -* Forced tool choice returns a 400 error. -* Only Claude Fable 5.1 and Claude Mythos 5.1 read Claude Fable 5.1’s thinking blocks, and only in the conversation that produced them. +* A request that forces a tool call gets a 400 error. +* Only Claude Fable 5.1 and Claude Mythos 5.1 read Claude Fable 5.1’s thinking blocks. +* [Editing earlier turns](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) invalidates later thinking blocks. * Cache reads cost less. * The advisor tool (beta) accepts fewer advisors. * Agent-loop behavior differs in three ways. -The same changes apply to the [Claude Mythos 5.1 migration](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migrating-from-claude-mythos-5-to-claude-mythos-5-1), except the conversation check on thinking blocks, which Claude Mythos 5.1 doesn’t run. - ### Update your model name ```python @@ -921,15 +916,24 @@ model = "claude-mythos-5-1" # After A conversation that ran on Claude Fable 5.1 can land on another model, older or newer, through a router switch, a client-side retry, or a [classifier refusal fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback), including a [server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback). The API removes the blocks that model can’t read before it receives them, the request succeeds, and you aren’t billed for the dropped input tokens. The target model re-plans without that reasoning, which can raise cost and latency on the first turn after the switch. To see what was dropped, send the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers): responses then carry an `input_transformations` array naming each dropped block with `reason: "model_binding_mismatch"`. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). -3. **Editing earlier turns invalidates thinking blocks:** Each `thinking` block from Claude Fable 5.1 is valid only against the `system` prompt, `tools`, and conversation history that preceded it. If Claude Code, claude.ai, [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview), or the [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview) manages your conversation history, it already keeps that prefix intact. If your code builds the `messages` array itself, this item applies to you, and [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) is the full integration guide. Where the check is enforced, a request that sends the block back after any of those changed is rejected with a 400 error: +3. **Editing earlier turns invalidates thinking blocks:** On Claude Fable 5.1 and Claude Mythos 5.1, a thinking block you send back stays valid only while everything sent before it is unchanged: the `system` prompt, the `tools`, and the earlier messages. Claude Code, claude.ai, [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview), and the [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview) keep that history intact for you. If your code builds the `messages` array itself, this item applies to you, and [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) is the full integration guide. + + The `thinking.block_binding.prefix_mismatch_behavior` field (beta header `thinking-binding-controls-2026-08-01`) sets what the API does with an invalid block. `"error"` rejects the request with a 400 error. `"drop_block"` drops the invalid block and every thinking block after it, and the request succeeds. When a request leaves the field unset, the outcome depends on the model and on when your account was created: + + | Model | Account created on or after August 31, 2026 | Account created before August 31, 2026 | + | ----------------- | ------------------------------------------- | ----------------------------------------- | + | Claude Fable 5.1 | 400 error | No error (failing blocks reach the model) | + | Claude Mythos 5.1 | 400 error | 400 error | + + To see the 400 error from your own account, set the field to `"error"` on your test requests. Do this before you ship a tool that people run with their own API keys: their accounts can get the 400 error where yours doesn’t. The full table, with the platforms it applies to, is in [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement). + + The 400 error looks like this: ```text wrap messages.5.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header. ``` - The API enforces the check for new accounts created on or after August 31, 2026. For accounts created earlier, the API records the mismatch but doesn’t act on it unless the request sets `thinking.block_binding.prefix_mismatch_behavior`, which opts into enforcement. On those accounts, if you send the `thinking-binding-controls-2026-08-01` beta header and leave that field unset, the response lists each block that failed the check in `input_transformations` as a `thinking_mismatch_allowed` entry. Make your application compatible with the check regardless of your account’s age: the same patterns keep the prompt cache warm, and you can test against the check from any account by sending `prefix_mismatch_behavior`. If you ship a tool or framework that people run with their own API key, test that way before launch: your key is probably on an older account, and your users on new ones hit the check before you do. To see whether your own account is enforced by default, send a request that edits history without the beta header: a 400 that names the header means it is. - - The error is permanent for that request body: an automatic retry loop won’t clear it. To continue without the invalidated reasoning instead of failing, strip the `thinking` blocks from the history and retry once, or send the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers) and set `prefix_mismatch_behavior` to `"drop_block"` (the default is `"error"`). With `"drop_block"`, the API drops the mismatched block and every thinking block after it in the conversation, and reports each with `reason: "prefix_binding_mismatch"` in the response’s `input_transformations` array: + The error comes back every time a request sends the invalid block, so a retry loop won’t clear it. To continue without the invalidated reasoning, strip the block the error names and every later `thinking` and `redacted_thinking` block, then retry once. Alternatively, send the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers) and set `prefix_mismatch_behavior` to `"drop_block"` on every later request in the conversation. The response then reports each dropped block in its `input_transformations` array with `reason: "prefix_binding_mismatch"`: ```bash cURL @@ -1181,29 +1185,29 @@ model = "claude-mythos-5-1" # After ``` - The [token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) endpoint runs the same check. See [Controls for blocks that aren’t preserved (beta)](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking-controls) for the response shape and streaming placement. + The [token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) endpoint runs the same check. See [Set the mismatch behavior and read `input_transformations`](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#preserved-thinking-controls) for the response shape and streaming placement. Patterns that invalidate later thinking blocks, and what to do instead: - * Editing, reordering, or removing earlier turns. This includes deleting old tool results, snipping turns out of the middle of the transcript, and client-side compaction that keeps recent turns and their thinking blocks verbatim behind a summary (including background compaction that swaps its summary in a few turns later). Instead, use server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) or [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) ([tool result clearing](https://platform.claude.com/docs/en/build-with-claude/context-editing#tool-result-clearing) for old tool results), or one of the client-side compaction shapes in [Trim context on the server](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-trim-context). + * Editing, reordering, or removing earlier turns. This includes deleting old tool results, snipping turns out of the middle of the transcript, and client-side compaction that keeps recent turns and their thinking blocks verbatim behind a summary (including background compaction that swaps its summary in a few turns later). Instead, use server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) or [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) ([tool result clearing](https://platform.claude.com/docs/en/build-with-claude/context-editing#tool-result-clearing) for old tool results), or one of the client-side compaction shapes under [Trim context on the server, or compact in a shape that carries no stale thinking](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-trim-context). * Injecting content you don’t persist, for example a per-turn reminder appended after the `tool_result` blocks and removed on the next request. Instead, send the reminder as a [turn-scoped system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages) and leave it in the history. * Rebuilding the top-level `system` prompt or the `tools` array between requests in the same conversation, for example to update the current date or to add or remove a tool. Instead, append a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) that carries the new instruction (“The current date is 2026-09-14.”) or `tool_addition` and `tool_removal` blocks. A tool that wasn’t declared in `tools` at the start can be [defined inside the `tool_addition` block](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#define-tools-in-a-message-beta) (beta header `inline-tools-2026-09-15`). - * An image or document URL that serves different bytes on a later request. The check covers the bytes, not the URL string, so a rotating signed URL for the same file is fine. For content you reference across turns, upload it once with the [Files API](https://platform.claude.com/docs/en/build-with-claude/files) and send the `file_id`, or send base64. + * An image or document URL that serves different bytes on a later request. The prefix check covers the bytes, not the URL string, so a rotating signed URL for the same file is fine. For content you reference across turns, upload it once with the [Files API](https://platform.claude.com/docs/en/build-with-claude/files) and send the `file_id`, or send base64. Each replacement also keeps earlier turns byte-identical and preserves the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) hits that editing the history, `system` prompt, or `tools` array would lose. Patterns that keep working: * Append-only histories: adding turns and passing earlier turns back exactly as sent and received, including appended `role: "system"` messages. - * Removing thinking blocks from earlier assistant turns, oldest first. + * Removing the oldest thinking blocks (from the start of the history), the newest (from the end), or all of them. * Changing `effort`, `max_tokens`, or any other request parameter outside `model`, `system`, `tools`, and `messages`, and adding or moving `cache_control` markers. * Server-side compaction and context editing, including [thinking block clearing](https://platform.claude.com/docs/en/build-with-claude/context-editing#thinking-block-clearing). They don’t count as edits, because the check compares the conversation as you sent it. To check an existing integration: 1. Capture the exact request bodies it sends over a few normal turns, including a compaction or a tool change if your product has them. For each pair of consecutive requests, compare the `system` prompt, the `tools` array, and the shared prefix of `messages`. They should be byte-identical up to the newly appended turns. An expected exception is a request that swaps in a signed `compaction` block from [on-demand compaction](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand): the block replaces the messages it summarizes at the front of `messages`, and everything after it should still match. - 2. Run a normal multi-turn session against `claude-fable-5-1` with the `thinking-binding-controls-2026-08-01` beta header and `prefix_mismatch_behavior: "drop_block"`, and log `input_transformations` on every response. An empty array on every turn means the history is intact. An entry with `reason: "prefix_binding_mismatch"` means something before the block at `path` changed since the previous request. An entry with `reason: "model_binding_mismatch"` means the conversation switched models, which isn’t a bug in your code. This works from any account, because setting the field opts the request into enforcement. In CI, set `"error"` instead so an edit fails the run. - 3. Choose a production setting. Leave the default `"error"` if a prefix mismatch can only mean a bug in your code, or set `"drop_block"` to drop the affected blocks instead of failing, and monitor the 400s or the `input_transformations` entries either way. + 2. Run a normal multi-turn session against `claude-fable-5-1` with the `thinking-binding-controls-2026-08-01` beta header and `prefix_mismatch_behavior: "drop_block"`. Log `input_transformations` on every response. In a session whose responses include thinking blocks, an empty array on every turn means the history is intact. An entry with `reason: "prefix_binding_mismatch"` means something before the block at `path` changed since that block was produced. An entry with `reason: "model_binding_mismatch"` means the conversation switched models, which isn’t a bug in your code. Because every request sets the field, this test works from any account. In CI, set `"error"` instead so an edit fails the run. + 3. Choose a production setting and send it on every request. Use `"error"` if a prefix mismatch can only mean a bug in your code. Use `"drop_block"` if you’d rather drop the affected blocks than fail. Either way, monitor the 400 errors or the `input_transformations` entries. Dropping thinking blocks once, at a compaction boundary for example, has little effect. An integration that invalidates prior thinking on every request restarts the prompt cache each time, which can raise cost per task (see [Keep the conversation history append-only](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1#keep-the-conversation-history-append-only)). @@ -1499,7 +1503,7 @@ These changes aren’t required, but each one lowers cost or latency or removes 4. **Start at `high` effort and sweep:** The [effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort) default is `high`, and all five levels are supported. Keep the Claude Fable 5 guidance: `high` for most work, and `medium` as a cost control worth testing. Claude Fable 5.1’s gains over Claude Fable 5 are largest at `xhigh` and `max`, but those levels also add thinking time and time-to-first-response, so step up to them for the most capability-sensitive tasks and where your evals show the gain. Run a fresh sweep on your own evals rather than carrying over a setting tuned for Claude Fable 5. See [Recommended effort levels for Claude Fable 5.1](https://platform.claude.com/docs/en/build-with-claude/effort#recommended-effort-levels-for-claude-fable-5-1). -5. **Trim context on the server, or compact in a shape that carries no stale thinking:** If your code truncates or summarizes older turns on the client, the simplest fix is to move that work to server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) or [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing). Neither counts as an edit, because the [history check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) compares the conversation as you sent it, so nothing they remove invalidates later thinking blocks, and compaction’s [`instructions` parameter](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#custom-summarization-instructions) accepts your own summarization prompt. If you keep recent turns verbatim behind the summary, or summarize in the background while the conversation continues, use [on-demand compaction](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand) (beta header `compact-2026-09-04`) rather than a client-written summary. The API writes a signed summary block that you put in place of the messages it summarizes. The thinking blocks in the turns you keep can stay valid, under the conditions in [Compaction and preserved thinking](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks#conditions-for-kept-thinking-to-stay-valid). If you keep compaction on the client, pick one of three shapes: +5. **Trim context on the server, or compact in a shape that carries no stale thinking:** If your code truncates or summarizes older turns on the client, the simplest fix is to move that work to server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) or [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing). Neither counts as an edit: the [prefix check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) compares the conversation as you sent it, so nothing they remove invalidates later thinking blocks. Compaction’s [`instructions` parameter](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold#custom-summarization-instructions) also accepts your own summarization prompt. If you keep recent turns verbatim behind the summary, or summarize in the background while the conversation continues, use [on-demand compaction](https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand) (beta header `compact-2026-09-04`) rather than a client-written summary. The API writes a signed summary block that you put in place of the messages it summarizes. The thinking blocks in the turns you keep can stay valid, under the conditions in [Compaction and preserved thinking](https://platform.claude.com/docs/en/build-with-claude/compaction-thinking-blocks#conditions-for-kept-thinking-to-stay-valid). If you keep compaction on the client, pick one of three shapes: * **Simple compaction (recommended):** replace the whole history with one summary message plus the new user turn and replay nothing else. No thinking blocks are carried over, so nothing fails. Claude models are trained on long-horizon tasks with this scheme, and it performs comparably to more elaborate ones for most workloads. * **Keep-tail compaction:** if you keep the most recent turns verbatim behind a summary, strip the `thinking` and `redacted_thinking` blocks from those turns (text and tool calls can stay), or set `prefix_mismatch_behavior: "drop_block"`. Their thinking was produced against the full history and fails behind the summary otherwise. @@ -1510,12 +1514,12 @@ These changes aren’t required, but each one lowers cost or latency or removes ### Migration checklist * Update the model name from `claude-fable-5` to `claude-fable-5-1` (or `claude-mythos-5` to `claude-mythos-5-1`). -* Replace forced `tool_choice` (`{type: "any"}` or `{type: "tool", ...}`). It returns a 400 error. Use `{type: "auto"}` plus an explicit instruction and `strict: true` tools, or JSON outputs. Put the instruction in the `user` turn, or in a mid-conversation `role: "system"` message when your application requires the call. +* Replace forced `tool_choice` (`{type: "any"}` or `{type: "tool", ...}`): a request that sets it gets a 400 error. Use `{type: "auto"}` with an explicit instruction and `strict: true` tools, or use JSON outputs. When your application requires the call, put the instruction in the `user` turn or in a mid-conversation `role: "system"` message. * If you use the [advisor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool) (beta), update the advisor `model` as well. An advisor less capable than Claude Fable 5.1, such as `claude-fable-5` or `claude-opus-5-5`, returns a 400 error. -* Keep passing `thinking` blocks back unchanged on every turn, including empty ones. Claude Fable 5.1 reads blocks from Claude Opus 5, Claude Fable 5, Claude Mythos 5, and earlier models. Moving a conversation from Claude Fable 5.1 to any model other than Claude Mythos 5.1 drops its blocks. +* Keep passing `thinking` blocks back unchanged on every turn, including empty ones. Claude Fable 5.1 and Claude Mythos 5.1 read blocks from Claude Opus 5, Claude Fable 5, Claude Mythos 5, and earlier models. Moving a conversation from Claude Fable 5.1 to any model other than Claude Mythos 5.1 drops its blocks. * If your code builds the `messages` array itself, check whether it [edits earlier turns](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking): run a session with the `thinking-binding-controls-2026-08-01` beta header and `prefix_mismatch_behavior: "drop_block"`, log `input_transformations`, and fix every `prefix_binding_mismatch`. `model_binding_mismatch` entries after a model switch are expected. -* Keep conversation history append-only. Freeze `system` and `tools` at session start, and move mid-session changes to `role: "system"` messages and `tool_addition` / `tool_removal` blocks. Send per-turn reminders as turn-scoped system messages you never remove. Trim context server-side, or strip thinking blocks from any turns you carry across a client-side summary. Reference cross-turn files by `file_id`. -* Pick a production `prefix_mismatch_behavior` (`"error"` by default, or `"drop_block"`) and monitor it. If you maintain a tool that others run with their own API key, test with the field set: new accounts are enforced by default even if yours isn’t. +* Keep conversation history append-only. Freeze `system` and `tools` at session start and move mid-session changes to `role: "system"` messages and `tool_addition` / `tool_removal` blocks. Send per-turn reminders as turn-scoped system messages you never remove. Trim context server-side or strip thinking blocks from any turns you carry across a client-side summary. Reference cross-turn files by `file_id`. +* Set `prefix_mismatch_behavior` on every production request. `"error"` fails a request that sends back an invalid thinking block. `"drop_block"` drops the invalid blocks and lets the request succeed. Monitor the 400 errors or the `input_transformations` entries. * Review agent loops for one-tool-call-per-turn behavior and add the batching instruction. * If your interface renders progress text between tool calls, set `thinking.display` to `"updates"` (beta) or `"summarized"` and prompt for updates. * If you change effort between requests, move the change to a [per-message effort](https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta) `role: "system"` message (beta) to keep cache hits. @@ -1539,29 +1543,31 @@ model = "claude-mythos-5-1" # After ### What changed -1. **Thinking can no longer be disabled:** Claude Opus 5 accepts `thinking: {type: "disabled"}` at an [effort](https://platform.claude.com/docs/en/build-with-claude/effort) level of `high` or lower. On `claude-fable-5-1` and `claude-mythos-5-1`, [adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) is always on, and `thinking: {type: "disabled"}` returns a 400 error at any effort level. Remove the field, control token spend with lower effort levels, and revisit `max_tokens` for workloads that ran with thinking disabled. Responses from those workloads can now start with `thinking` blocks, so select content blocks by `type` instead of by position. +1. **Thinking can’t be disabled:** Claude Opus 5 accepts `thinking: {type: "disabled"}` at an [effort](https://platform.claude.com/docs/en/build-with-claude/effort) level of `high` or lower. On `claude-fable-5-1` and `claude-mythos-5-1`, [adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) is always on, and `thinking: {type: "disabled"}` returns a 400 error at any effort level. Remove the field, control token spend with lower effort levels, and revisit `max_tokens` for workloads that ran with thinking disabled. Responses from those workloads can start with `thinking` blocks, so select content blocks by `type` instead of by position. + +2. **Forced tool choice is not supported:** Claude Opus 5 accepts `tool_choice` `any` and `tool`. `claude-fable-5-1` and `claude-mythos-5-1` return a 400 error. See [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes). -2. **Forced tool choice is not supported:** Claude Opus 5 accepts `tool_choice` `any` and `tool`. `claude-fable-5-1` returns a 400 error. See [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes). +3. **Preserved thinking across models:** Claude Fable 5.1 and Claude Mythos 5.1 read Claude Opus 5’s thinking blocks: conversations moving from `claude-opus-5` to `claude-fable-5-1` or `claude-mythos-5-1` keep their reasoning. Claude Opus 5 can’t read blocks from either model. See [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes). -3. **Preserved thinking across models:** Claude Fable 5.1 reads Claude Opus 5’s thinking blocks: conversations moving from `claude-opus-5` to `claude-fable-5-1` keep their reasoning. Claude Opus 5 can’t read Claude Fable 5.1’s blocks. Claude Fable 5.1’s blocks also [stop being valid when earlier turns change](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking): if your code edits earlier messages, rebuilds `system` or `tools`, or compacts on the client between requests, Claude Opus 5 returns no error, but `claude-fable-5-1` rejects or drops every later thinking block. Run the three-step check in that section before switching traffic. See [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes). +4. **Editing earlier turns invalidates thinking blocks:** Claude Opus 5 doesn’t run the prefix check. On `claude-fable-5-1` and `claude-mythos-5-1`, editing earlier messages, rebuilding `system` or `tools`, or compacting on the client between requests invalidates every later thinking block. Before you switch traffic, run the [three-step check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-check-integration) from the Claude Fable 5 section. -4. **Text between tool calls is returned in thinking blocks:** On Claude Opus 5, text the model writes between tool calls comes back as `text` blocks. On `claude-fable-5-1`, as on Claude Fable 5, that narration comes back as progress-update `thinking` blocks, one before each tool call. Under the default `thinking.display` of `"omitted"`, they carry no readable text. If your interface renders that narration, set `display: "updates"` (beta) to receive progress updates as text while reasoning stays hidden, or `"summarized"` to receive both. Then render the non-empty `thinking` blocks between `tool_use` blocks. See [Progress updates between tool calls](https://platform.claude.com/docs/en/build-with-claude/thinking#progress-updates). +5. **Text between tool calls is returned in thinking blocks:** On Claude Opus 5, text the model writes between tool calls comes back as `text` blocks. On `claude-fable-5-1`, as on Claude Fable 5, that narration comes back as progress-update `thinking` blocks, one before each tool call. Under the default `thinking.display` of `"omitted"`, they carry no readable text. If your interface renders that narration, set `thinking.display` to `"updates"` (beta) to receive progress updates as text while reasoning stays hidden, or to `"summarized"` to receive both. Then render the non-empty `thinking` blocks between `tool_use` blocks. See [Progress updates between tool calls](https://platform.claude.com/docs/en/build-with-claude/thinking#progress-updates). -5. **Safety classifiers and fallback routing:** Claude Fable 5.1 runs safety classifiers covering the same `stop_details` categories as Claude Fable 5, a broader set than Claude Opus 5’s classifiers. Expect additional `stop_details.category` values, such as `"bio"`; see the [refusal category table](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#refusal-response) for the full set. For `fallbacks` configuration and permitted targets, see [Use `fallbacks: "default"` for refusals](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-recommended-changes). +6. **Safety classifiers and fallback routing:** Claude Fable 5.1 runs safety classifiers covering the same `stop_details` categories as Claude Fable 5, a broader set than Claude Opus 5’s classifiers. Expect additional `stop_details.category` values, such as `"bio"`; see the [refusal category table](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#refusal-response) for the full set. For `fallbacks` configuration and permitted targets, see [Use `fallbacks: "default"` for refusals](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-recommended-changes). -6. **Pricing:** $10 USD per million input tokens and $50 USD per million output tokens, compared with $5 USD and $25 USD for Claude Opus 5. Prompt cache reads are $0.25 USD per million tokens, half the Claude Opus 5 rate. See [Claude pricing](https://platform.claude.com/docs/en/about-claude/pricing). +7. **Pricing:** $10 USD per million input tokens and $50 USD per million output tokens, compared with $5 USD and $25 USD for Claude Opus 5. Prompt cache reads are $0.25 USD per million tokens, half the Claude Opus 5 rate. See [Claude pricing](https://platform.claude.com/docs/en/about-claude/pricing). -7. **Data retention:** Claude Fable 5.1 and Claude Mythos 5.1 require 30-day data retention, aren’t available under zero data retention (ZDR) arrangements unless expressly authorized by Anthropic, and are designated Covered Models. Claude Opus 5 is available under ZDR. See [Model-specific data retention requirements](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements). +8. **Data retention:** Claude Fable 5.1 and Claude Mythos 5.1 require 30-day data retention, aren’t available under zero data retention (ZDR) arrangements unless expressly authorized by Anthropic, and are designated Covered Models. Claude Opus 5 is available under ZDR. See [Model-specific data retention requirements](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements). ### Migration checklist * If your organization has a zero data retention (ZDR) arrangement, confirm eligibility first: these models aren’t available under ZDR unless expressly authorized by Anthropic. See [Model-specific data retention requirements](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements). * Update the model name from `claude-opus-5` to `claude-fable-5-1` (or `claude-mythos-5-1`). * Remove any `thinking: {type: "disabled"}` configuration: it returns a 400 error on `claude-fable-5-1`. Control token spend with lower [effort](https://platform.claude.com/docs/en/build-with-claude/effort) levels, and revisit `max_tokens`. -* If you removed `thinking: {type: "disabled"}`, update response parsing that reads content by position, such as `content[0].text`: a response can now start with `thinking` blocks, so select content blocks by `type` instead. +* If you removed `thinking: {type: "disabled"}`, update response parsing that reads content by position, such as `content[0].text`: a response can start with `thinking` blocks, so select content blocks by `type` instead. * Replace forced `tool_choice` (`any` or `tool`) with `auto` plus an explicit instruction (`user` turn or mid-conversation system message) and `strict: true` tools, or with JSON outputs. * If your interface renders text between tool calls, set `display: "updates"` (beta) or `"summarized"` and render the non-empty `thinking` blocks. -* Apply the advisor, preserved-thinking, history-editing, behavior, effort, and fallback items from the [Claude Fable 5 checklist](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migration-checklist-fable-5-1-from-fable-5). +* Apply the advisor, preserved-thinking, append-only, behavior, effort, and fallback items from the [Claude Fable 5 checklist](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migration-checklist-fable-5-1-from-fable-5). * Re-baseline cost on your own workloads. The tokenizer is unchanged. Per-token pricing differs. ## Migrating to Claude Fable 5.1 from Claude Opus 4.8 or earlier @@ -1583,25 +1589,19 @@ model = "claude-mythos-5-1" # After * If your organization has a zero data retention (ZDR) arrangement, confirm eligibility first: these models aren’t available under ZDR unless expressly authorized by Anthropic. Claude Opus 4.8 is available under ZDR. * Update the model name from `claude-opus-4-8` to `claude-fable-5-1` (or `claude-mythos-5-1`). * Remove any `thinking: {type: "disabled"}` configuration and revisit `max_tokens`. Requests without a `thinking` field run with adaptive thinking. -* Update response parsing that reads content by position, such as `content[0].text`: a response can now start with `thinking` blocks, so select content blocks by `type` instead. +* Update response parsing that reads content by position, such as `content[0].text`: a response can start with `thinking` blocks, so select content blocks by `type` instead. * Replace forced `tool_choice` (`any` or `tool`) with `auto` plus an explicit instruction (`user` turn or mid-conversation system message) and `strict: true` tools, or with JSON outputs. -* Pass `thinking` blocks back unchanged and treat their text as display-only. Claude Fable 5.1 reads Claude Opus 4.8’s thinking blocks: a conversation that moves onto `claude-fable-5-1` keeps its earlier reasoning. Claude Opus 4.8 can’t read Claude Fable 5.1’s blocks. -* If your code builds the `messages` array itself, check whether it [edits earlier turns](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking). Integrations written for Claude Opus 4.8 and earlier often truncate old turns, strip or rebuild earlier messages, or refresh the `system` prompt each request, and Claude Opus 4.8 returns no error for any of them. On `claude-fable-5-1` each of those invalidates later thinking blocks. +* Pass `thinking` blocks back unchanged and treat their text as display-only. Claude Fable 5.1 and Claude Mythos 5.1 read Claude Opus 4.8’s thinking blocks: a conversation that moves onto `claude-fable-5-1` or `claude-mythos-5-1` keeps its earlier reasoning. Claude Opus 4.8 can’t read their blocks. +* If your code builds the `messages` array itself, check whether it [edits earlier turns](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking). Integrations written for Claude Opus 4.8 and earlier often truncate old turns, strip or rebuild earlier messages, or refresh the `system` prompt each request, and Claude Opus 4.8 returns no error for any of them. On `claude-fable-5-1` and `claude-mythos-5-1`, each of those invalidates later thinking blocks. * Handle `stop_reason: "refusal"`, read `stop_details.category`, and consider `fallbacks: "default"` (beta). -* Apply the advisor, Priority Tier, preserved-thinking, history-editing, behavior, per-message effort, and progress-update items from the [Claude Fable 5 checklist](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migration-checklist-fable-5-1-from-fable-5). +* Apply the advisor, Priority Tier, preserved-thinking, append-only, behavior, per-message effort, and progress-update items from the [Claude Fable 5 checklist](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migration-checklist-fable-5-1-from-fable-5). * Re-evaluate `effort` (start at `high`), review prompts near the 512-token [caching minimum](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-limitations) (1,024 tokens on Claude Opus 4.8), and re-baseline cost and latency. Per-token pricing differs, and thinking tokens are billed as output tokens, so workloads that ran without thinking on Claude Opus 4.8 can produce more output tokens per request. ## Migrating to Claude Mythos 5.1 from Claude Mythos 5 [Claude Mythos 5.1](https://platform.claude.com/docs/en/models/mythos-5-1/overview) is the counterpart to Claude Fable 5.1 for organizations verified through Anthropic’s verification programs, such as the [Cyber Verification Program](https://support.claude.com/en/articles/14604842). Confirm that your organization has access to Claude Mythos 5.1 before you switch model IDs. -The API-level delta matches [Migrating to Claude Fable 5.1 from Claude Fable 5](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migrating-from-claude-fable-5-to-claude-fable-5-1): - -* Forced tool choice returns a 400 error. -* The advisor tool accepts fewer advisors. -* Only Claude Mythos 5.1 and Claude Fable 5.1 read Claude Mythos 5.1’s thinking blocks (Claude Mythos 5.1 reads Claude Mythos 5’s blocks, not the reverse). - -Unlike Claude Fable 5.1, Claude Mythos 5.1 doesn’t run the conversation check, so editing earlier turns doesn’t [invalidate thinking blocks](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking), though it still restarts the prompt cache. +Everything in [Migrating to Claude Fable 5.1 from Claude Fable 5](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migrating-from-claude-fable-5-to-claude-fable-5-1) applies, with `claude-mythos-5` and `claude-mythos-5-1` in place of the Claude Fable model IDs. Claude Mythos 5.1 reads Claude Mythos 5’s thinking blocks; Claude Mythos 5 can’t read Claude Mythos 5.1’s. On Claude Mythos 5.1, a request that sends back an invalid thinking block and leaves `prefix_mismatch_behavior` unset gets a 400 error (see [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement)). ### Update your model name @@ -1612,10 +1612,5 @@ model = "claude-mythos-5-1" # After ### Migration checklist -* Update the model name from `claude-mythos-5` to `claude-mythos-5-1`. -* Replace forced `tool_choice` (`any` or `tool`) with `auto` plus an explicit instruction (`user` turn or mid-conversation system message) and `strict: true` tools, or with JSON outputs. -* Handle `stop_reason: "refusal"` and read `stop_details.category` before response content. See [Refusals and fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback). -* Keep passing `thinking` blocks back unchanged on every turn, including empty ones. -* If your code builds the `messages` array itself, keep conversation history append-only to keep the prompt cache warm. Claude Mythos 5.1 doesn’t run the [conversation check](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation), so edits don’t invalidate its thinking blocks. -* Apply the advisor, behavior, and recommended changes from the [Claude Fable 5 section](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migrating-from-claude-fable-5-to-claude-fable-5-1), except the history-editing items, which don’t apply to Claude Mythos 5.1. -* Re-evaluate `effort` with a fresh sweep and re-baseline cost and latency. Prompt cache reads cost a quarter of the Claude Mythos 5 rate. +* Work through the [Claude Fable 5 checklist](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#migration-checklist-fable-5-1-from-fable-5) with the Claude Mythos model IDs. Skip its Priority Tier item: Claude Mythos 5 isn’t supported on Priority Tier. +* Run its check for [edits to earlier turns](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) before you switch: Claude Mythos 5 accepts those edits, but they invalidate Claude Mythos 5.1’s thinking blocks. diff --git a/content/en/models/fable-5-1/whats-new-fable-5-1.md b/content/en/models/fable-5-1/whats-new-fable-5-1.md index cc705e8889..fe0e9c002d 100644 --- a/content/en/models/fable-5-1/whats-new-fable-5-1.md +++ b/content/en/models/fable-5-1/whats-new-fable-5-1.md @@ -59,20 +59,26 @@ When a request carries a block the target model can’t read (a router or fallba ### Editing earlier turns invalidates thinking blocks -Modifying anything before a Claude Fable 5.1 thinking block (the `system` prompt, the `tools`, or an earlier message) results in an error on the next request, or in the block being dropped if you opt into that. Claude Mythos 5.1 doesn’t run this check. Claude Code, claude.ai, [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview), and the [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview) keep that prefix intact for you. If your code builds the `messages` array itself, check it before you migrate: [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) walks through the check and each fix. The check is enforced for new accounts created on or after August 31, 2026. For accounts created earlier, the API records the mismatch but acts on it only when the request sets `thinking.block_binding.prefix_mismatch_behavior`. +On Claude Fable 5.1 and Claude Mythos 5.1, a thinking block you send back stays valid only while everything before it is unchanged: the `system` prompt, the `tools`, and every earlier message. Claude Code, claude.ai, [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview), and the [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview) keep that history intact for you. If your code builds the `messages` array itself, check it before you migrate: [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) explains the prefix check and how to replace each edit. -These patterns invalidate every later thinking block: +To keep thinking valid across a long session, treat the conversation as append-only. Add instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages). If an instruction should apply to one turn only, use a [turn-scoped system message](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) instead. Change tools with [mid-conversation tool changes](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes) rather than editing `system` or `tools`. Trim context with server-side [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) or [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction), which don’t count as edits. These patterns also keep the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) warm. To find out whether your integration edits history, run the migration guide’s [three-step check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-check-integration). + +The following changes invalidate every later thinking block: * Editing, reordering, or removing an earlier turn while keeping later ones * Injecting per-request text into an earlier turn (a reminder or status line) that you remove on the next request * Rebuilding the top-level `system` prompt or `tools` array between requests in the same conversation -* Using an image or document URL that serves different bytes on a later request (the check covers the bytes, not the URL, so a rotating signed URL for the same file is fine) +* Using an image or document URL that serves different bytes on a later request (the prefix check covers the bytes, not the URL, so a rotating signed URL for the same file is fine) +* Removing a thinking block from the middle of the history while keeping later ones -These keep later blocks valid: removing a leading run of thinking blocks (oldest first), letting server-side compaction or context editing trim the history, moving `cache_control` markers, and changing `effort` between requests. Removing a thinking block from anywhere other than the start of the run invalidates every thinking block after it. +The following changes keep later blocks valid: -Where the check is enforced, a request that replays an invalidated block is rejected with a 400 whose message says `The block is bound to a different conversation`. To drop the block and continue instead, send the `thinking-binding-controls-2026-08-01` beta header with `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. The drop is reported in `input_transformations` with `reason: "prefix_binding_mismatch"`. +* Removing the oldest thinking blocks (from the start of the history), the newest (from the end), or all of them +* Letting server-side compaction or context editing trim the history +* Moving `cache_control` markers +* Changing `effort` between requests -To keep thinking valid across a long session, treat the conversation as append-only. Add instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) (a [turn-scoped system message](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) if it should apply to one turn only) and change tools with [mid-conversation tool changes](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes) rather than editing `system` or `tools`. Trim context with server-side [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) or [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction), which don’t count as edits. These patterns also keep the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) warm. To find out whether your integration edits history, run a session with `prefix_mismatch_behavior: "drop_block"` and log `input_transformations`: the migration guide has the three-step [history-editing check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking). See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check) for the full rules. +When a request sends back an invalid block, `thinking.block_binding.prefix_mismatch_behavior` (beta header `thinking-binding-controls-2026-08-01`) determines what happens. `"error"` rejects the request with a 400 error whose message says `The block is bound to a different conversation`. `"drop_block"` drops the block and every thinking block after it, and the request succeeds. The response lists each drop in `input_transformations` with `reason: "prefix_binding_mismatch"`. When a request leaves the field unset, the API returns the 400 error on Claude Mythos 5.1. On Claude Fable 5.1, it returns the error for accounts created on or after August 31, 2026. [When `prefix_mismatch_behavior` is unset](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#enforcement) has the full table. ### Some advisor tool pairings are not supported @@ -491,7 +497,7 @@ Then review these items: 1. Remove any `tool_choice` of type `any` or `tool`. Move schema enforcement to [strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) with `tool_choice: {"type": "auto"}` or to [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs). 2. If you use the advisor tool (beta), choose an advisor at least as capable as Claude Fable 5.1. See [Some advisor tool pairings are not supported](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#advisor-tool-pairings). -3. Pass thinking blocks back unchanged and keep the history append-only. If your code builds the `messages` array itself, run the [history-editing check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking): move per-turn reminders you currently inject and delete to [turn-scoped system messages](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta), move `system` and `tools` changes to mid-conversation system messages, trim context server-side or strip thinking blocks from turns you carry across a client-side summary, then pick a production [`prefix_mismatch_behavior`](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking-controls) and monitor `input_transformations`. +3. Pass thinking blocks back unchanged and keep the history append-only. If your code builds the `messages` array itself, run the migration guide’s [three-step check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-check-integration). Move per-turn reminders you inject and delete to [turn-scoped system messages](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta), and move `system` and `tools` changes to mid-conversation system messages. Trim context server-side, or strip thinking blocks from turns you carry across a client-side summary. Then set [`prefix_mismatch_behavior`](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking-controls) on every production request and monitor `input_transformations`. 4. Re-tune effort from the default (`high`), and consider [changing it mid-conversation](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) instead of holding one level for the whole session. 5. In agent loops, watch for one tool call in each turn where Claude Fable 5 batched several, and add the per-turn note from [Prompting Claude Fable 5.1](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1). 6. Re-run your evals. Refusal handling, fallback, fallback credit, and the tokenizer carry over unchanged. Cache reads cost less (see [cache read prices](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#pricing)), and default behavior differs in the ways listed under [Changed from Claude Fable 5](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#changed-from-claude-fable-5). diff --git a/content/en/models/haiku-5-5/migration-guide.md b/content/en/models/haiku-5-5/migration-guide.md index d26c1250f4..07d7cb3acc 100644 --- a/content/en/models/haiku-5-5/migration-guide.md +++ b/content/en/models/haiku-5-5/migration-guide.md @@ -133,11 +133,11 @@ On the Claude API and Claude Models on Google Cloud (Google managed), Claude Hai ## Replay thinking blocks through the account that produced them -Thinking blocks from Claude Haiku 5.5 work only in the account that produced them, or in an account linked to it. When another account sends one of these blocks, the API drops the block before the model receives it, and the request succeeds without that reasoning. This affects code that stores conversations and replays them through a different account, for example a service that serves several customers from one conversation store. Replay each conversation through the account that produced it. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking). +Thinking blocks from Claude Haiku 5.5 work only in the account that produced them or in an account linked to it. When another account sends one of these blocks, the API drops the block before the model receives it, and the request succeeds without that reasoning. This affects code that stores conversations and replays them through a different account, for example a service that serves several customers from one conversation store. Replay each conversation through the account that produced it. See [Thinking blocks stay with the account that produced them](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking). ## Keep earlier turns unchanged -A Claude Haiku 5.5 thinking block stays valid only while everything sent before it is unchanged: a request that sends a thinking block back after a change to `system`, `tools`, or earlier `messages` returns a 400 error. Claude Haiku 4.5 doesn’t run this check. Keep conversations append-only. On accounts created before August 31, 2026, 00:00 UTC, the error comes only on requests that set `thinking.block_binding.prefix_mismatch_behavior`. For the changes that trigger the error and what to do instead, see [Who needs to change anything](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#who-is-affected). +A Claude Haiku 5.5 thinking block stays valid only while everything sent before it is unchanged: the `system` prompt, the `tools`, and every earlier message. Claude Haiku 4.5 doesn’t run the prefix check. Keep conversations append-only. A request that sends a block back after such a change and leaves `thinking.block_binding.prefix_mismatch_behavior` unset gets a 400 error on accounts created on or after August 31, 2026, 00:00 UTC. On accounts created before that date, the request gets the error only when it sets the field to `"error"`. For the changes that trigger the error and what to do instead, see [Who the prefix check affects](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#who-is-affected). ## Migrating to Claude Haiku 5.5 from Claude Haiku 3.5 and earlier Haiku models diff --git a/content/en/models/opus-5-5/migration-guide.md b/content/en/models/opus-5-5/migration-guide.md index f2851dce1f..8cef313dee 100644 --- a/content/en/models/opus-5-5/migration-guide.md +++ b/content/en/models/opus-5-5/migration-guide.md @@ -876,7 +876,7 @@ After: #### Thinking blocks are tied to the model and the conversation -On the Claude API, Claude Fable 5.1 and Claude Mythos 5.1 read Claude Opus 5.5 thinking blocks; no other model does. A router or fallback that moves a conversation from Claude Opus 5.5 to any other model runs those turns without them. In the other direction, Claude Opus 5.5 reads thinking blocks from Claude Opus 5, from earlier Opus, Sonnet, and Haiku models, and, on the Claude API and Claude Models on Google Cloud (Google managed), from Claude Sonnet 5.5 and Claude Haiku 5.5, but not from Claude Fable or Claude Mythos models. Keep the conversation append-only (no edits to the `system` prompt, `tools`, or earlier messages mid-conversation) so the blocks stay valid; Claude Code, claude.ai, Claude Managed Agents, and the Claude Agent SDK already do. Enforcement matches Claude Fable 5.1 on every platform: for accounts created on or after August 31, 2026, 00:00 UTC, replaying a thinking block after such an edit returns a 400 error by default. There is no code change for append-only integrations. See [Thinking blocks are tied to the model and the conversation](https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5#thinking-blocks-are-tied-to-the-model-that-produced-them) and [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking). +On the Claude API, Claude Fable 5.1 and Claude Mythos 5.1 read Claude Opus 5.5 thinking blocks; no other model does. A router or fallback that moves a conversation from Claude Opus 5.5 to any other model runs those turns without them. In the other direction, Claude Opus 5.5 reads thinking blocks from Claude Opus 5, from earlier Opus, Sonnet, and Haiku models, and, on the Claude API and Claude Models on Google Cloud (Google managed), from Claude Sonnet 5.5 and Claude Haiku 5.5, but not from Claude Fable or Claude Mythos models. Keep the conversation append-only (no edits to the `system` prompt, `tools`, or earlier messages mid-conversation) so the blocks stay valid; Claude Code, claude.ai, Claude Managed Agents, and the Claude Agent SDK already do. On accounts created on or after August 31, 2026, 00:00 UTC, on the Claude API and on cloud platforms, a request that replays a thinking block after such an edit and leaves `thinking.block_binding.prefix_mismatch_behavior` unset gets a 400 error. There is no code change for append-only integrations. See [Thinking blocks are tied to the model and the conversation](https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5#thinking-blocks-are-tied-to-the-model-that-produced-them) and [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking). #### The `computer_20251124` computer use tool is not supported on the Claude API and Claude Models on Google Cloud (Google managed) diff --git a/content/en/models/opus-5-5/whats-new-opus-5-5.md b/content/en/models/opus-5-5/whats-new-opus-5-5.md index 4c9d17453c..334ba6d5b5 100644 --- a/content/en/models/opus-5-5/whats-new-opus-5-5.md +++ b/content/en/models/opus-5-5/whats-new-opus-5-5.md @@ -44,9 +44,9 @@ tool_choice: type "tool" and "any" are not supported for this model. ### Thinking blocks are tied to the model and the conversation -Every thinking block records which model produced it, and each model reads its own blocks and only some other models’. Claude Opus 5.5 reads thinking blocks from Claude Opus 5, from earlier Opus, Sonnet, and Haiku models, and, on the Claude API and Claude Models on Google Cloud (Google managed), from Claude Sonnet 5.5 and Claude Haiku 5.5, but not from Claude Fable or Claude Mythos models. On the Claude API, Claude Fable 5.1 and Claude Mythos 5.1 read thinking blocks from Claude Opus 5.5; no other model does. A conversation that moves from Claude Opus 5 onto Claude Opus 5.5, or from Claude Opus 5.5 up to Claude Fable 5.1 or Claude Mythos 5.1 on the Claude API, keeps its reasoning. One that moves from Claude Opus 5.5 to any model other than those two, or onto it from a Claude Fable or Claude Mythos model, runs the turns after the switch without the previous model’s reasoning. When a request carries a block the target model can’t read, the API drops it before the model sees it: the request succeeds, and dropped blocks aren’t billed. With the `thinking-binding-controls-2026-08-01` beta header the drop is reported in a top-level `input_transformations` array. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). +Every thinking block records which model produced it, and each model reads its own blocks and only some other models’. Claude Opus 5.5 reads thinking blocks from Claude Opus 5, from earlier Opus, Sonnet, and Haiku models, and, on the Claude API and Claude Models on Google Cloud (Google managed), from Claude Sonnet 5.5 and Claude Haiku 5.5, but not from Claude Fable or Claude Mythos models. On the Claude API, Claude Fable 5.1 and Claude Mythos 5.1 read thinking blocks from Claude Opus 5.5; no other model does. A conversation that moves from Claude Opus 5 onto Claude Opus 5.5, or from Claude Opus 5.5 up to Claude Fable 5.1 or Claude Mythos 5.1 on the Claude API, keeps its reasoning. One that moves from Claude Opus 5.5 to any model other than those two, or onto it from a Claude Fable or Claude Mythos model, runs the turns after the switch without the previous model’s reasoning. When a request carries a block the target model can’t read, the API drops it before the model sees it: the request succeeds, and dropped blocks aren’t billed. With the `thinking-binding-controls-2026-08-01` beta header, the drop is reported in a top-level `input_transformations` array. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). -The API also checks whether anything before a Claude Opus 5.5 thinking block (the `system` prompt, the `tools`, or an earlier message) has changed since the block was produced. As on Claude Fable 5.1, it enforces that check by default for accounts created on or after August 31, 2026, 00:00 UTC, on the Claude API and on cloud platforms. On those accounts, a request that replays a block after such a change returns a 400 error. To drop the affected blocks instead, send the `thinking-binding-controls-2026-08-01` beta header and set `thinking.block_binding.prefix_mismatch_behavior` to `"drop_block"`. On older accounts, setting that field to either value opts the request in. Keep the conversation append-only so the question never arises: change instructions or tools with [mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) rather than edits. See [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) and the migration guide’s [note on thinking blocks](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#thinking-blocks). +The API also checks whether anything before a Claude Opus 5.5 thinking block (the `system` prompt, the `tools`, or an earlier message) has changed since the block was produced. Keep the conversation append-only: change instructions or tools with [mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) rather than edits. A request that replays a block after such a change and leaves `thinking.block_binding.prefix_mismatch_behavior` unset gets a 400 error on accounts created on or after August 31, 2026, 00:00 UTC. This applies on the Claude API and on cloud platforms. On accounts created before that date, the request gets the error only when it sets the field to `"error"`. To drop the affected blocks instead, send the `thinking-binding-controls-2026-08-01` beta header and set the field to `"drop_block"`. See [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) and the migration guide’s [note on thinking blocks](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#thinking-blocks). ### The `computer_20251124` computer use tool is not supported on the Claude API and Claude Models on Google Cloud (Google managed) diff --git a/content/en/models/sonnet-5-5/migration-guide.md b/content/en/models/sonnet-5-5/migration-guide.md index b60fb0f351..d3ee6aa353 100644 --- a/content/en/models/sonnet-5-5/migration-guide.md +++ b/content/en/models/sonnet-5-5/migration-guide.md @@ -841,7 +841,7 @@ The example marks every tool in the list strict. A request can have at most 20 s Claude Sonnet 5.5 reads thinking blocks from Claude Sonnet 5, Claude Opus 4.8, Claude Haiku 4.5, and earlier models, and, on the Claude API and Claude Models on Google Cloud (Google managed), from Claude Haiku 5.5. It doesn’t read blocks from Claude Opus 5, Claude Opus 5.5, or any Claude Fable or Claude Mythos model. The API drops blocks the model can’t read. The request still returns 200, and dropped blocks aren’t billed. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). -Each Claude Sonnet 5.5 thinking block is also signed over the conversation before it. For accounts created on or after August 31, 2026, 00:00 UTC, the API enforces this by default, on the Claude API, Amazon Bedrock, and Claude Models on Google Cloud (Google managed). On those accounts, a request that replays a block after an edit to earlier history returns a 400 error. Keep conversations append-only, and change instructions or tools with [mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages). Thinking blocks that Claude Sonnet 5.5 produces work only in the account that produced them, or in an account linked to it. See [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking). +Each Claude Sonnet 5.5 thinking block is also signed over the conversation before it. Keep conversations append-only, and change instructions or tools with [mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages). A request that replays a block after an edit to earlier history and leaves `thinking.block_binding.prefix_mismatch_behavior` unset gets a 400 error on accounts created on or after August 31, 2026, 00:00 UTC. This applies on the Claude API, Amazon Bedrock, and Claude Models on Google Cloud (Google managed). Thinking blocks that Claude Sonnet 5.5 produces work only in the account that produced them or in an account linked to it. See [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#account-bound-thinking). ### Computer use needs the toolset on the Claude API and Claude Models on Google Cloud (Google managed) diff --git a/content/en/models/sonnet-5-5/whats-new-sonnet-5-5.md b/content/en/models/sonnet-5-5/whats-new-sonnet-5-5.md index 2348e6cfde..71990e1d59 100644 --- a/content/en/models/sonnet-5-5/whats-new-sonnet-5-5.md +++ b/content/en/models/sonnet-5-5/whats-new-sonnet-5-5.md @@ -52,9 +52,9 @@ Every thinking block records which model produced it. Each model reads its own b So a conversation that moves from Claude Sonnet 5 onto Claude Sonnet 5.5, or from Claude Sonnet 5.5 up to Claude Opus 5.5 on the Claude API and Claude Models on Google Cloud (Google managed), keeps its reasoning, and any other move away from Claude Sonnet 5.5 runs the turns after the switch without it. When a request carries a block the target model can’t read, the API drops it before the model sees it: the request succeeds, and dropped blocks aren’t billed. With the `thinking-binding-controls-2026-08-01` beta header, the drop is reported in a top-level `input_transformations` array. See [Switching models mid-conversation](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#switching-models). -The API also checks whether anything before a Claude Sonnet 5.5 thinking block has changed since the block was produced: the `system` prompt, the `tools`, or an earlier message. It enforces that check by default for accounts created on or after August 31, 2026, 00:00 UTC, on the Claude API, Amazon Bedrock, and Claude Models on Google Cloud (Google managed). On those accounts, a request that replays a block after such a change returns a 400 error. To drop the affected blocks instead, send the `thinking-binding-controls-2026-08-01` beta header and set `thinking.block_binding.prefix_mismatch_behavior` to `"drop_block"`. On older accounts, setting that field to either value opts the request in. `block_binding` works only with `thinking: {"type": "adaptive"}`. With `between_tools`, keep the history append-only, or strip the thinking blocks from the edited turn on. +The API also checks whether anything before a Claude Sonnet 5.5 thinking block has changed since the block was produced: the `system` prompt, the `tools`, or an earlier message. Keep the conversation append-only: change instructions or tools with [mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) rather than edits. A request that replays a block after such a change and leaves `thinking.block_binding.prefix_mismatch_behavior` unset gets a 400 error on accounts created on or after August 31, 2026, 00:00 UTC. This applies on the Claude API, Amazon Bedrock, and Claude Models on Google Cloud (Google managed). On accounts created before that date, the request gets the error only when it sets the field to `"error"`. To drop the affected blocks instead, send the `thinking-binding-controls-2026-08-01` beta header and set the field to `"drop_block"`. `block_binding` works only with `thinking: {"type": "adaptive"}`. With any other thinking setting, you can’t send `block_binding`, so strip the block the error names and every later `thinking` and `redacted_thinking` block, then retry once. -Keep the conversation append-only so the check never fails: change instructions or tools with [mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) rather than edits. See [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) and the migration guide’s [note on thinking blocks](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#thinking-blocks). +See [Preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) and the migration guide’s [note on thinking blocks](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#thinking-blocks). ### The `computer_20251124` computer use tool is not supported on the Claude API and Claude Models on Google Cloud (Google managed) diff --git a/content/en/release-notes/overview.md b/content/en/release-notes/overview.md index 7f3a8ec6b9..f1c46d52f3 100644 --- a/content/en/release-notes/overview.md +++ b/content/en/release-notes/overview.md @@ -12,6 +12,15 @@ The Claude Platform release notes list changes to the Claude API, the client SDK For updates to Claude Code, see the [complete CHANGELOG.md](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) in the `claude-code` repository. +### October 29, 2026 + +* We’ve launched the [Usage and Cost Analytics API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api) in beta with the `analytics-usage-cost-2026-08-24` beta header. Its `/v1/organizations/analytics/usage` and `/v1/organizations/analytics/cost` endpoints report token usage and cost for Claude Console and Claude Enterprise organizations. You can filter and group results by dimensions such as model, workspace, API key, and the user or service account behind each request. +* The [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) is now a legacy API, and so are the `usage_report`, `cost_report`, `user_usage_report`, and `user_cost_report` endpoints of the [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api). All of them remain supported. To move an existing integration, see [Migrate from the Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#migrate-from-usage-cost-api) or [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api#migrate-from-enterprise-analytics-reports). + +### October 28, 2026 + +* We’ve raised the [maximum request size](https://platform.claude.com/docs/en/api/overview#request-size-limits) for the Messages API and the Token Counting API from 32 MB to 128 MB on the first-party Claude API. + ### October 23, 2026 * The [Claude Tag API](https://platform.claude.com/docs/en/manage-claude/claude-tag-api) is available in beta for Claude Enterprise organizations with the `experimental-claude-tag-2026-10-21` beta header. Its `/v1/organizations/claude_tag/` endpoints read and change [Claude Tag](https://claude.com/docs/claude-tag/overview) settings on Slack channels and Slack workspaces, show which settings apply in a channel and where each comes from, and attach Access bundles. Call it with an Admin API key that your primary owner creates in claude.ai with the `read:claude_tag` or `write:claude_tag` scope. It is not available to Claude Platform (Claude Console) organizations. diff --git a/content/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks.md b/content/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks.md index c04fcbedd6..b91707599a 100644 --- a/content/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks.md +++ b/content/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks.md @@ -204,7 +204,7 @@ Combine strategies for robust protection. Here’s an enterprise-grade example w Evaluate if this query violates SEC rules, FINRA guidelines, or client privacy. ``` - Use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) to constrain the response to a Boolean classification. + Use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) to constrain the response to a boolean classification. By layering these strategies, you create a robust defense against jailbreaking and prompt injections, ensuring your Claude-powered applications maintain the highest standards of safety and compliance. diff --git a/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md b/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md index 3d6933884c..8dfff43bd6 100644 --- a/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md +++ b/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md @@ -46,7 +46,7 @@ Logging out of all active sessions also logs you out of Claude Code. To log out If you used your Claude account to authenticate into Claude Code, you can see and log out of those sign-ins in **Settings > Account**, where they're listed with your other sessions. If they aren't listed there, manage your authorization tokens in **Settings > Claude Code**. To remove a token and log out of Claude Code, click the trash can icon. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1608263923/b4fa7d6f6f08f2adffb4ea63bc58/image+%287%29.png?expires=1793295000&signature=8e06798ae78b42e19c6bc7210817de9ec3bfddac19a36675ed1bc0d2114fcddf&req=dSYnHst4nohdWvMW1HO4zVuHix%2F%2F32K7AQofdwM8qVfxCiuywzsmUiJS4y5K%0AZoaNkh71uHf8cr7nwwE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1608263923/b4fa7d6f6f08f2adffb4ea63bc58/image+%287%29.png?expires=1793343600&signature=06b4f24b2b2c83e7d24cee24665caa03b00a063613c71875772c4055acee7326&req=dSYnHst4nohdWvMW1HO4zVuHix%2F%2B0mS9AQofdwM8qVcC0hQb3JFZpJ3N1XjQ%0A15uwFLpahYdMHKxPMdw%3D%0A) ## Unable to access your account? diff --git a/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md b/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md index ee4a40f359..e504561dfa 100644 --- a/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md +++ b/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md @@ -6,6 +6,6 @@ As a Primary Owner or Owner of a Team or Enterprise plan, you can manage the abi 2. Use the toggle to change the **Rate chats** setting for your organization: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2058292603/75752add0bed6a9f3ab217f01708/CleanShot%2B2026-02-12%2Bat%2B08_55_14-402x.png?expires=1793295900&signature=7ce3ab311960e1ab0be945a087463f4d0bd2e78d7263dca4d88e6fce1e839bde&req=diAiHst3n4dfWvMW1HO4zYGm8yQeGa3F085gFtEpvcQlCOqc8JAZhU82mkhH%0A3AjfJg0qpzaub7uTquU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2058292603/75752add0bed6a9f3ab217f01708/CleanShot%2B2026-02-12%2Bat%2B08_55_14-402x.png?expires=1793343600&signature=117662b68b6ccaea81a3b56d1f7236d194c1258e8cd7060c34f61634992352fb&req=diAiHst3n4dfWvMW1HO4zYGm8yQfFKvK085gFtEpvcRhoOB%2FnBYx4XaAy4z9%0AeNl53lBy%2B4Fgod8dlE4%3D%0A) More information on how Anthropic collects, uses, and stores feedback data can be found in our Privacy Center: **[How long do you store my organization’s data?](https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data)** \ No newline at end of file diff --git a/content/support/10593882-share-and-unshare-chats.md b/content/support/10593882-share-and-unshare-chats.md index b809514200..2103b97d45 100644 --- a/content/support/10593882-share-and-unshare-chats.md +++ b/content/support/10593882-share-and-unshare-chats.md @@ -38,12 +38,12 @@ To unshare a chat: Users on free, Pro, or Max plans can review a log of shared chats by navigating to **[Settings > Privacy](https://claude.ai/settings/data-privacy-controls)**. Find the **Privacy settings** section and click “Manage” next to **Shared chats:** -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1921669913/7cc7be48cfc7a18f9f469d6cd83c/CleanShot+2026-01-08+at+10_20_43%402x.png?expires=1793295900&signature=cf9cf924b8917474244c5ca4e310d918e5ef8b1ca2b4ea2249804536fc0952fe&req=dSklF894lIheWvMW1HO4zWn5HjAfa0Bic9cNIYuX0GEAwi75nVWYgA7gPBpQ%0Asu4x2dj1b%2BQhVwzoQHM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1921669913/7cc7be48cfc7a18f9f469d6cd83c/CleanShot+2026-01-08+at+10_20_43%402x.png?expires=1793343600&signature=90d311454636d8369ea8fadb7958f7629bb927db5617ddfe817a9dd7c5bba6c1&req=dSklF894lIheWvMW1HO4zWn5HjAeZkZtc9cNIYuX0GH0Yt2EFF%2F%2BKNyFATXk%0AgUSFag7WR8p81X4%2FW%2BE%3D%0A) This will open a **Shared chats** modal listing the title, date shared, and link to each chat, allowing you to easily review and access all your previously-shared content. From here, you also have the option to click “Unshare” next to each listed chat to revoke access to the last snapshot you shared: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243810/e6fe1d262597446c7fe21dff9f10/AD_4nXdW-GhByF8uKV7fCq9lTbkVB91FglSL6TSyXAOUk_MLcTV9YsEMBMkm9rgm1oXqv0k3sJh1JhlzZP6tHVkKbDJJ71pDRRtM3aVNG64MDuKDIzgmknh-XDZdNa7biTsTdwGoPr5GRg?expires=1793295900&signature=05a3f0530fc3385f07bac754b66ca5753a518b022d4818dcf33ffc4aa052ad65&req=dSYlEst6noleWfMW1HO4ze44eSRjnRc3guvTv9woD7bKb6FXIqS1wrACh42o%0AI7n8VqDtASsoyqvPA%2B8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243810/e6fe1d262597446c7fe21dff9f10/AD_4nXdW-GhByF8uKV7fCq9lTbkVB91FglSL6TSyXAOUk_MLcTV9YsEMBMkm9rgm1oXqv0k3sJh1JhlzZP6tHVkKbDJJ71pDRRtM3aVNG64MDuKDIzgmknh-XDZdNa7biTsTdwGoPr5GRg?expires=1793343600&signature=31781aa63b14fc235b3ecbe1e81e212932e27772441200c25f5866e0ee1e53e8&req=dSYlEst6noleWfMW1HO4ze44eSRikBE4guvTv9woD7bE7xX4D8KJ98ASuA9q%0A%2Fg10qjI50Utut6CjL94%3D%0A) If you don’t have any shared chat snapshots, the **Shared chats** modal will show “No shared content found”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243808/b025db8e598f0c88fb16d83d48d5/AD_4nXeUwCKnmFzzrjMHhfr5By4zk5pJlkEn3wbJ8-aNfu13Yl99IjBywpqPx9G07QRzpH1EwRY7uG7Q9m9fib98Gql1cIV7XwUCTzEgBNu79Ey8tCOS5CEVmwveIcEOxJ4fonBhe3g9MA?expires=1793295900&signature=dd6c6085f12ec90268f129239d242d5c62d809dfa761735161c818a4af401f07&req=dSYlEst6nolfUfMW1HO4zdaFnMZ2iIy4DeZsm0Gz1HuPzqRHLsqQCc1tRxxa%0AkDZa%2Ft1Nb7KHuRSwniU%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243808/b025db8e598f0c88fb16d83d48d5/AD_4nXeUwCKnmFzzrjMHhfr5By4zk5pJlkEn3wbJ8-aNfu13Yl99IjBywpqPx9G07QRzpH1EwRY7uG7Q9m9fib98Gql1cIV7XwUCTzEgBNu79Ey8tCOS5CEVmwveIcEOxJ4fonBhe3g9MA?expires=1793343600&signature=2a43f2e5f3c99e7ae39756a32c4cd0de683133119f7d5d3e97edce09ec2a5f46&req=dSYlEst6nolfUfMW1HO4zdaFnMZ3hYq3DeZsm0Gz1HtZdlAUUK%2FnU56gnpQ3%0AFYcsdVH6jb0SXR9WZjE%3D%0A) \ No newline at end of file diff --git a/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md b/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md index 9aafd5b17b..0ec664c5d5 100644 --- a/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md +++ b/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md @@ -48,7 +48,7 @@ for specific instructions. Custom desktop extensions uploads allow Team and Enterprise plans to leverage organization-specific workflows that aren’t available in the public directory. After creating a custom desktop extension, Owners and Primary Owners can navigate to **Settings > Desktop app**, select "Manage" next to **Extensions** (or **Settings > Extensions** in the older Settings layout), and click "Advanced settings" to access the **Extension Developer** section: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1681607607/ba6e379d2769d190f0970a0adaed/AD_4nXd4aZkqjJFpiXMPF28Pih7HmSJ9pPsnoWAfVgiLdFRFiTkO92YtXteIjvDHaPl7T0tjfpRTBOlyrMbQ_aciCNDgfIuEvV3szmKvt72x5O51DMSClXOYWk1JIRIzylwkj3joXqZcLw?expires=1793295900&signature=dd94ab5212682c29c10d3ee00344bc5779a33895a04c3d3f074c959b10a7b4dd&req=dSYvF89%2BmodfXvMW1HO4zWbPxUN9Pjg7Hn9K2IaIG2Iajg%2F0cRHC4uTPCcmo%0A16QPJP%2FVIWujY1VHXqc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1681607607/ba6e379d2769d190f0970a0adaed/AD_4nXd4aZkqjJFpiXMPF28Pih7HmSJ9pPsnoWAfVgiLdFRFiTkO92YtXteIjvDHaPl7T0tjfpRTBOlyrMbQ_aciCNDgfIuEvV3szmKvt72x5O51DMSClXOYWk1JIRIzylwkj3joXqZcLw?expires=1793343600&signature=1cb2d59455bb07d3675ba892e18d0427af10ba64b4e837c7fb3717fade14d37c&req=dSYvF89%2BmodfXvMW1HO4zWbPxUN8Mz40Hn9K2IaIG2Jpt3o%2B1v2CB%2BRGXCT2%0A73FLgR2wbzKUTbbO1L4%3D%0A) Click “Install Extension…” and select the .mcpb file. Follow the prompts to install and configure your custom desktop extension. For more in-depth information, please refer to our [desktop extension developer documentation](https://github.com/anthropics/mcpb). diff --git a/content/support/11101966-use-voice-mode.md b/content/support/11101966-use-voice-mode.md index 9bfd4751f8..858080e6fd 100644 --- a/content/support/11101966-use-voice-mode.md +++ b/content/support/11101966-use-voice-mode.md @@ -24,7 +24,7 @@ Voice mode transforms how you interact with Claude by: 2. Tap the sound wave symbol in the lower right corner of the chat window to activate voice mode: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042358620/1bf2311353615c1c494da1312a17/124b93a8-0a9b-4c84-9d1f-ede6ca3498dd?expires=1793295900&signature=a3a7e7ba1d0f57dfd570e60dc0b6d65d5915c106a60e67caa757927b4dfc28a8&req=diAjFMp7lYddWfMW1HO4zZyGr81wslIZF6uXnTLMvvCdMZtqA2YZQIu5MAW8%0Atmqv%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042358620/1bf2311353615c1c494da1312a17/124b93a8-0a9b-4c84-9d1f-ede6ca3498dd?expires=1793343600&signature=4f1e40d37cb2f72602c9f3c37fe6c384820cf542b7ddbfdebc347b834b435d01&req=diAjFMp7lYddWfMW1HO4zZyGr81xv1QWF6uXnTLMvvC8ajhllILetYtkKwZc%0AjZXc%0A) 3. Start talking and see your prompt automatically populate in the chat input. @@ -32,7 +32,7 @@ Voice mode transforms how you interact with Claude by: 5. Claude will remain in voice mode until you click the “Stop” button in the lower right corner of the chat window: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042352060/162f9e61f7fbeb689201dfc1cac1/6a7fafb2-31df-43be-a43f-0059d735e3c4?expires=1793295900&signature=2af53c33e549669b3ef79ec312ba6403287b48d255dd4fb37ab87310b6c2587c&req=diAjFMp7n4FZWfMW1HO4zU6VRP7IQblgxNdRzYWrfF7QmryGXQCuutGoRIYN%0AvaPVOY92hUmyMYG5ZA8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042352060/162f9e61f7fbeb689201dfc1cac1/6a7fafb2-31df-43be-a43f-0059d735e3c4?expires=1793343600&signature=aaa1169b96143229be8dc01180daf8a553f11e07abaa55d0908237814e1a9973&req=diAjFMp7n4FZWfMW1HO4zU6VRP7JTL9vxNdRzYWrfF6y%2B0%2FVzAKXa3yTqWeQ%0AQaOcipalbXxm55pFbhI%3D%0A) ### On mobile (iOS and Android) @@ -40,7 +40,7 @@ Voice mode transforms how you interact with Claude by: 2. Tap the voice mode icon (sound wave symbol next to the microphone icon) in the text input field: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042359690/68879db64559ecf87991f73ce058/671ff972-9e08-4686-bc04-955dab4b2de3?expires=1793295900&signature=5e6357402adc24f100c7d1b0fe23b3e2efa72e4f8433d34bb4e1d30c0365b747&req=diAjFMp7lIdWWfMW1HO4zQTUIPd4md1HD%2FRXAPlQ7LaxY9BkYcwlQAJHpL5b%0AG10%2B%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042359690/68879db64559ecf87991f73ce058/671ff972-9e08-4686-bc04-955dab4b2de3?expires=1793343600&signature=54accff1822d6abb32dd4fcdc82f50ede480e65655e2d89792ff1b399e1c5da2&req=diAjFMp7lIdWWfMW1HO4zQTUIPd5lNtID%2FRXAPlQ7LYO4YNiHjcglM807uwg%0AAupl%0A) 3. Choose a voice to personalize your experience. @@ -78,7 +78,7 @@ To change the voice later: - **On mobile:** Click the settings button in the bottom left corner while chatting with Claude in voice mode, then tap your preferred voice and pace: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042352063/25eca25bcfd573ecab30dd53158c/074454a6-fa5a-4c49-8b19-02d434b4ca50?expires=1793295900&signature=e7c30c3df200da246511932ee3c4346adffba92e6b96778380f478b6246f234f&req=diAjFMp7n4FZWvMW1HO4zZ3%2FGWmXaVUDy8OQfYsvK3yWSxz35lNdW0TfUqm4%0AX6IsN%2BE18zhKzJMveAU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042352063/25eca25bcfd573ecab30dd53158c/074454a6-fa5a-4c49-8b19-02d434b4ca50?expires=1793343600&signature=8a555cd9e6aacc5e2853d327b7089d028c8e582520d48918c295399815d17c20&req=diAjFMp7n4FZWvMW1HO4zZ3%2FGWmWZFMMy8OQfYsvK3zl94H9kRyt2cJnKsyF%0AUl6E9v77bZufalZ7qbI%3D%0A) ## Choose a model diff --git a/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md b/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md index f423b586e8..3e08ae053e 100644 --- a/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md +++ b/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md @@ -44,7 +44,7 @@ This article provides information on how to enable the Claude LTI integration in 5. Click "Install" and refresh the course page. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1611422430/c8e0875feac1f2c7cb033be74fc9/AD_4nXfLU_bui3EXcCjQ0qm70HD97neqjGayKeDer_t76utlci8gZSUjYRhw6ZSOlDdqSEcwXBzd_shAh7pQEJ-8OoE0O21DM5coOgxmO_WD5hlwiuwtS2iYXcTavhIRyQT5zKFWvfn3NA?expires=1793295900&signature=f28b17aba9de2043ce8c4d7ab28be2b73af56fd842f34cdf2455ef94033c1ee6&req=dSYmF818n4VcWfMW1HO4zTEDa%2BgckvaIEv2ojHLMylYI9ANkWhRjzyHprxLA%0AEPPB%2BBcoBpk%2FIDTsB9k%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1611422430/c8e0875feac1f2c7cb033be74fc9/AD_4nXfLU_bui3EXcCjQ0qm70HD97neqjGayKeDer_t76utlci8gZSUjYRhw6ZSOlDdqSEcwXBzd_shAh7pQEJ-8OoE0O21DM5coOgxmO_WD5hlwiuwtS2iYXcTavhIRyQT5zKFWvfn3NA?expires=1793343600&signature=637635153bb11b90150a92347c4a81438143a012a782b3bee49d27b951ece754&req=dSYmF818n4VcWfMW1HO4zTEDa%2Bgdn%2FCHEv2ojHLMylZPxn7L4HqbDa1qHCGl%0Ag3sri0%2Fd1A%2FS08C2xhY%3D%0A) ## Turn on the Claude LTI Integration in Claude for Education organization settings diff --git a/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md b/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md index 8b479100b0..8fa8de8209 100644 --- a/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md +++ b/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md @@ -80,7 +80,7 @@ To run a single chat or Cowork task without memory, open a new chat, click the You can toggle Claude's memory on by navigating to **Settings > Your Claude** and turning on **Memory from chats** (or **Settings > Memory** and **Generate memory from chats** in the older Settings layout): -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482441/b5c806a8e3f68bf34c4a70724d38/d30be013-d099-4c93-99d1-23d404792f08?expires=1793295900&signature=afbc0a02f94aba4a3241197ac0cd8ea6edac5c20609fb170e9874de0d146f9bb&req=diUkFc12n4VbWPMW1HO4zRlYr5hv61UlNshWSMEMw9d33RmYFOje5Y04I%2Fda%0AZT8DS0GDiGrO0K54AiE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482441/b5c806a8e3f68bf34c4a70724d38/d30be013-d099-4c93-99d1-23d404792f08?expires=1793343600&signature=2ea37c07b0337a2aa1a10c999f504480b3925a536bbca78c32f28e4c3d174d17&req=diUkFc12n4VbWPMW1HO4zRlYr5hu5lMqNshWSMEMw9fJ8ET%2BYOkmO6zgFjnC%0AYE0Fu3jNIscmi%2Bsk40Q%3D%0A) If you want to disable Claude’s memory, click the toggle and you'll see two options: @@ -276,7 +276,7 @@ When Claude searches your previous chats, you will see this reflected in your cu Yes, navigate to **Settings > Your Claude** (or **Settings > Capabilities** in the older Settings layout) and find the **Memory** section. Switch the toggle next to “Search and reference chats” off: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730889/3fafbf5ecaa0ae31d7d84a66229b/c25536c1-7433-4b94-a5e9-cd5acf97a4fd?expires=1793295900&signature=f9dd35c545da181971def96f8c831f310cb0227ab1b383824c07185b639711d4&req=dScmH859nYlXUPMW1HO4zRzXHlwyKjTLJG68qZhl782eOeYZ5DdW4FHttMtr%0AjoKZIBU4BY20UIqH1K0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730889/3fafbf5ecaa0ae31d7d84a66229b/c25536c1-7433-4b94-a5e9-cd5acf97a4fd?expires=1793343600&signature=c5646b4432c8c14d704de82ef96920c27687bf92f3224ad261d013dcfbf4477d&req=dScmH859nYlXUPMW1HO4zRzXHlwzJzLEJG68qZhl7809O6YG%2FexRzDV2jk%2B8%0A0dEvnZ09YllBLWwlvyI%3D%0A) ### Can I exclude a specific past chat from searches? @@ -284,7 +284,7 @@ Incognito chats are available to all Claude users (free, Pro, Max, Team, and Ent When starting a new chat with Claude outside of a project, you'll see a ghost icon in the upper right corner of your screen: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730893/9549b21954e0070ceb6b85231fd5/88e59234-6fc2-4229-84fe-733b33efff26?expires=1793295900&signature=389edcb53b9053614aa246728dd825b286d85c037c42d9a5be9985b21e33cf74&req=dScmH859nYlWWvMW1HO4za54saBuNYOyXDpzhlKsgjMuapSADrjF0Bn06zvR%0A%2F4O1wMvGjH9%2BVGQIMx8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730893/9549b21954e0070ceb6b85231fd5/88e59234-6fc2-4229-84fe-733b33efff26?expires=1793343600&signature=5276bfcbe5249c32db29d4a6fa025452961605bfda2398ed18683b6c6af363ba&req=dScmH859nYlWWvMW1HO4za54saBvOIW9XDpzhlKsgjOUcbCc9Us%2BbSFBqPPj%0ARnz0JiRC6tcIYxIIfuU%3D%0A) Clicking the ghost icon will open an incognito chat, creating a temporary conversation that isn’t saved to your chat history. Claude won’t pull information from incognito chats when searching previous conversations. @@ -316,7 +316,7 @@ Each project has its own separate memory space and dedicated project summary, so You can toggle Claude's memory on by navigating to **Settings > Your Claude** (or **Settings > Capabilities** in the older Settings layout): -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730892/62f9f2b68d675a8e33393f06024f/89198978-192f-4c52-915d-5294b16f3fe1?expires=1793295900&signature=4aa35ff0eb3b368228f42df0748e5f4cacfb593eff9a6060cf234b31a70fe2df&req=dScmH859nYlWW%2FMW1HO4zTD5McLkfuFMBq9N9dRTKYeG3BlGIgW81rcO%2FHc0%0Az43AmLUCojqNau47fl8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730892/62f9f2b68d675a8e33393f06024f/89198978-192f-4c52-915d-5294b16f3fe1?expires=1793343600&signature=6b9403049568b94c142e1f99d3e8f7484cd2393a0227f914637a03551ee488bb&req=dScmH859nYlWW%2FMW1HO4zTD5McLlc%2BdDBq9N9dRTKYePdI9In6LRiO8ug85d%0AsOZ1m1Mz6Ew7tveRGWc%3D%0A) If you want to disable Claude’s memory, click the toggle to see two options: diff --git a/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md b/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md index 176f6a1cb4..351db0d8c3 100644 --- a/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md +++ b/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md @@ -2,7 +2,7 @@ If you see the following pop-up when you log in to your Claude account, you’ll need to click the “Verify now” button to verify your payment method: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1631413861/42c3b13d7fc44a11a88ec2b9cd03/AD_4nXeMx8QXpeZZCkfAnVSwx8KZ9n4Vr2rvPdQddyE6ZNxch__F6ZqFs1G4ZmU52Wvb7gRlwRqquTLdw8IQv-gICDyP-MXqiQK_Oe7gX3SKsCKKt2IEpMx4qDeMeeZufMaJfv16XgOH5g?expires=1793295900&signature=25ef3a5853b7fe468d87dcdbbd56afef33c8207539b2ffbe83081fe190f230b4&req=dSYkF81%2FnolZWPMW1HO4zf7%2BjUfs4YX7n6MrEicvimARZ%2BPS2MO1U6Hl40PW%0AsdSN5zfnsZOVmtiJeco%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1631413861/42c3b13d7fc44a11a88ec2b9cd03/AD_4nXeMx8QXpeZZCkfAnVSwx8KZ9n4Vr2rvPdQddyE6ZNxch__F6ZqFs1G4ZmU52Wvb7gRlwRqquTLdw8IQv-gICDyP-MXqiQK_Oe7gX3SKsCKKt2IEpMx4qDeMeeZufMaJfv16XgOH5g?expires=1793343600&signature=512df4f569dd203770c19423b7c82addfb5d4748d2355682f6fb2004bc75e9c7&req=dSYkF81%2FnolZWPMW1HO4zf7%2BjUft7IP0n6MrEicvimD51J%2F09E198qVT4nI7%0AIWpsGvd3KLEs%2FtxVzuI%3D%0A) ## What happens if I click “Remind me later?” diff --git a/content/support/11869629-use-claude-with-android-apps.md b/content/support/11869629-use-claude-with-android-apps.md index 136d05ee1c..ad5d19ef2d 100644 --- a/content/support/11869629-use-claude-with-android-apps.md +++ b/content/support/11869629-use-claude-with-android-apps.md @@ -222,7 +222,7 @@ Permission requirements vary by feature: For features requiring permissions (like location or calendar access), Claude will request permission contextually with clear explanations of why the access is needed. You’ll be prompted to approve the action with three options: Allow once, Always allow, or Don't allow. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1707351614/ccb910e4b87b1e96ad9a11bbd835/b57b2130-d8d6-4499-89f6-6c12de236fd4?expires=1793295900&signature=c0a830365d3c4447d4980ddecb75a2f9a4a56bd0d5440e3036c859d7b79e2684&req=dScnEcp7nIdeXfMW1HO4zQe5G1yN0iD9S5x65TIld%2FDNmvV0cf5OGfuCvuCT%0ATh6cJkEjqDS6syBVduk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1707351614/ccb910e4b87b1e96ad9a11bbd835/b57b2130-d8d6-4499-89f6-6c12de236fd4?expires=1793343600&signature=7b59fc61ba19d40296f1410b55c4c4a277d2a43ee1cc533db2839ea51106165b&req=dScnEcp7nIdeXfMW1HO4zQe5G1yM3ybyS5x65TIld%2FDHWSfGhmFmptpI0T%2B9%0AmSbk0xAjFmM9y4zwjDo%3D%0A) These permissions can be managed at any time in your device settings by going to Settings > Apps > Claude > Permissions. Click into each permission listed under **Allowed** and **Not allowed** to make changes. You can toggle between “Allow only while using the app” or “Ask every time” to change Claude’s access, or remove permissions by choosing “Don’t allow.” Claude will only request permissions if needed for specific features, and you can always choose to decline while still using other capabilities. diff --git a/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md b/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md index 672839e562..a9099b72c8 100644 --- a/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md +++ b/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md @@ -70,7 +70,7 @@ After navigating to **[Organization settings > Usage](https://claude.ai/admin-se The **Usage and spend limits** section will show the current limit (if any) or **Unlimited**. Clicking on "Adjust limit" opens a modal where you can either input an amount and click "Set spend limit," or click "Set to unlimited" to remove the organization-wide monthly spend limit. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149347604/936ac4eb025d3ef1f00c3b8a26b0/image.png?expires=1793295900&signature=31a79d4aec494570321fa06ed1980bd63efa9712321fe1d3a9fad60cc54a346f&req=diEjH8p6modfXfMW1HO4zQHwgqLVnyuv6DwhVVpk1mATC0vStVK%2BVM27SXV9%0AbFKi5lCxc9JZS0Rrcv8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149347604/936ac4eb025d3ef1f00c3b8a26b0/image.png?expires=1793343600&signature=feb3f4e9b58fba88a375a18806e8f743921e3963060bc04816609c41aa2a1bb1&req=diEjH8p6modfXfMW1HO4zQHwgqLUki2g6DwhVVpk1mCjJZSrdB5zD%2FKvsHS%2F%0A%2F3yTYCrseZAULXQQjkg%3D%0A) Changes to your organization’s overall spend limit go into effect immediately. @@ -78,11 +78,11 @@ Changes to your organization’s overall spend limit go into effect immediately. Owners and Primary Owners on **seat-based Enterprise plans only** can set spend limits that apply to all users within a specific seat tier. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149351600/c5b979c366ac2738f60ea84e85b3/CleanShot+2026-03-10+at+15_37_41%402x.png?expires=1793295900&signature=9eafc894f492e055fb86420a1d0cb7027b09902e252c22b2bb9539867b909d2b&req=diEjH8p7nIdfWfMW1HO4zYnqMYaWKnWA0wfO62ivdG9cEyuT8W1Vl8Cv%2BvmZ%0AXaPYUgG1FXMBrvOoQW0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149351600/c5b979c366ac2738f60ea84e85b3/CleanShot+2026-03-10+at+15_37_41%402x.png?expires=1793343600&signature=590d2847e2a895ae820d8f0d4bdbf54eb39d048395fec53622bf632d80428581&req=diEjH8p7nIdfWfMW1HO4zYnqMYaXJ3OP0wfO62ivdG9qmG80iagsUGROQdLz%0AkmJhtzDZS%2BRvvCLIEEA%3D%0A) Select the "By group" tab to see **Standard seats** and **Premium seats** groups. Click the "..." icon next to the current limit, then "Edit limit." This opens a modal where you can either select "Set dollar amount" and input an amount, or click "Unlimited" to remove the limit for that seat type. Click "Set limit" to save your changes. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149362056/44993661ca2db771fe924d0346f6/image.png?expires=1793295900&signature=2816ec4a47dc613df298f6ef450701c82a7f8eab6f8fff165b9b6de32f9e72c3&req=diEjH8p4n4FaX%2FMW1HO4zRzvvYYJeUhPq7nEDCGq9G58nb2l1qGhBe7aG8nB%0AQDSROKlOFaPnN2aWB5A%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149362056/44993661ca2db771fe924d0346f6/image.png?expires=1793343600&signature=00fc33117a06cba07d06fa96c94dc7857b1e7d07c045c37692d5cdac512b0638&req=diEjH8p4n4FaX%2FMW1HO4zRzvvYYIdE5Aq7nEDCGq9G6jyAg%2B1%2BfWsqAzBKLV%0A5Hy6rj7KoaLyjRHRVT4%3D%0A) --- @@ -90,11 +90,11 @@ Select the "By group" tab to see **Standard seats** and **Premium seats** groups Owners and Primary Owners can also set individual monthly spend limits for each member by finding **Spend limits by user** and clicking the "..." button next to the user, then "Edit limit." -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149370853/db66f5cd03683b9cc119d0dcd6b8/image.png?expires=1793295900&signature=a82cc9fd5767fe0992e5cda0dd42a30c2313f00ce4f764223178f9e388d8aecd&req=diEjH8p5nYlaWvMW1HO4zaPdGARVXCpPe9HwvwG7ubjFtI5COWZr6pQBGzqQ%0Aec7xAVFqW9y7mVJOswA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149370853/db66f5cd03683b9cc119d0dcd6b8/image.png?expires=1793343600&signature=f10149f6827dc941640d50755e3c92f4fc2fbff55cbb375790c522ebe14b8aa9&req=diEjH8p5nYlaWvMW1HO4zaPdGARUUSxAe9HwvwG7ubg9EyZslUhhoj5Xa76E%0Ak8IMAjpuk7F3M5%2FDxw8%3D%0A) Enter the amount and click "Set limit." Alternatively, selecting "Set to unlimited" will remove that member's monthly spend limit (they will still be subject to any organization or seat-level spend limits). -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149374028/97813fe3b515c2e839d8d92abd79/image.png?expires=1793295900&signature=67ccaf7bbca4e49de63578bbad5699de1d71882000a85c9aa610cd030073f59a&req=diEjH8p5mYFdUfMW1HO4zevsA%2FSIOu6Dw6z2wGSwkbuO5CpwjbLrtyH28Mp7%0A6sfwTKAS8bB%2BqdIAxwg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149374028/97813fe3b515c2e839d8d92abd79/image.png?expires=1793343600&signature=74238a323629198cabeb098998fb4fd6ad857c8d33ed00bba3c9def34acc9299&req=diEjH8p5mYFdUfMW1HO4zevsA%2FSJN%2BiMw6z2wGSwkbsRpPfDOX4onlMzqCSm%0A16NatE06GnsApEBG5BE%3D%0A) This allows owners fine control over usage credits, so you can set limits for different members based on their roles or individual needs. Once a user reaches their defined spend limit, this will automatically pause their usage credits until the end of the month. They will need to wait for their usage limits to reset before using Claude again. diff --git a/content/support/12012173-get-started-with-claude-in-chrome.md b/content/support/12012173-get-started-with-claude-in-chrome.md index a523a0c398..72682df40a 100644 --- a/content/support/12012173-get-started-with-claude-in-chrome.md +++ b/content/support/12012173-get-started-with-claude-in-chrome.md @@ -40,7 +40,7 @@ Follow these steps to connect Claude in Chrome in your desktop app: 4. Toggle the connector on, then download and install the extension if you haven’t already. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2604933811/ae37c41fc808dbdf48d135338334/6cc9ba4b-9d31-43a2-ab80-8048b5f9d791?expires=1793295000&signature=fd5233147bd7d0b78f98b199a36958a1c07fad42833e70d6b69e29ab78b35858&req=diYnEsB9noleWPMW1HO4zUOPbf%2FEn%2BeNnt%2F2nPMwUPgBGPaZ84EDWtwarK7e%0AHd84zPGvgNIZTUI5UG0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2604933811/ae37c41fc808dbdf48d135338334/6cc9ba4b-9d31-43a2-ab80-8048b5f9d791?expires=1793343600&signature=971057d9fbce60d00715b8dfd51861ccaa7e9177b08a3e3ca283b3794068c74f&req=diYnEsB9noleWPMW1HO4zUOPbf%2FFkuGLnt%2F2nPMwUPjK6q%2FzvPIXAGaO%2FPs4%0ACe3btLBTSWLBiNwzotQ%3D%0A) Completing these steps will add Claude in Chrome to the “Connectors” drop-down on your chats with Claude. This is disabled by default, so you’ll need to enable it manually for each conversation. diff --git a/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md b/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md index 9139f7a3b0..a47085f75c 100644 --- a/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md +++ b/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md @@ -8,11 +8,11 @@ Owners and Primary Owners of Team plans with monthly subscriptions can switch fr 3. Or from /upgrade, click the “Switch to Annual plan” button: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690325734/d47f714680d78408d6022d06b8d1/image.png?expires=1793394000&signature=2118f5b5673a17da5dd2f9449733444ae51593c05f0a166344df3577bbbd7223&req=dSYuFsp8mIZcXfMW3Hu4gZzas%2FXsujxbmWrRiVwqPzZv4DWqZASidBDncuou%0Agg%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690325734/d47f714680d78408d6022d06b8d1/image.png?expires=1793448000&signature=07a1417b829044d7db78cb010c9d7423e2e67ae046f6ce2664256e44f34eeed8&req=dSYuFsp8mIZcXfMW3Hu4gZzas%2FXsujtWlWrRiVwqPzZyZMjbIRXTyA3BeNzh%0Agg%3D%3D%0A) 4. The confirmation screen will display the total cost for your upgrade from monthly to annual billing: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690326039/3a91cdc5fff57d188a18ecc6273f/image.png?expires=1793394000&signature=aa5fd902a64d58e95fa7098df1c9c67d6db6072d9fd1d6fcf66224fc5c9145ff&req=dSYuFsp8m4FcUPMW3Hu4gbNj%2Bk79Xw7oj%2B5vzcg6znXKfRaJKoP6irh5aLkW%0AdA%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690326039/3a91cdc5fff57d188a18ecc6273f/image.png?expires=1793448000&signature=d57120474102c4c17c90ffb6bd71620255e82d1dde27ce8e672e2b6034ee636a&req=dSYuFsp8m4FcUPMW3Hu4gbNj%2Bk79Xwnlg%2B5vzcg6znW%2Fl9FTgdf%2F9IWwa01o%0AOg%3D%3D%0A) 5. Click “Confirm subscription.” diff --git a/content/support/12111783-create-and-edit-files-with-claude.md b/content/support/12111783-create-and-edit-files-with-claude.md index 3f63fd7b2b..5d8585259a 100644 --- a/content/support/12111783-create-and-edit-files-with-claude.md +++ b/content/support/12111783-create-and-edit-files-with-claude.md @@ -48,7 +48,7 @@ These capabilities make it easy to produce professional documents by simply chat To give Claude access to external data sources, toggle **Allow network egress** on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2054774005/25bcfffba6c249cd128d6c3f6d52/CleanShot+2026-02-11+at+16_34_47%402x.png?expires=1793295900&signature=1600343b1ada0990557d1ccc278792f2ebc906f3e23b5a3960d8e5c4e45b89d3&req=diAiEs55mYFfXPMW1HO4zYFJyg5HBZzHPQVowIiib2mME8ok5ltTBGtf7i%2BJ%0A7fEETckYzq4OpAsW1DI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2054774005/25bcfffba6c249cd128d6c3f6d52/CleanShot+2026-02-11+at+16_34_47%402x.png?expires=1793343600&signature=ed1554ffe9daf8d667111a42aa70721f606016dbe261947589e5cc71bcc7c7bc&req=diAiEs55mYFfXPMW1HO4zYFJyg5GCJrIPQVowIiib2lMVSuo9ZOzRGItQoOy%0AKxZ2yuh45fj3B8D9q1U%3D%0A) ### Enabling on Claude Mobile @@ -66,11 +66,11 @@ Team and Enterprise organization owners can control network access settings in * - **Allow network egress to package managers and specific domains:** Claude can access package managers plus additional domains you specify. Add domains individually to whitelist specific resources your organization needs: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945362/ad72504d5429960f369b8b91b43c/86f06c0e-6eaa-4574-a4cb-2c38b273613a?expires=1793295900&signature=b9d085bca7286fc1c531db10e679e3382a8ee6e5cf24f439474f5a7a7fbbf331&req=dScvH8B6mIJZW%2FMW1HO4zXJcB25BnCxCpMW6Iph6YZdO9X0czkxlr%2FtqvYUh%0AHc7Jpc5NXPrfknGO9Zs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945362/ad72504d5429960f369b8b91b43c/86f06c0e-6eaa-4574-a4cb-2c38b273613a?expires=1793343600&signature=1cc9499c62e9fc6cc1c824aa9d2e31d83165b818faed4fe4510e9127b21493df&req=dScvH8B6mIJZW%2FMW1HO4zXJcB25AkSpNpMW6Iph6YZfGdRwsSCV5j%2FBS29Lx%0A1ZnL%2FNj98FpMrwXsh4c%3D%0A) **All domains:** Claude has full internet access except for domains on Anthropic's legal blocklist. While this provides maximum flexibility for file creation and analysis tasks, it’s also the riskiest option. Please review the **[security considerations below](#h_0ee9d698a1)** before enabling “All domains”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945361/e3188cb8edb9ca7c303615da6378/f1c99a7d-5956-48d5-9ec7-b7ae6c8c3d28?expires=1793295900&signature=9156c0d9f96e9422f9458889f461ffbd8cc694b820ee3434cec80d8636499a6c&req=dScvH8B6mIJZWPMW1HO4zdnseReQ5zqrqgKIA6CM1tq2w6%2FO2ZI3Fm1Nx7xB%0Azs%2BHipant9riL3kAMLU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945361/e3188cb8edb9ca7c303615da6378/f1c99a7d-5956-48d5-9ec7-b7ae6c8c3d28?expires=1793343600&signature=9c5e1c9f09674a19d3acb631cdb4b52615c89b847925520f827df2bb7761cf17&req=dScvH8B6mIJZWPMW1HO4zdnseReR6jykqgKIA6CM1to4UtflFIJNx7OAGKht%0AqlEbkPOuY2QXNz6GhVE%3D%0A) --- diff --git a/content/support/12157520-claude-code-usage-analytics.md b/content/support/12157520-claude-code-usage-analytics.md index c470ca8a46..47081c0e1a 100644 --- a/content/support/12157520-claude-code-usage-analytics.md +++ b/content/support/12157520-claude-code-usage-analytics.md @@ -46,7 +46,7 @@ The **Usage** tab displays the following metrics for your organization. Data on - **Top commands**: The Claude Code commands used most often across your organization. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1717579277/46c512f4b3ed05c359cecd78ed5c/e0ce2c19-39e2-411f-9a1f-cb1d46439a42?expires=1793295900&signature=9db765c5c97e06a5e62d87e092ba0c60e91cb9feb4ddf78c5349b94bdf4ea1c2&req=dScmEcx5lINYXvMW1HO4zfiEPqVShnzHCX9h5MbdDjOp2sbcNR1ntqcrQl%2Fp%0AYN4HFXJ54DoWAYoZ%2FtQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1717579277/46c512f4b3ed05c359cecd78ed5c/e0ce2c19-39e2-411f-9a1f-cb1d46439a42?expires=1793343600&signature=d20461d255059cb63f9c511dcbbd76738f4c4ed59460ee192228377509e332a2&req=dScmEcx5lINYXvMW1HO4zfiEPqVTi3rICX9h5MbdDjPndjUCY0%2FZSxwxRqR6%0AXoLHSky5DAOyAe1Qglk%3D%0A) ### User-level metrics diff --git a/content/support/12260368-use-incognito-chats.md b/content/support/12260368-use-incognito-chats.md index a4de294958..291ad33604 100644 --- a/content/support/12260368-use-incognito-chats.md +++ b/content/support/12260368-use-incognito-chats.md @@ -34,7 +34,7 @@ These differ from regular chats in several ways: When starting a new chat with Claude outside of a project, you'll see a ghost icon in the upper right corner of your screen: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719768744/c7a2fa56cf284e48472f3b9c4dbf/030563f8-9f97-4891-a749-9ae95968a063?expires=1793295900&signature=ed07ab169564726d8f0edad915daa86859d670dc806e50b9d3c17bc466774501&req=dScmH854lYZbXfMW1HO4zeUcugG%2FZ%2BCCDCAt3Cx%2FSO0elFhJBIMYfLNbY5Q0%0AHzB9d9cSiDGrxyTFlc4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719768744/c7a2fa56cf284e48472f3b9c4dbf/030563f8-9f97-4891-a749-9ae95968a063?expires=1793343600&signature=d9f3e3ffa6ad4a19503e1a74d87ae9fe22327df921774084bb31aee1ec199ca8&req=dScmH854lYZbXfMW1HO4zeUcugG%2BauaNDCAt3Cx%2FSO26BsAK4pIT7B7tgAu0%0A%2FKxKLtMqxFQJd9UvDtM%3D%0A) 1. Click the ghost icon to enable incognito mode. diff --git a/content/support/12293051-use-claude-in-xcode.md b/content/support/12293051-use-claude-in-xcode.md index c88d2e046c..e933841b53 100644 --- a/content/support/12293051-use-claude-in-xcode.md +++ b/content/support/12293051-use-claude-in-xcode.md @@ -34,7 +34,7 @@ To start using Claude in Xcode: 3. Log in with your Claude account. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1727371585/b18ca03a6357c52d12d10386f28e/dab2dcb2-f670-4173-b77d-38767a34cec1?expires=1793295900&signature=dbe1410f28e0cbbeb5901fe2bf89c91e53379ad3a9508a2c4cc47d471d467820&req=dSclEcp5nIRXXPMW1HO4zUAXIs8AW63dFalhp3bugHK0sxNeN9hug9yBP8mv%0Aqk1rWOoFhL9eQKni%2Fvc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1727371585/b18ca03a6357c52d12d10386f28e/dab2dcb2-f670-4173-b77d-38767a34cec1?expires=1793343600&signature=4bd098df87ce5daa82bf0c5f34c802d76a7c4420366bfc3c6b937d5c30368db0&req=dSclEcp5nIRXXPMW1HO4zUAXIs8BVqvSFalhp3bugHLoM2MKPoKmgzMPjnbO%0A00116tj%2FKTAC5I1KlVc%3D%0A) ## Usage limits diff --git a/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md b/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md index 5be865bbfa..608ee98510 100644 --- a/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md +++ b/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md @@ -50,7 +50,7 @@ To enable usage credits on your paid Claude plan: 8. You can also enable auto-reload to automatically make a purchase when your balance falls below a threshold you set: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1805819785/5e203c38e6ba3f76bfd1dab0d5ce/fe062e7c-18cb-48cc-a7e2-754ac6e6c4be?expires=1793295900&signature=3600d714db2fae7e70c41fee4884fb017fee18459da4fe46e5f5d2a8e8028a7f&req=dSgnE8F%2FlIZXXPMW1HO4zYj2ABGbrPUxopE7m38YdfeFklzYDVoMmLF9DWwI%0AAJsIO8AzBllj5H1kQZw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1805819785/5e203c38e6ba3f76bfd1dab0d5ce/fe062e7c-18cb-48cc-a7e2-754ac6e6c4be?expires=1793343600&signature=fe27e2c01019875eee3950112ffe164be5b50f0034cb5ab559146c81cd2b8cc6&req=dSgnE8F%2FlIZXXPMW1HO4zYj2ABGaofM%2BopE7m38Ydfc3ByUID3bdvmQci7Xk%0ActU265uH0maNBUaQwCA%3D%0A) --- diff --git a/content/support/12466728-troubleshoot-claude-error-messages.md b/content/support/12466728-troubleshoot-claude-error-messages.md index f88de03cc6..9e8642d294 100644 --- a/content/support/12466728-troubleshoot-claude-error-messages.md +++ b/content/support/12466728-troubleshoot-claude-error-messages.md @@ -60,4 +60,4 @@ Capacity issues will not appear on our status page because they represent normal Service incidents are disruptions where Claude is unavailable or significantly degraded for all or most users. These represent actual technical problems with our systems. To check for confirmed incidents, visit status.claude.com, where you'll find real-time updates on scope, impact, and resolution progress for any active incidents. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1753796247/e6a8c6ef8653b229c5758e881242/c2fc6fc0-d163-4119-93e0-394104d86bc9?expires=1793295900&signature=30e07b58757be21b3f468060418b33fa0a0c82cd0d86c358214b285cf1dfa351&req=dSciFc53m4NbXvMW1HO4za4BX6wh27fN7y68oYp%2BYg8%2FqMCPtk%2Foc%2B4itxAR%0An9%2BqBPqQNxr%2BkSE7OiE%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1753796247/e6a8c6ef8653b229c5758e881242/c2fc6fc0-d163-4119-93e0-394104d86bc9?expires=1793343600&signature=bea4646a43322e99266cb2d00a5f0e240a3b56bfe43edde6b3501d3ac9d7e92d&req=dSciFc53m4NbXvMW1HO4za4BX6wg1rHC7y68oYp%2BYg%2FD5b1PqM5%2FQTKAa%2FbG%0AJ%2FFPrkyJ8o3kdeSjyos%3D%0A) \ No newline at end of file diff --git a/content/support/12512180-use-skills-in-claude.md b/content/support/12512180-use-skills-in-claude.md index 94ae4d185c..42814ad6d7 100644 --- a/content/support/12512180-use-skills-in-claude.md +++ b/content/support/12512180-use-skills-in-claude.md @@ -202,7 +202,7 @@ To remove a custom skill you've uploaded: 4. To delete the custom skill entirely, click the "..." button next to the toggle, then select "Delete": - ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2105391273/8359cbf8be20dce0f1cd3fd40e6f/CleanShot-2B2026-02-25-2Bat-2B15_50_16.png?expires=1793295900&signature=cb7ffe1c8d007ae47eeb0b6cf46926dc6309d0e96542bf3265375fb28445bd84&req=diEnE8p3nINYWvMW1HO4zSOgDigqy%2BOkH%2BdCnFXB0ujFULz4o%2BmKh6mcZi1K%0AlATH%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2105391273/8359cbf8be20dce0f1cd3fd40e6f/CleanShot-2B2026-02-25-2Bat-2B15_50_16.png?expires=1793343600&signature=a88206d8517827617410829fa02e66fde9cd42776fd79f66f1ca73508ac9d0f1&req=diEnE8p3nINYWvMW1HO4zSOgDigrxuWrH%2BdCnFXB0uhC%2FTb76NthOX8ztA84%0AH26l%0A) 5. Click "Delete" in the confirmation prompt. diff --git a/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md b/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md index 523dd48c7f..079c4e68a0 100644 --- a/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md +++ b/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md @@ -20,11 +20,11 @@ The desktop extension allowlist is disabled by default, so an organization Owner 4. Switch to the "Desktop" tab: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755172/63c92550571842577ad435860ec5/6f5cc4e1-ff7d-48de-863a-c4e6184d4605?expires=1793295900&signature=a5c24d465e370d35abcd900b1d9e13e7fe86df2fa6da72a7eee3800382bed0b8&req=dScvF857mIBYW%2FMW1HO4zQ9pXEkI9nXS0ugSQm1MFW8h6nfg1kMC4ZGCYK1k%0Aiy4Z%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755172/63c92550571842577ad435860ec5/6f5cc4e1-ff7d-48de-863a-c4e6184d4605?expires=1793343600&signature=a1fb3e6c74e71ef81bb456f23be301c550deb788a3d0ccf77d9f3f747cc6f9e1&req=dScvF857mIBYW%2FMW1HO4zQ9pXEkJ%2B3Pd0ugSQm1MFW%2F6rq%2FPH0fGSxIuuBW%2F%0AYpt9%0A) 5. Toggle **Allowlist** on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755578/a6bafff5f084dc86ae463703fd3d/6cf0ee18-4e71-4129-98e8-cc08174e3c3a?expires=1793295900&signature=de13e02bcbcdc67ed9ed3e041fddb5ca13bd1a692c7f339ff3ae0740080b6263&req=dScvF857mIRYUfMW1HO4zaj0BXIpQKINTAorLxpdoc%2Byyuu%2BVcCwHVDXJM7G%0A4ZaX%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755578/a6bafff5f084dc86ae463703fd3d/6cf0ee18-4e71-4129-98e8-cc08174e3c3a?expires=1793343600&signature=c2e5aeaf69db11666ed6f395e20269de6113dab13277ae6745595f55d7d315f3&req=dScvF857mIRYUfMW1HO4zaj0BXIoTaQCTAorLxpdoc%2BFwLYGmkfOmg%2BkfkWS%0AEVcX%0A) ## What happens after enabling the allowlist? @@ -42,7 +42,7 @@ Consider completing the allowlist setup during off-hours to minimize disruption **Important:** The allowlist requires Claude Desktop version 0.13.91 or higher, so users should update the desktop app by clicking “Claude”, then either “Check for updates” or “Restart to update to Claude 0.13.91”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781756960/ad18af50c83d35f2673656c23e00/a7ee450f-0c7d-42d6-a75f-fb1bc088cb52?expires=1793295900&signature=1bca0431d0d49764606d9622204b188469efb491f554b70c3922965b477cc0b8&req=dScvF857m4hZWfMW1HO4zYUJqICoAzfiCEDZ5AdBjIYoJ4uXR34irnCRt73W%0A7c0L3CsQxbmiWBdNiB8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781756960/ad18af50c83d35f2673656c23e00/a7ee450f-0c7d-42d6-a75f-fb1bc088cb52?expires=1793343600&signature=79f08afd9bb157e79c48d1b2508dee06efc95f8064950a41befb20457ecb1847&req=dScvF857m4hZWfMW1HO4zYUJqICpDjHtCEDZ5AdBjIYvN1oHsR6akCLUrju3%0ApyBXvnAv8qoorZN6lGI%3D%0A) ## Managing allowed extensions @@ -60,7 +60,7 @@ After enabling the allowlist, you can choose which extensions to allow: If you want to remove an extension from the allowlist, click the “...” button and “Remove from allowlist.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781751250/6558c0f59aea7976bd44b0213d76/e750f02b-cd0d-437e-a83f-9ac362cdf456?expires=1793295900&signature=4e0fcc833be44d2cb4f765cc435f6115a6e5834bea76ca999ce66dd9171bd7c9&req=dScvF857nINaWfMW1HO4zTrxBKsr9lKcqXridZhfx1IHK%2BPoK%2FsnpKBIIRnC%0A9%2Fw3hJP0VceadmOWy3U%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781751250/6558c0f59aea7976bd44b0213d76/e750f02b-cd0d-437e-a83f-9ac362cdf456?expires=1793343600&signature=05c79aba002eb7968088d74efb9c89013a537625ece35c2dc67bf415e322443e&req=dScvF857nINaWfMW1HO4zTrxBKsq%2B1STqXridZhfx1I1kb0YhimwlaWaxcm8%0AveAu7c0y8TIFdkirEAw%3D%0A) ## Uploading custom extensions diff --git a/content/support/12618689-use-claude-code-in-the-cloud.md b/content/support/12618689-use-claude-code-in-the-cloud.md index 4adec6a34b..1d88d592bb 100644 --- a/content/support/12618689-use-claude-code-in-the-cloud.md +++ b/content/support/12618689-use-claude-code-in-the-cloud.md @@ -10,7 +10,7 @@ This feature works with repositories you may not have on your local machine. You Cloud sessions enable asynchronous development workflows. In a local session in your terminal or editor, you typically work synchronously: you make a request, wait for Claude to respond, review the changes, then make another request. Synchronous work like this gives you fine-grained control but requires your attention throughout the process. A cloud session handles this differently: you can assign a larger task, let Claude work independently, and return later to review the completed work. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446157/07ec74cd46317f8278083a317841/6448f3ee-c6df-4417-8a13-90d8c2ca3d55?expires=1793295900&signature=00560c3a65c8e8f27b52e8fb374b2e3544e7289a8181fe7bb972aa63fb056a68&req=dScvEM16m4BaXvMW1HO4zR8%2BAVCCS5h%2F7XrRA1YwWGuaQKAmHD1R9gycGAd9%0As5YXc%2FrFrlDwBxAQohQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446157/07ec74cd46317f8278083a317841/6448f3ee-c6df-4417-8a13-90d8c2ca3d55?expires=1793343600&signature=3f8f35687232f11df1be4e3bdef2dbe975001b2447604bd5e8d59717c64c26b6&req=dScvEM16m4BaXvMW1HO4zR8%2BAVCDRp5w7XrRA1YwWGssDTsS0UInOjsN94y8%0AZ%2Bc2p3w0HSVF3UXw80g%3D%0A) You can also run multiple tasks in parallel. Since each task runs in its own isolated environment, you can have Claude working on several different issues or repositories simultaneously. Each task proceeds independently and creates its own pull request when complete. More than one task can work on the same repository at the same time. @@ -20,13 +20,13 @@ You can also run multiple tasks in parallel. Since each task runs in its own iso When you start a cloud session, Claude Code creates an isolated virtual machine for your work. Your GitHub repository is cloned into this environment, which comes pre-configured with common development tools and language ecosystems. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446158/c092f1383826cb871493f74169d4/97b7cb98-5da2-438e-a920-e170b8b9790e?expires=1793295900&signature=b6536df8ec7df0296dbaa2cd31f98fc920a29da944d243855f90ebe44f3a5565&req=dScvEM16m4BaUfMW1HO4zcR0rJU2huzJ7DtpMiX%2FBYnAqVDvPeVp%2BIDT9Gp%2B%0AJkhbrffgkBkPf%2FXdipY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446158/c092f1383826cb871493f74169d4/97b7cb98-5da2-438e-a920-e170b8b9790e?expires=1793343600&signature=811fdeb542384dd43b50c884448b9aec5c94859211e27e1f6acfa760107bfa85&req=dScvEM16m4BaUfMW1HO4zcR0rJU3i%2BrG7DtpMiX%2FBYnlFfqHDy2KqgdBr6Cu%0ANAMpHsUTvt0HHcsH9PY%3D%0A) Claude prepares the environment by running any setup commands you've defined in your repository's configuration. This includes installing dependencies, setting up databases, or running other initialization steps your project needs. If your task requires network access, maybe to install packages or fetch data, you can configure the level of internet access the environment has. Once the environment is ready, Claude begins working on your task. Claude reads your code, makes changes, writes tests, and runs commands to verify the work. You can monitor progress and provide guidance through the web interface if needed. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446156/83ecf0a5b98eddc9ffc9694c50f7/353589ce-b678-441d-8909-71b45fa2d065?expires=1793295900&signature=d23a4d8e32aa1636ca661d77c42e49988b7bb3572b7ffbe0729aabb06fff0e6a&req=dScvEM16m4BaX%2FMW1HO4zVbcTWCB6sHHUQl3YqgIJdZu7Z%2B679bF%2F9kqjVLD%0AFa%2BVw1tcWQIRqvGA1oA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446156/83ecf0a5b98eddc9ffc9694c50f7/353589ce-b678-441d-8909-71b45fa2d065?expires=1793343600&signature=d727946eeec4a3243640f33f0941cf193c9e44c993cf10a48e1d0acccfb81556&req=dScvEM16m4BaX%2FMW1HO4zVbcTWCA58fIUQl3YqgIJdaTPaQCDp9Xb2FztYxJ%0AuuCyurlrv0%2B38cYi5r0%3D%0A) When Claude completes the task, it pushes the changes to a new branch in your GitHub repository. You receive a notification and can review the changes, then create a pull request directly from the interface. The pull request includes all of Claude's work, ready for your review and any additional changes you want to make. diff --git a/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md b/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md index 0ab4f1e5ca..3536425119 100644 --- a/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md +++ b/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md @@ -40,7 +40,7 @@ When you first open the updated version of Claude Desktop, you'll see a prompt t Once enabled, double-tapping Option will open a text box where you can type your message and start a new chat. You can also click "New chat" to see your five most recent conversations. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893088365/2ca4b782dda90abea1fe5f4150af/CleanShot+2025-12-18+at+13_14_30%402x.png?expires=1793295900&signature=9c5330a8dfcc1d7a1821afa68b625e11663108398e9373e9832346421674f265&req=dSguFcl2lYJZXPMW1HO4zWggDt1Tr5mTRC8c%2FcM5c2LnrQxfkZ5HC%2B%2FoSi4Z%0A6m%2BxTPAUYOXpx4i%2FX5Y%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893088365/2ca4b782dda90abea1fe5f4150af/CleanShot+2025-12-18+at+13_14_30%402x.png?expires=1793343600&signature=5773b152c84c4ae9fe0cab577d93b06a962927aa3773bd4bc74a6d2776b9e97c&req=dSguFcl2lYJZXPMW1HO4zWggDt1Sop%2BcRC8c%2FcM5c2KsUkv3yGC0g4jjPRa1%0Az3N4kqDtZp9%2FioJTvWA%3D%0A) ### Enable the voice shortcut (optional) diff --git a/content/support/12883420-view-usage-analytics-for-team-and-enterprise-plans.md b/content/support/12883420-view-usage-analytics-for-team-and-enterprise-plans.md index 0307492b1b..8a74ecf144 100644 --- a/content/support/12883420-view-usage-analytics-for-team-and-enterprise-plans.md +++ b/content/support/12883420-view-usage-analytics-for-team-and-enterprise-plans.md @@ -22,7 +22,7 @@ This page includes the following analytics: - Sessions in Cowork -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515895966/9f231a620f47d49e0ee648152189/848c1787-4eaa-4809-8fd2-1dbe2722560f?expires=1793295900&signature=8c6e8dafc5293732c703df3b697eb8fcbb973ab6bdee0e4cf063b4b551e3a230&req=diUmE8F3mIhZX%2FMW1HO4zZL6wKVwkoB4ExEG4dCAGDbYHJSQVEUVWRcITbKS%0AbxkC5t9holrDctv0yUQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515895966/9f231a620f47d49e0ee648152189/848c1787-4eaa-4809-8fd2-1dbe2722560f?expires=1793343600&signature=7db9d6b56e831d5be37fb35ed996c238e8ac7172af8830edc37739d327f48dfd&req=diUmE8F3mIhZX%2FMW1HO4zZL6wKVxn4Z3ExEG4dCAGDaK3cx4UfsMcV4vBrMh%0AqetKk8Lls2SSzA51EDc%3D%0A) ### Who’s using Claude? @@ -34,7 +34,7 @@ This page includes the following analytics: Use the dropdown on the **Active members and assigned seats** chart to filter by product, including Claude Design. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896351/4d955858e6662c37489cc1470871/457cf159-8c2a-4403-ba22-cb92cb47e459?expires=1793295900&signature=543a5224ebbc521ec4f2d4cdd927443816fe6ef5ac9417a909f219283083ca4f&req=diUmE8F3m4JaWPMW1HO4zYEqezSrS5WmYqPRsgaNdTwZ8erVDMAPKhSm5xe6%0ACycWi7XzOYIvC1l5Kzc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896351/4d955858e6662c37489cc1470871/457cf159-8c2a-4403-ba22-cb92cb47e459?expires=1793343600&signature=b518d5cb548e99b20f3c337fded185d7a29a8cae39e9135c7ce27c61735d296c&req=diUmE8F3m4JaWPMW1HO4zYEqezSqRpOpYqPRsgaNdTzb3IqNz8uz8oI2JT1r%0AqlnfVFucu1jaKJP2P2o%3D%0A) ### How are they using Claude? @@ -48,9 +48,9 @@ Use the dropdown on the **Active members and assigned seats** chart to filter by - How agentic is their work? (beta) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2583875713/e3cb3c329f3b643cb9a3809876b3/image.png?expires=1793295900&signature=c6f5eafcf03c943bfc8e6d62c364f6bf403714edf6afb66b33583bf97372224e&req=diUvFcF5mIZeWvMW1HO4zciS3Kvrk7tiDFD6TO7tG4juRZAltzXKXsUSLqyR%0ATQ8FyCd2MxdsamGAUrQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2583875713/e3cb3c329f3b643cb9a3809876b3/image.png?expires=1793343600&signature=6b3e233d390e2fdabf44a1d26c4ecdb0492ff8b4d8752f2fbab51b04db2f2615&req=diUvFcF5mIZeWvMW1HO4zciS3Kvqnr1tDFD6TO7tG4jmYhO%2F1s9R%2Fdoo%2BAyE%0AhHH3%2F1CyPFN8GcoUHzI%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896563/abf008596ce5501297a609696362/fce5423c-4769-4b73-9a0a-c50f6407ebea?expires=1793295900&signature=265b2f48e5c0fd6f6fbdf0ba2b2cecd8222d5180f0cf524cd8042e2da8ad16fa&req=diUmE8F3m4RZWvMW1HO4zR%2BID4RstPL%2BLS3kobW3ZgQg%2B3xe0pdFdWwa8JEv%0AUhTqt%2BmyN9d66UMVqVc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896563/abf008596ce5501297a609696362/fce5423c-4769-4b73-9a0a-c50f6407ebea?expires=1793343600&signature=5422363a603009051788ebd626d63fa715a7328e04a6b3c2b089dae9d9ac89d9&req=diUmE8F3m4RZWvMW1HO4zR%2BID4RtufTxLS3kobW3ZgTKp1eHQDpeKdPPOtdX%0Abe8a%2F1flt8E5THqfRxk%3D%0A) ### What are the results? @@ -66,7 +66,7 @@ Use the dropdown on the **Active members and assigned seats** chart to filter by - Estimated time saved -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896943/dd415f03afe56ca38308ef987f86/189e8ebc-5594-4f4b-bd84-e3c11c824d5b?expires=1793295900&signature=5b7f73a59119f2efc5a8475a4c6ebd8bfa02cf4bc92f5a3561f839e483536262&req=diUmE8F3m4hbWvMW1HO4zfJThSc9oNlPiovaLYNN7RnoyUb9zrifH418zz6m%0Af9XO9iryU9nbg9N8sY0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896943/dd415f03afe56ca38308ef987f86/189e8ebc-5594-4f4b-bd84-e3c11c824d5b?expires=1793343600&signature=8d3df17e87a458ec126518c663432098eb1c4429cfb27086ed2daca5cb744dd6&req=diUmE8F3m4hbWvMW1HO4zfJThSc8rd9AiovaLYNN7Rn47m4aAK7DebKwnz0u%0Au89VuHI2ZNrdc652jxc%3D%0A) ### How much is Claude costing? @@ -82,9 +82,9 @@ This section includes the following analytics: - Spend by model (month-to-date, quarter-to-date, year-to-date, 1 year) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896942/b403f2d216fc40b5195911020b8e/446b99f1-3187-4b79-b2be-9f17b1632ff8?expires=1793295900&signature=00f5b2899d6eba9d4fc5b6c6ec2dbeb20136cdff010e6cfad5f9d63a269a3054&req=diUmE8F3m4hbW%2FMW1HO4zYE%2BQt0A5TTUWbBLGZ4vBJVkps5YQsYGYLqw%2FqHO%0ATe1uQGGapPkFbo6ut3k%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896942/b403f2d216fc40b5195911020b8e/446b99f1-3187-4b79-b2be-9f17b1632ff8?expires=1793343600&signature=f0c7f0cad1901ea947afeb08afe90d039f1b8547800720ac381b8dc358bea244&req=diUmE8F3m4hbW%2FMW1HO4zYE%2BQt0B6DLbWbBLGZ4vBJXlwOmObn9DMGMbXHKs%0Az%2F%2FSEAMVulENeZvClz4%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896941/2239ce38639df339b24d5af1cb50/f829bc2a-ee52-4135-9b13-09ef1b7d66d6?expires=1793295900&signature=6196db1ee16d3cc976957a83d58a7aadba015616063d8c55fc5cd7cef7affb20&req=diUmE8F3m4hbWPMW1HO4zTz0N%2BkALsxZC%2BtvTPa1I7FqYULSxOEp7VH9WSVO%0AfC8%2FyFNB0dO53rV%2Bkuk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896941/2239ce38639df339b24d5af1cb50/f829bc2a-ee52-4135-9b13-09ef1b7d66d6?expires=1793343600&signature=860f639cd6bd7cd75fc643213a2a6656f27cfab3044a071890ba912016494e43&req=diUmE8F3m4hbWPMW1HO4zTz0N%2BkBI8pWC%2BtvTPa1I7Gn2OOccRONGZTdZYCX%0A8CTDP2%2FtggyOtBCl%2BLE%3D%0A) **Note:** For a view of how spend limits are affecting your organization, you can also check the **Blocked by a spend limit** section at the top of **[Organization settings > Usage](https://claude.ai/admin-settings/usage)**. **Blocked by a spend limit** is built for usage-based Enterprise plans. Orgs without usage-based seats only see how many members are blocked or near their limit right now. Learn more about **[monitoring usage and spend on Enterprise plans](https://support.claude.com/en/articles/11526368-how-am-i-billed-for-my-enterprise-plan#h_ae17ec8236)**. @@ -162,7 +162,7 @@ Navigate to **[Analytics > Claude Chat](https://claude.ai/analytics/usage)** to - Top members by chats -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515898793/405db0c492da11886c28a2b82731/71a55afc-1cef-4c50-b7e1-86775cb9a168?expires=1793295900&signature=6bd5401cc3da6df1926408282cda40d11df0fdb60b8526439cf9ca68acaee71f&req=diUmE8F3lYZWWvMW1HO4zbhc8P6eaOEoTcfMEUwBBiUxQ9wyeVqnJWf98cs3%0Ays7Mf5jNJ8POjFHlznQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515898793/405db0c492da11886c28a2b82731/71a55afc-1cef-4c50-b7e1-86775cb9a168?expires=1793343600&signature=8132ad7e740cfac8b8a62233f190d9d0d0929dda6b453ed2ea5df88b75ebe95a&req=diUmE8F3lYZWWvMW1HO4zbhc8P6fZecnTcfMEUwBBiUY3y8SM65Bhxr%2F7hAt%0A0GSlabzpPgs3R9FDLGg%3D%0A) ### Projects @@ -174,7 +174,7 @@ Navigate to **[Analytics > Claude Chat](https://claude.ai/analytics/usage)** to - Top members by project usage -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515899610/91d93108f0767e795fb9e488e882/71607d6d-dff1-4a13-a445-aa1d79850eed?expires=1793295900&signature=0f1c63060f16702cf789d123513c3cc3a6041125ac564f0672762c65b16adacf&req=diUmE8F3lIdeWfMW1HO4zWhGoD%2BbkiarExu5cYiHHN%2BxPHQKW0oJJOLvtmez%0A4XoIudaP87Esjjl%2BTkY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515899610/91d93108f0767e795fb9e488e882/71607d6d-dff1-4a13-a445-aa1d79850eed?expires=1793343600&signature=3934555344d18998351d630753ef2677c72cbcb9203e9e75bbc85cf46b0f2270&req=diUmE8F3lIdeWfMW1HO4zWhGoD%2BanyCkExu5cYiHHN9TzyC76BrLeods3uIS%0AxGWZB1f%2BELPicGhBBiA%3D%0A) ### Artifacts @@ -184,7 +184,7 @@ Navigate to **[Analytics > Claude Chat](https://claude.ai/analytics/usage)** to - Top 10 users by artifacts generated (month-to-date, quarter-to-date, year-to-date, 1 year) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515899838/33d737f2357d6e485704669962ae/43faadc3-47da-4a93-bbb7-47a7983e7441?expires=1793295900&signature=cb208ffa3ed8286f21bcbbde604d4416d40a36fc1172513fd4f3d0a35933931c&req=diUmE8F3lIlcUfMW1HO4zcSk47nQd%2BvJjHDogqK0V%2BwrVN%2Bm%2Fy7JA1%2BXgg%2BS%0Auxd8oPJlJN5LPPl3eL4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515899838/33d737f2357d6e485704669962ae/43faadc3-47da-4a93-bbb7-47a7983e7441?expires=1793343600&signature=87bdc3eae65014a1f563d3221f9627da54e0f0676200fdb38ddc5869d844b54e&req=diUmE8F3lIlcUfMW1HO4zcSk47nReu3GjHDogqK0V%2Bwo4UE0hzjfpFjC4wKX%0ANaHxCROjYk8G%2BKJvGOQ%3D%0A) --- @@ -280,7 +280,7 @@ Navigate to **[Analytics > Cowork](https://claude.ai/analytics/cowork)** to view - Daily, weekly, and monthly active Cowork users -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515901489/8005693d55b7fefbfe9233258d39/106c22a0-3f47-47a6-abbd-4788dd70f218?expires=1793295900&signature=80018505a995f452efa60cff3b22dfc432d172036b54952090e7254bfb7b5432&req=diUmE8B%2BnIVXUPMW1HO4zX7WE4uzVEShFSi1Z3SzLLuGiGY1ce941CsdfXux%0A3pJQ%2BKDBUJJBy03XBE0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515901489/8005693d55b7fefbfe9233258d39/106c22a0-3f47-47a6-abbd-4788dd70f218?expires=1793343600&signature=edd9e5cd73ea6dacba89cf34453da9845eccdcca168771e78be2029af3ce9b51&req=diUmE8B%2BnIVXUPMW1HO4zX7WE4uyWUKuFSi1Z3SzLLvYNo9zcuPLXBZyM%2FYB%0AJA3tmCI5FkV6McZsM5U%3D%0A) **Note:** Cowork analytics are available alongside Chat and Claude Code data in the **[Analytics API](https://platform.claude.com/docs/en/manage-claude/analytics-api)**. @@ -296,7 +296,7 @@ Navigate to **[Analytics > Surveys](https://claude.ai/analytics/surveys)** to as On Enterprise plans with usage-based billing, when your admin turns on individual usage analytics, any member of the organization can see their own usage broken down by product, model, and skill, along with where they stand against any spend limits set for them. Individual usage analytics are available in **[Settings > Usage](https://claude.ai/settings/usage)**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533906328/1f5cd0a57def40676410f8f379b4/member-usage-30d-model.png?expires=1793295900&signature=2139eb2fdb19d562ac23a2f3de1a50278cb0e3376bfcb17fc456e512261212a7&req=diUkFcB%2Bm4JdUfMW1HO4zfveBqzHde7TWGUKUw6QS4%2BX%2FKgbAYECJ8G0K5yp%0AG2kOmcNVmFrz2RWem4w%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533906328/1f5cd0a57def40676410f8f379b4/member-usage-30d-model.png?expires=1793343600&signature=772da364d71549550eb5230142ecf631fdf63cab1f5d72a1e490d8027c509598&req=diUkFcB%2Bm4JdUfMW1HO4zfveBqzGeOjcWGUKUw6QS4%2FX%2Fc0AJvSLSxlry9Tr%0AeL7yMPPrW8w3MdHwa3E%3D%0A) --- diff --git a/content/support/12902446-claude-in-chrome-permissions-guide.md b/content/support/12902446-claude-in-chrome-permissions-guide.md index a3c89c2e40..eea5d3bf81 100644 --- a/content/support/12902446-claude-in-chrome-permissions-guide.md +++ b/content/support/12902446-claude-in-chrome-permissions-guide.md @@ -30,7 +30,7 @@ In "Manually approve," Claude checks with you before it acts. What that looks li Claude creates a plan from your prompt, which you can approve before Claude starts. The plan specifies which websites you're allowing Claude to access, as well as the approach it will follow: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1843320727/8d1c859ae9b8e0cdb536d024bf40/9bc3d239-8eb6-4bae-a032-a236f88ee606?expires=1793295900&signature=2a6164f9dbd818da4900e305a6a9f577d65d93e6fcdac7c3d261be565e129cba&req=dSgjFcp8nYZdXvMW1HO4zYqyZMFP9Ye%2BgN0ADj5oqFCKKtVgEpLFMVEy6%2FP8%0AH3BIbrqZmz1oxqONaDM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1843320727/8d1c859ae9b8e0cdb536d024bf40/9bc3d239-8eb6-4bae-a032-a236f88ee606?expires=1793343600&signature=0550026fa7e40bccc516513c490525afac124bee36617f2c2c017eeb680b298e&req=dSgjFcp8nYZdXvMW1HO4zYqyZMFO%2BIGxgN0ADj5oqFATpA%2F6N6JkqLBlWuBg%0A%2BVuo0HsEcGRSigSku6U%3D%0A) Note that Claude will only use the websites listed in the plan, so you’ll need to manually approve any additional access requests. @@ -64,7 +64,7 @@ When you choose "Skip all approvals," Claude doesn't pause to ask, and nothing c There are some websites on which Claude requires approval for every action. If you navigate to one of these sites, a **New permissions required** prompt will appear in the extension side panel, Claude Cowork, or Claude Code where Claude will ask for permission before accessing the page or taking any action. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2604970825/d7b961271be69e7541b406df1efd/d845324e-6b4a-4f54-83b9-0bea86ec09c6?expires=1793295900&signature=37e8ebe0280eb1e530a9f973eca72ef917b3244a54739f0f52acdf9e09de95ee&req=diYnEsB5nYldXPMW1HO4zZ3Nq2VygSnl7A4lHPBihAWDQdbXTeV8NQZ6pOAI%0Aa1OUkPFNhz3LqLSyjB0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2604970825/d7b961271be69e7541b406df1efd/d845324e-6b4a-4f54-83b9-0bea86ec09c6?expires=1793343600&signature=2888e7b955dce53dbdf4653e8e08cb56c9c83dcf8a7879835a95072dbdddc9a7&req=diYnEsB5nYldXPMW1HO4zZ3Nq2VzjC%2Fq7A4lHPBihAW0cRI635xh58i8FqqP%0ABwQG%2FA1Kc5J9UldihNQ%3D%0A) ### Permission options diff --git a/content/support/12997503-team-plan-billing-faqs.md b/content/support/12997503-team-plan-billing-faqs.md index d125e826e8..c655d45e29 100644 --- a/content/support/12997503-team-plan-billing-faqs.md +++ b/content/support/12997503-team-plan-billing-faqs.md @@ -18,7 +18,7 @@ Your organization's billing address determines where your invoices are sent. You If you want to use a name other than the one tied to your payment method, an organization Owner should check the "Use a different name on invoices" box when adding or updating your payment method in **[Organization settings > Billing](https://claude.ai/admin-settings/billing)**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922145253/f2e3d4e0fe43a2ea07e89244764c/image.png?expires=1793295900&signature=d428d636d0ee3c2cc5fa4dcd1412f90f423fbef69c7af375ba0301fc03380e57&req=dSklFMh6mINaWvMW1HO4zRZTxVnDss7aKAqLF4ERnlVKXlDRkVFcS0hhcYtB%0AkZ1fTVQvKpmo4W9w7PY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922145253/f2e3d4e0fe43a2ea07e89244764c/image.png?expires=1793343600&signature=eb1d186ab9740b837d2d4727dcbc1ec220f225cf0cada7fdf29d3dc3eff38746&req=dSklFMh6mINaWvMW1HO4zRZTxVnCv8jVKAqLF4ERnlVxTUwnX9bBsH9nET59%0AJLvJ9kbucOYUp43yW3c%3D%0A) ## When will I be billed? diff --git a/content/support/13132885-set-up-single-sign-on-sso.md b/content/support/13132885-set-up-single-sign-on-sso.md index a9c0486e2c..84e695c75c 100644 --- a/content/support/13132885-set-up-single-sign-on-sso.md +++ b/content/support/13132885-set-up-single-sign-on-sso.md @@ -42,7 +42,7 @@ You can verify multiple domains for a single organization, but all domains must 3. Enter the domain(s) you want to verify in the **Update organization email domains** modal and click the “+” button: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2498843282/561d5ceb1c3a5df75bdfee8bfc3f/d2491145-362d-490b-bdcf-66a0a7656ddc?expires=1793295900&signature=07c8b398bee067eb67eb84efc70329435770c742059445c16203727d85bb6220&req=diQuHsF6noNXW%2FMW1HO4zSdmH38788GFe3H0OpmIzWGHETmieEQGWrVtqjNE%0Aam6g%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2498843282/561d5ceb1c3a5df75bdfee8bfc3f/d2491145-362d-490b-bdcf-66a0a7656ddc?expires=1793343600&signature=b626598635b32c394c645f2a0aa4392fdfdcf24f7a73c80cbdbf8cd69d4f0885&req=diQuHsF6noNXW%2FMW1HO4zSdmH386%2FseKe3H0OpmIzWHktC50VWHX8ApGGx%2BQ%0ANWCd%0A) 4. Click “Save” when you’re finished adding domains. @@ -50,7 +50,7 @@ You can verify multiple domains for a single organization, but all domains must 6. Enter your domain in the text box and click “Continue”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047042630/0617a562cd28a7ff0e607d66a30b/6bd08e1d-2b65-40ab-bc79-a257153854c1?expires=1793295900&signature=a3abbaeed6c2f024b865183d335de89391a55f012a3634f3a7334413d7d22dab&req=diAjEcl6n4dcWfMW1HO4zWHctB6VntSjyoyXAW0OlXp2pw8Sy%2BLmWopc%2FQcz%0AqH6O%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047042630/0617a562cd28a7ff0e607d66a30b/6bd08e1d-2b65-40ab-bc79-a257153854c1?expires=1793343600&signature=e3b19dafa7071a01ad3193a0db47298172eb723e5107e077500410c525c328f1&req=diAjEcl6n4dcWfMW1HO4zWHctB6Uk9KsyoyXAW0OlXp8pTEIF8a2opUFZU2Y%0Aks0j%0A) 7. The setup screen displays a TXT record. **Copy the full Value using the copy button**—it begins with `anthropic-domain-verification-` and is longer than what's visible in the box. In your DNS provider, add a TXT record to your domain and **Value** set to the copied string. The domain must match exactly what you entered in the previous step, including any subdomains. Add it alongside any existing TXT records; don't replace them. The value is case-sensitive, so paste it exactly. Please refer to your DNS provider's documentation on this topic. @@ -76,7 +76,7 @@ Clicking "Refresh" re-checks your DNS; it won't show Verified until the publishe If the record is correct and propagated but the status still shows Pending, contact Support. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047044496/b8df54a0331784cc9ae8f00112aa/bf9609c1-dc93-4665-a066-4cae2fe4b002?expires=1793295900&signature=d6ebff30dadab088293210fdee4490804df39b682c67b4c5a2aa55d27b4674f1&req=diAjEcl6mYVWX%2FMW1HO4zVjmWCoCZnGwPM2D8Zcdgrh%2BwUzJSkUGT4oO7Dlb%0Ah6DVB37CovkWgTdFnYs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047044496/b8df54a0331784cc9ae8f00112aa/bf9609c1-dc93-4665-a066-4cae2fe4b002?expires=1793343600&signature=36c96e9e17f0564e8e34b98f38165b4ab14076411c38617c0c5e143012301228&req=diAjEcl6mYVWX%2FMW1HO4zVjmWCoDa3e%2FPM2D8ZcdgrhV5RN6bd38Dp7vJzvj%0AEbzWYSQ3I7Ec5XiHerQ%3D%0A) **Note:** Once your domain is verified, you'll see a **Restrict organization creation** toggle under **Security** on the Organization and access organization settings page. Enable this if you want to prevent users from creating new Claude or Console organizations—including personal accounts—using your verified domains. @@ -116,7 +116,7 @@ For IdP-specific setup instructions, see: You can now choose to toggle on **Require SSO for Console** and/or **Require SSO for Claude,** on the **Organization and access** page, under the **Authentication** section: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312690200/bd2403586d4f6651ccd79e2a45af/b9f8d7ce-0def-49d9-bfb2-3a14352d7214?expires=1793295900&signature=b2691ca8f965eb8565a6c06d93af1265c8721e410b3ae538a47970dbcf1b5df0&req=diMmFM93nYNfWfMW1HO4zdAICgyjC3kDItXtKivx6ZEHpqFH4ljBb0W13hnS%0A6EalSAgGvYKXV8j65Ac%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312690200/bd2403586d4f6651ccd79e2a45af/b9f8d7ce-0def-49d9-bfb2-3a14352d7214?expires=1793343600&signature=6d03acf7973a3c5985fd3541473bfb5c698e8cb11f850f9eb61d498407d16d02&req=diMmFM93nYNfWfMW1HO4zdAICgyiBn8MItXtKivx6ZHYSC4UCO2ADKZr1YaS%0Aqde%2FjKhpkVdpWmREjUE%3D%0A) When SSO is required, users must use the “Continue with SSO” option to log in to their Claude/Console accounts. When SSO is not required, they will have the option to choose “Continue with SSO” or “Continue with email.” diff --git a/content/support/13133195-set-up-jit-or-scim-provisioning.md b/content/support/13133195-set-up-jit-or-scim-provisioning.md index 9dbc827bef..7229d333d1 100644 --- a/content/support/13133195-set-up-jit-or-scim-provisioning.md +++ b/content/support/13133195-set-up-jit-or-scim-provisioning.md @@ -40,7 +40,7 @@ Use this table to help decide which provisioning mode is right for your organiza Both JIT and SCIM can be combined with **Enable group mappings** to control role or seat tier assignment based on IdP group membership. If you select either of these options for your provisioning mode, **Enable group mappings** will appear within the **User provisioning** section: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312706099/35d5d3ec149880a96bb7acec59f6/a4cfce55-86bf-40b0-b455-c8f412d48e9e?expires=1793295900&signature=eea23298321bd85e68bf3c4d837900ce328b3032d6ae93cca5fa1160e35e9f4c&req=diMmFM5%2Bm4FWUPMW1HO4zXBDQqhWBF9%2FxFMG%2BIEvQSdF4X5wSRyRDkgeZrKl%0A4PZBSEJOdQ88X1v0Y4c%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312706099/35d5d3ec149880a96bb7acec59f6/a4cfce55-86bf-40b0-b455-c8f412d48e9e?expires=1793343600&signature=008b1fe456a3c254ba12ef69337b41a4b081b3b7c109616a19260fc3452b7018&req=diMmFM5%2Bm4FWUPMW1HO4zXBDQqhXCVlwxFMG%2BIEvQSf4F7nobDsXDtFjNAGz%0AEhlO9FhTYfQcEAL%2BJys%3D%0A) **Important:** Group mappings set a user’s role type and seat tier only. Users with the Custom role get their permissions from groups in Claude, and those groups sync from your IdP only when your provisioning mode is SCIM directory sync. With JIT, you need to create groups and add users to them manually in **[Organization settings > Groups](https://claude.ai/admin-settings/groups)**. If you map an IdP group to the Custom role under JIT without doing this, those users have no permissions when they log in. Learn more about **[managing groups on Enterprise plans](https://support.claude.com/en/articles/13799932)**. @@ -136,7 +136,7 @@ Learn more about **[setting up role-based permissions on Enterprise plans](https 4. Toggle **Enable group mappings** on (if it’s not already): - ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312714635/b57870b51e6511c8293637bceee2/da1ceabc-b6bc-451b-9cda-24ff6aa90d02?expires=1793295900&signature=38ea5708671031b0b8215bc20097329d5d58cab57712086190c0643c8a7c7707&req=diMmFM5%2FmYdcXPMW1HO4zeBEb8banv9Byb72rapuHpNUIHr%2BapvOAutWemTo%0AIQXu%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312714635/b57870b51e6511c8293637bceee2/da1ceabc-b6bc-451b-9cda-24ff6aa90d02?expires=1793343600&signature=f562518b11992e5b75a0bb4cebdccd624da6580b28b9f52f1c03c4e0362ac1da&req=diMmFM5%2FmYdcXPMW1HO4zeBEb8bbk%2FlOyb72rapuHpO%2FNkxAABUCANkLuidY%0A0BDL%0A) 5. In the **Enable group mappings** section, click “Add” next to each role and select the corresponding group from your IdP in the dropdown. @@ -188,7 +188,7 @@ Verify you have enough seats purchased and available to add members to your org. 4. **For SCIM:** Click "Sync" to prompt an immediate sync, or wait for the automatic sync cycle: - ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312717421/c97fce49ad17d4660880a05fbaaf/59fbfa2a-1072-4662-8ca5-102970d5a795?expires=1793295900&signature=5a4d750609a9aae8a1c547ae81b60ec7eed24972779bcd518945d5e8f24c243c&req=diMmFM5%2FmoVdWPMW1HO4zZ9Lal6vEM%2FL5hujYvMis4eJpVCrhHe1JOLC7UHq%0AcJrQ%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312717421/c97fce49ad17d4660880a05fbaaf/59fbfa2a-1072-4662-8ca5-102970d5a795?expires=1793343600&signature=763d50ec1666e09fb55b3ce7337b68376521431191e4b16c1da82a00f73d6908&req=diMmFM5%2FmoVdWPMW1HO4zZ9Lal6uHcnE5hujYvMis4e7R1rVTcpUSq9IztHS%0Ap5SQ%0A) ### Users mapped to the Custom role can't access anything after logging in diff --git a/content/support/13163631-configuring-session-security-settings.md b/content/support/13163631-configuring-session-security-settings.md index f7e1b371cb..85f3d90836 100644 --- a/content/support/13163631-configuring-session-security-settings.md +++ b/content/support/13163631-configuring-session-security-settings.md @@ -18,7 +18,7 @@ Session duration controls allow Enterprise and Console Admins to set a maximum s 5. Confirm your selection by clicking “Enable.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469436/1725e63ea1a2615948faecf4ec73/9bd276a1-7329-414d-87a1-d04dac93fff7?expires=1793295900&signature=3772104c1347b20c34fb6ec6050805e725568340288546d8caf3c8a140cee1ee&req=dSgvHs14lIVcX%2FMW1HO4zQNx6uElSl9Zg%2F6XaftFnjxvoePlN%2FXVIjbic9Gy%0AIKo%2FjytRbz7OfPYeNB4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469436/1725e63ea1a2615948faecf4ec73/9bd276a1-7329-414d-87a1-d04dac93fff7?expires=1793343600&signature=11080b901865f39e360e6e1ba08f510e681d8403776f0abb60d1e7d30cc68a70&req=dSgvHs14lIVcX%2FMW1HO4zQNx6uEkR1lWg%2F6XaftFnjxdgzgrxU6GVI9kSocF%0A2%2FmGfnxBYpekIflRiE8%3D%0A) ### For Console Admins @@ -32,7 +32,7 @@ Session duration controls allow Enterprise and Console Admins to set a maximum s 5. Confirm your selection by clicking “Enable.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469435/7a766bbe02e61c7d8f05deb5b8f0/b0bda400-47c6-43dd-9907-131ebe180b36?expires=1793295900&signature=abc764e8be4e1bfee844a272469ac7aae02382bcbcf52cf26a217f5933716ea7&req=dSgvHs14lIVcXPMW1HO4zWzx2bo0LnooXZ5D7eVpMtfSL%2F7wA2jqSpqJN7N2%0AfugDK%2Bnvc54OB3mEvcg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469435/7a766bbe02e61c7d8f05deb5b8f0/b0bda400-47c6-43dd-9907-131ebe180b36?expires=1793343600&signature=145c3b62202f393cc754d12a37236f85d6b07426ed98012aabcde24798d1261b&req=dSgvHs14lIVcXPMW1HO4zWzx2bo1I3wnXZ5D7eVpMteQf7hjKM5T%2BBTJ8zNV%0AqIFfon5JO7MjjNoXl8g%3D%0A) ### What happens after enabling shortened session length? @@ -50,7 +50,7 @@ You can change the session duration at any time by selecting a new value from th - Sessions scheduled to expire beyond the new duration will have their expiration shortened accordingly. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469437/46ac5bc55484ca01556d87a5ade7/b01a7651-ad65-4b32-93ff-16dbc9ca97c0?expires=1793295900&signature=95b4ca7772909930921ac0f3e639c5c4f604c3517e013f75a7f3f479b521fadb&req=dSgvHs14lIVcXvMW1HO4zZ7mW8uZ7jyqA00cbyPOLDXIqlKxOJfEjXfCag4N%0AU7%2Bb5ih1Y9vppwFnyvU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469437/46ac5bc55484ca01556d87a5ade7/b01a7651-ad65-4b32-93ff-16dbc9ca97c0?expires=1793343600&signature=61e6d909fa0f81df9406a9b8716384bf9f8ecfcc5765a1fd3a4ec465de663cbc&req=dSgvHs14lIVcXvMW1HO4zZ7mW8uY4zqlA00cbyPOLDWYFjUpoJvLDGiUGtoS%0Ai664XriNglegunRQneo%3D%0A) ## Disabling session length settings diff --git a/content/support/13189465-log-in-to-your-claude-account.md b/content/support/13189465-log-in-to-your-claude-account.md index 6c1875edb2..aaf86f9c41 100644 --- a/content/support/13189465-log-in-to-your-claude-account.md +++ b/content/support/13189465-log-in-to-your-claude-account.md @@ -2,7 +2,7 @@ When you open Claude on a web browser ([claude.ai](https://claude.ai)), the desktop app, or a mobile app, you will see two different options for logging in to your Claude account. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893216804/f2209c3ec6cf4fc2e803d13bbc9d/40520c9e-ff82-4a7c-adca-5a064fe18d8c?expires=1793295900&signature=6a41786d8f56c130255053e4de7bee60ab6107dbee3f906f0f3fb56fc66f92be&req=dSguFct%2Fm4lfXfMW1HO4zXg5B4GO6he9zWhrqpWiTMn2IjruObNyx7L%2FMZEM%0AgtncUXRHjcns8%2BRrJDc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893216804/f2209c3ec6cf4fc2e803d13bbc9d/40520c9e-ff82-4a7c-adca-5a064fe18d8c?expires=1793343600&signature=8d28cc69c6f683354425672c79afd98597a32ecbf2cfe06adde7f169a409ac10&req=dSguFct%2Fm4lfXfMW1HO4zXg5B4GP5xGyzWhrqpWiTMkZPa9b515wNVpUc64a%0ABj5ZAzhe6Yf81r6j6Zg%3D%0A) ## Continue with Google diff --git a/content/support/13325567-account-management-faqs.md b/content/support/13325567-account-management-faqs.md index 69bea0146f..1ae479b4cf 100644 --- a/content/support/13325567-account-management-faqs.md +++ b/content/support/13325567-account-management-faqs.md @@ -44,6 +44,6 @@ The email domain that was used to create your Team or Enterprise plan organizati Owners can remove domains by opening up the same modal and clicking the trash can icon to the right of the domain: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2053873852/1cbccea3b7067e03205f2ff8546b/CleanShot+2026-02-11+at+11_16_07%402x.png?expires=1793295900&signature=255b949b872bb379cc89a31f0d5976d6f77ef8f21629efc339ade5dea4d3bc42&req=diAiFcF5nolaW%2FMW1HO4zUrhF%2BiaYA0TkeFUnrkrQZg2GouyjU2TMj%2BAHyZB%0AV1EPhEWpbQOVvVkmFa8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2053873852/1cbccea3b7067e03205f2ff8546b/CleanShot+2026-02-11+at+11_16_07%402x.png?expires=1793343600&signature=d4ed2e03a3ee093797a1bba6754620afe7e1bbafcfc2f91e595810849e3b5e74&req=diAiFcF5nolaW%2FMW1HO4zUrhF%2BibbQsckeFUnrkrQZjtFnLY1i0caja8ZT8v%0Ao1V6Ch85ubOJriiCgsY%3D%0A) While the account creator must use a business email address, you can add public domains like @gmail.com, @yahoo.com, and @hotmail.com as allowed domains for other members of your organization. \ No newline at end of file diff --git a/content/support/13345190-get-started-with-claude-cowork.md b/content/support/13345190-get-started-with-claude-cowork.md index b88926a8a5..7acd0ee7c9 100644 --- a/content/support/13345190-get-started-with-claude-cowork.md +++ b/content/support/13345190-get-started-with-claude-cowork.md @@ -178,7 +178,7 @@ To set global instructions: 3. Type your instructions in the text box and click "Save": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2525926874/15324ac4155d7802272e8bdef04b/ec66cd09-a4db-4f1d-8f30-226c9d126333?expires=1793295900&signature=138be58c6160c13710382e9a49ff045000d999ebe0b3c1da460a49db3dbe407e&req=diUlE8B8m4lYXfMW1HO4zcDl69vuP1S58iWjaktE940mX4ZZMtiXbls0QpeR%0AqPvNpDxO5vmkfNE23EQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2525926874/15324ac4155d7802272e8bdef04b/ec66cd09-a4db-4f1d-8f30-226c9d126333?expires=1793343600&signature=0d0c8ce273fd52be4c8e17cafabaf55d0676e456ae56e62215fb04b8a8f4b11d&req=diUlE8B8m4lYXfMW1HO4zcDl69vvMlK28iWjaktE941aK3oz8huW79UdPnq3%0A0tn3HvdLbePF6ekZ4mg%3D%0A) ### Folder instructions diff --git a/content/support/13371040-log-in-to-your-console-account.md b/content/support/13371040-log-in-to-your-console-account.md index 15054a32f6..67ba0745bd 100644 --- a/content/support/13371040-log-in-to-your-console-account.md +++ b/content/support/13371040-log-in-to-your-console-account.md @@ -2,7 +2,7 @@ When you navigate to the **[Claude Console](https://platform.claude.com)**, you will see two different options for logging in to your Console account. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1935026646/d90d1613a3dbe763fef5abb96e3c/image.png?expires=1793295900&signature=eef520f0f27963ae56b514566d34f7a8049b1189f3cc18753209029d3a8e0b15&req=dSkkE8l8m4dbX%2FMW1HO4zcrI5oruqYUE8vUNcPt4%2B73L5vCiEKzN%2FSvK0sse%0ASgwo1HgPrYbB2viHwTM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1935026646/d90d1613a3dbe763fef5abb96e3c/image.png?expires=1793343600&signature=e3de4f85b7ecf2170629f2a743ab7d7e9b37facab6f3172dfc217ed09f5ecd7b&req=dSkkE8l8m4dbX%2FMW1HO4zcrI5orvpIML8vUNcPt4%2B73BUCyCXf%2Bl2VhbptZj%0AKcbiAE5Gx4qVL2JXdp0%3D%0A) ## Continue with Google diff --git a/content/support/13641943-visual-and-interactive-content.md b/content/support/13641943-visual-and-interactive-content.md index f774e0a6d3..a8e439ac20 100644 --- a/content/support/13641943-visual-and-interactive-content.md +++ b/content/support/13641943-visual-and-interactive-content.md @@ -18,7 +18,7 @@ Claude can show current weather conditions and forecasts when you ask about the Claude automatically displays temperatures in Fahrenheit for US locations and Celsius for everywhere else. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544927/3a9c695b24df387ecdd766ad308c/8be9f393-dcb0-4ff8-89e8-5fa47bedaa38?expires=1793295900&signature=a29b4ee1ea9b3d38b3e0ea5c3e20f136bda83304b210abd35977dff603cf1e2f&req=diAjFsx6mYhdXvMW1HO4zXlB7D243B2BdgndksVD5R0KlYYJjHz86yP6%2Bzfe%0AhR%2FDsGSk8gouqOPHhRQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544927/3a9c695b24df387ecdd766ad308c/8be9f393-dcb0-4ff8-89e8-5fa47bedaa38?expires=1793343600&signature=bf6cdac0c4767367bcd8d1265619fdc39b3b3484520d6f194620ece7f5062186&req=diAjFsx6mYhdXvMW1HO4zXlB7D250RuOdgndksVD5R2K1pj1k9hVngz3ptic%0Atp%2BFjI%2FU797XB2OXynM%3D%0A) Weather is powered by Google Maps (). @@ -28,7 +28,7 @@ When you ask about recipes, Claude can display formatted recipe cards that are e **Note:** Visual recipe cards are available on web and desktop only. On mobile, Claude provides recipe information as text in the conversation. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544929/12f4c51eda7779d65d3ea2c7ab16/d0f4a314-cff8-421a-b401-10c2bf50374e?expires=1793295900&signature=93c4839f390f9083eafe8481437368d64b2bf815dd04f34d5ccc60272c62f8f6&req=diAjFsx6mYhdUPMW1HO4zUQperMX21GerIPm%2FImZVg34cmzBbgAN07aK0CsI%0AjVechYwWbKMPz1Bi538%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544929/12f4c51eda7779d65d3ea2c7ab16/d0f4a314-cff8-421a-b401-10c2bf50374e?expires=1793343600&signature=37e6154bedc5dadffde1972d98eaaadc403ec19bff2a51e64489066508c5edd9&req=diAjFsx6mYhdUPMW1HO4zUQperMW1leRrIPm%2FImZVg2zteBKsDwvIrpLyH37%0AacGfR8NNPK6%2Bm%2BRBg%2BU%3D%0A) ### Custom visuals @@ -76,7 +76,7 @@ For example, if you ask Claude to help you plan a trip, it might ask you to: This content appears at the bottom of the chat. You can still type a response if you prefer. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544930/9ad066e137d11e4b559b0217e12d/9bf30d2d-1715-42b3-9da5-2a9298f41f08?expires=1793295900&signature=be0114bc7bd3bccdafe783fc41085f3fbd929a7e233f9d36d7668b83ee03132d&req=diAjFsx6mYhcWfMW1HO4zWmF5va8YBurx4wz0C7CTALAD1JHnyOw4DmhYjOH%0AMgX%2FPURpyyFQCZ6Sh0g%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544930/9ad066e137d11e4b559b0217e12d/9bf30d2d-1715-42b3-9da5-2a9298f41f08?expires=1793343600&signature=f098c5afcea71352e33f1a0835416a9b3178e1e5d2d331ae5c75231a0dcb9021&req=diAjFsx6mYhcWfMW1HO4zWmF5va9bR2kx4wz0C7CTAJtaz4PHfxc7EWSoEnN%0Ak3G2UIc5qlJbu9eQIbo%3D%0A) --- diff --git a/content/support/13837440-use-plugins-in-claude.md b/content/support/13837440-use-plugins-in-claude.md index 99fed441c0..f725253da3 100644 --- a/content/support/13837440-use-plugins-in-claude.md +++ b/content/support/13837440-use-plugins-in-claude.md @@ -58,7 +58,7 @@ In Cowork, open the "Cowork" tab first, then open **Customize**. You can also upload a custom plugin file if you built one yourself. On Team and Enterprise plans, a colleague can share a plugin with you directly instead of sending you the file. See **[Use a plugin shared with you](#h_ef985546b4)** below. Plugins you add in Claude on the web or in Claude Desktop are saved to your account, not to your computer, so they follow you to chat, Cowork, and Claude Code. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2100409211/fc01614dde1a616fa31ffaa9cb04/47bacf5b-a810-45b5-a468-9769f1a58ef8?expires=1793295900&signature=2afb2a3ea920321958bdf4443fadd7f82eb92c75a3d4eee2e0545dc30ba00cc1&req=diEnFs1%2BlINeWPMW1HO4zZF3IxbfOvBcxakFVfq5Wwx0%2B3fMh%2BycI1xaWuxe%0AivMX3Aw%2Bed8L64eR4IM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2100409211/fc01614dde1a616fa31ffaa9cb04/47bacf5b-a810-45b5-a468-9769f1a58ef8?expires=1793343600&signature=9ed947b7752fb341d6100627b70806714f0e5bcbf7a18cde81c81d32dd8d4dc0&req=diEnFs1%2BlINeWPMW1HO4zZF3IxbeN%2FZTxakFVfq5WwwjFeCcS1QVoa16t6HB%0ApqiuOfOw14Q9aZcf2BU%3D%0A) If you're on the Enterprise plan and your organization has skill scanning turned on, plugins are checked for malicious content when they're installed or updated. A plugin with malicious content is blocked, and one that may carry risk shows a caution banner. Learn more about **[skill and plugin scanning](https://support.claude.com/en/articles/15927065)**. @@ -68,7 +68,7 @@ If you're on the Enterprise plan and your organization has skill scanning turned Each plugin you add brings skills and commands you can use while working with Claude. Type "/" or click the "+" button to see the available skills from your plugins, in chat and in Cowork. In Cowork, you can also run a plugin's command by typing `/plugin-name:command`. Click any skill to see its details. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2157396844/4a790e10f5b88df770783df1d7e9/image.png?expires=1793295900&signature=effac50ed9e8f12aa3cd9ebd8425249fb40d2cace9d47a006596d145ee48302b&req=diEiEcp3m4lbXfMW1HO4zf4NBfX%2BikWdmKUxugP2BQs7d8F45MQC%2BnIgb8NA%0AtgzbGRsvO%2FeJb%2FDX8iM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2157396844/4a790e10f5b88df770783df1d7e9/image.png?expires=1793343600&signature=9aaceda3ed84a5eb979145832e948910002a86156eab7f443fcffbb2eb537f4c&req=diEiEcp3m4lbXfMW1HO4zf4NBfX%2Fh0OSmKUxugP2BQvaQCPRRzi0%2BFZMlquT%0AzNGvsv5BeZ%2F7%2BIkS9p0%3D%0A) --- diff --git a/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md b/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md index c7a5b0db5e..88d49974cc 100644 --- a/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md +++ b/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md @@ -52,11 +52,11 @@ Follow these steps to get started: 5. You’ll land on a page describing the functionality. Click “Get started”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169954086/419674f781edb2977b93cce062b4/93b1893c-d79a-4eb6-b2f1-2fe3e043bd90?expires=1793295900&signature=c60374f541197b3cb4c96ed87851f7f31b44e43517bcac504964d8703f14e581&req=diEhH8B7mYFXX%2FMW1HO4zSZP05GJHAv2B32drIe5EDksF46FSagXaJ1MJomD%0APBvo%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169954086/419674f781edb2977b93cce062b4/93b1893c-d79a-4eb6-b2f1-2fe3e043bd90?expires=1793343600&signature=8a77fa5d0fb6a63db9ee02ccad57154c00ea3beafbb6af52760189fd06cb1449&req=diEhH8B7mYFXX%2FMW1HO4zSZP05GIEQ35B32drIe5EDlecrLkd5kHGVOlPW2Z%0AUb6%2F%0A) 6. On the next screen, you can give Claude access to your files and keep your computer awake by toggling those on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169955082/de4053ee0eab8fcb9263584bb171/d39b77da-1a69-4682-9fdb-7ed488f236b0?expires=1793295900&signature=7d31ea0b72311b73d7a1757692a5bc18581956fb1397acf5066e651b1e0ada23&req=diEhH8B7mIFXW%2FMW1HO4zaZWstmaVAQXepuGRb1rD3Kn9YzIDxuNuVZBsH44%0ANyyY%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169955082/de4053ee0eab8fcb9263584bb171/d39b77da-1a69-4682-9fdb-7ed488f236b0?expires=1793343600&signature=0c9b0b5756988331e1df9f0fe95fa4263f0563c7feab20f2ac78bc0c281ac00b&req=diEhH8B7mIFXW%2FMW1HO4zaZWstmbWQIYepuGRb1rD3I9UpqzFL4KJFooE1U6%0ARVZq%0A) 7. Click “Finish setup.” diff --git a/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md b/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md index 245974cd46..10d2a421a5 100644 --- a/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md +++ b/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md @@ -16,23 +16,23 @@ The new Claude experience, which combines chat and Cowork, is rolling out to Pro Find **Projects** in the left navigation panel and click the “+” button to see the three different ways to create a project: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183720240/6f6ef438913391703598d86d606c/CleanShot+2026-03-20+at+09_11_43.png?expires=1793295900&signature=1cb120a763db8b7c49946ef6a3166425821ba7a33276e09b9b72f1afdeb4790a&req=diEvFc58nYNbWfMW1HO4zcOgiga42C18ZwSvwegvtgykTWt3GLIiwMCVVUUP%0Axg92MdWwxBUjSx6OErU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183720240/6f6ef438913391703598d86d606c/CleanShot+2026-03-20+at+09_11_43.png?expires=1793343600&signature=d9fd376e32aa6025e12c1861616d9afd5a24795ac0c826824b75798557668c5b&req=diEvFc58nYNbWfMW1HO4zcOgiga51StzZwSvwegvtgwTrpSeljHk3ZVZZ6uB%0Ajr%2FLRltdfhW84j3p0QI%3D%0A) ### Start from scratch Selecting “Start from scratch” allows you to set up a new folder with instructions and files: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177090014/07832b50003cf7fd3b4e9c7c448b/3385d9b8-c3e7-42b9-ae3f-4d213baa53a7?expires=1793295900&signature=7e0123431feea354b4546dc9c7561a8579a939ea8cab0d86dac6d6516e8d0e15&req=diEgEcl3nYFeXfMW1HO4zZCoQo5HR3Cfvb0suCMAnj2EB14Z9nfspkb3Hvyv%0AjxXy8aJuszHDqxnMHcE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177090014/07832b50003cf7fd3b4e9c7c448b/3385d9b8-c3e7-42b9-ae3f-4d213baa53a7?expires=1793343600&signature=41a7e21768eeb6cb88fc6622337d776925a368d6f62745b30a651931f5325628&req=diEgEcl3nYFeXfMW1HO4zZCoQo5GSnaQvb0suCMAnj2rw8U1vCVo9DR4RIWD%0AuqRjd%2FsyMEqTG6fDdRw%3D%0A) ### Import from a Claude project After selecting “Import from project,” you’ll see a “Search projects in Chat…” field: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183717962/acdc11bcc825ae76a13f508365bc/CleanShot+2026-03-20+at+09_12_08.png?expires=1793295900&signature=d38b4228dd9a74f905f6286c73722048ac6332747696c6ba42ab899c5de95b75&req=diEvFc5%2FmohZW%2FMW1HO4zQQ7UWBfw50WjggUT7FIJz9VkAEPf5biCX20%2FDN3%0AzLV4kRp07cgwUGRnwIE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183717962/acdc11bcc825ae76a13f508365bc/CleanShot+2026-03-20+at+09_12_08.png?expires=1793343600&signature=6f58f9632580daf4d0a3da259aefc7b2d1bd8f0b6de5f156bc28a7157842ab49&req=diEvFc5%2FmohZW%2FMW1HO4zQQ7UWBezpsZjggUT7FIJz%2BXB9rJoCpCNwdCK0sH%0AZCmIUmERRhkrazSrnE8%3D%0A) Clicking into the field will display a drop-down showing your recent projects, but you can also use it to search all your projects. After you select a chat project (bulk upload is not supported), you can name the new Cowork project and choose where to save it on your computer: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183727973/7a25430123d9e13e7c3cdd411f70/CleanShot+2026-03-20+at+09_13_41.png?expires=1793295900&signature=6b8da9e9d89aee2f23d892702832beac23d0a0e6060b6bc2952bbca255bff75c&req=diEvFc58mohYWvMW1HO4zU%2FKAyBE9SbFI7f%2FdY0VL6hiFtHnAUwLWDwsJHPZ%0AJkUfB%2B3z%2FsVY7ky4MNo%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183727973/7a25430123d9e13e7c3cdd411f70/CleanShot+2026-03-20+at+09_13_41.png?expires=1793343600&signature=9996c1a84435e8149df5c8672052403ace1372badc59ac761b4ffad415c2ad3e&req=diEvFc58mohYWvMW1HO4zU%2FKAyBF%2BCDKI7f%2FdY0VL6g9apJSAGGFSNdBaQR9%0AAFoAh8ZvOB3n6BWklKo%3D%0A) Clicking “Create” will transfer the files and instructions from your existing Claude project and create a new Cowork project. @@ -40,11 +40,11 @@ Clicking “Create” will transfer the files and instructions from your existin If you select “Use an existing folder,” you’ll be prompted to pick a file to use as context for the new Cowork project: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087935/2f0052dae601d0b7fecdc029e1c3/2e3ca9e7-23b1-436e-bbdb-edcd31c41f15?expires=1793295900&signature=9c939c614eee921d2ed1c8d0690a69e49d2330ed6289e50847e6e1f0ee96832d&req=diEgEcl2mohcXPMW1HO4zejrnjXUHCZWuv8e2Xj2xOWy4tvjo9pk1zEBobiD%0AyJgIml8qNCDx861Uzuc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087935/2f0052dae601d0b7fecdc029e1c3/2e3ca9e7-23b1-436e-bbdb-edcd31c41f15?expires=1793343600&signature=e33663e6dc66f3497723fb0e4196ee256bdf04bd508ed339a27c95d06579db4e&req=diEgEcl2mohcXPMW1HO4zejrnjXVESBZuv8e2Xj2xOUoB5b81E5BPCzfFHs%2F%0Aa%2BECP3W6DRoPtwdMhBg%3D%0A) After selecting a folder, you can name the new Cowork project, choose where to save it on your computer, add instructions, and attach any additional files. Click “Create” to start using your new project: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087937/f59dbe3fc28448a9597ea097cb4d/96a59acb-4054-4b4b-a208-751f9711f535?expires=1793295900&signature=a3d191c2dbaea86d5e6e1bc3174f7e64c9dc97f000fd4af54fad48b5e99780a2&req=diEgEcl2mohcXvMW1HO4zUq4VuC2iqczMfnqHouW6MKyRaPMyOCyeRiIgHJj%0APTD7FSzKWgdp7tsJHQA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087937/f59dbe3fc28448a9597ea097cb4d/96a59acb-4054-4b4b-a208-751f9711f535?expires=1793343600&signature=649ac3246b332d52976ad0a289b36f1165067542b4e6b0f1bd3ba3b7c2bc296d&req=diEgEcl2mohcXvMW1HO4zUq4VuC3h6E8MfnqHouW6MJoIHJ72Iy%2BrdA%2Fdbdy%0Ad6AoFc%2Fv5Vk11abfVas%3D%0A) --- diff --git a/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md b/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md index 5e23db2a7c..56df2ed098 100644 --- a/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md +++ b/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md @@ -50,7 +50,7 @@ You can trigger a manual sync from two places in your admin settings. 2. Click "Check for updates" under **SCIM sync**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312613548/44cd5970ee3c3b2c7f8dcd592d71/image+%2824%29.png?expires=1793295900&signature=97e1e7fd3448e659766b4c92106d390e0750e1e703fb5ddc94fb475f57608543&req=diMmFM9%2FnoRbUfMW1HO4zW4gbTavPMi9rgfl7PnOiumc8ImHueJu%2F7okvnpO%0AaZks%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312613548/44cd5970ee3c3b2c7f8dcd592d71/image+%2824%29.png?expires=1793343600&signature=e259a84c3b1529806e7de86741b611e77c92437ae63b5fa4f0cb1497ccb40a0a&req=diMmFM9%2FnoRbUfMW1HO4zW4gbTauMc6yrgfl7PnOiummM2Pq3jQtnkJE50kP%0AXEyK%0A) 3. Select whether to sync members, groups, or both. @@ -62,7 +62,7 @@ You can trigger a manual sync from two places in your admin settings. 3. Select whether to sync members, groups, or both: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312608119/e4b0ef4f309f3c4eac8311a6ef47/image.png?expires=1793295900&signature=8a1e2514725479d1de8f0b3e3c948991e3630345729922c4a4f7055b23ab27a2&req=diMmFM9%2BlYBeUPMW1HO4zX%2F4f7nywj4W43OpyTHzM9TvVHEJeieQ2W0cT69p%0AU2Sa%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312608119/e4b0ef4f309f3c4eac8311a6ef47/image.png?expires=1793343600&signature=e3faa7bde9e21cbe46c12d7c60209f104f9c3c5457f67704656784b769e5649b&req=diMmFM9%2BlYBeUPMW1HO4zX%2F4f7nzzzgZ43OpyTHzM9TdctR0YPSmXNxi0Cey%0Ae79i%0A) **Note:** If you trigger a manual sync while background changes are processing, your organization takes the most recent change for each member or group. If multiple changes are queued for the same member or group, you may need to resync again to make sure everything applies correctly. diff --git a/content/support/14604842-cyber-verification-program.md b/content/support/14604842-cyber-verification-program.md index 9043264afa..a2997876f9 100644 --- a/content/support/14604842-cyber-verification-program.md +++ b/content/support/14604842-cyber-verification-program.md @@ -2,8 +2,6 @@ **Updated October 2026.** The CVP previously covered Claude Opus and Sonnet with a single level of access. We are now offering three access tiers for Claude Opus 5.5, our most capable cyber model yet, Claude Sonnet 5.5, Claude Mythos 5.1, and new models moving forward. -For more details, register for our upcoming **[webinar on the Cyber Verification Program](https://claude.com/resources/webinars/inside-the-cyber-verification-program)** on October 14th at 9am PT. - ## Overview The Cyber Verification Program (CVP) makes advanced cyber capabilities and reduced blocking classifiers available to qualifying security professionals. Each tier includes access to our most capable models, including Claude Opus 5.5, Claude Sonnet 5.5, Claude Mythos 5.1, and new models moving forward. @@ -12,7 +10,7 @@ Our generally available models can still be used by all users for secure code re ## Access tiers -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2716457392/33c90f9ccfbd33fee02840fd2efa/267bc7d1-baeb-4302-a1d9-4491b4110775?expires=1793295900&signature=8b2e3a9e4efaa1e93c19e34006ef643b14b780b7f9e884a6946034a7792cc4e1&req=dicmEM17moJWW%2FMW1HO4zVYZ0Nu8Z8FOy1US26KtMzKtqkIGRuYhAEODKzUX%0ApI%2FeQWeOEqAI%2BXQRTYk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2716457392/33c90f9ccfbd33fee02840fd2efa/267bc7d1-baeb-4302-a1d9-4491b4110775?expires=1793469600&signature=ccfdba76211449ff2419c6e5cc50b95001d10f12cf554ded22e7adb095b7d895&req=dicmEM17moJWW%2FMW3nq%2BgVW5JBO7g37EtZ3g72lEz5zjFz1B8I1%2BOOKV2TCs%0A%2BlyiyxLRB0lIAaj42cbJ5UdJm0Y%3D%0A) ## How to apply diff --git a/content/support/15330088-set-a-default-model-for-your-organization.md b/content/support/15330088-set-a-default-model-for-your-organization.md index 770b70b7b3..75f41eb2cb 100644 --- a/content/support/15330088-set-a-default-model-for-your-organization.md +++ b/content/support/15330088-set-a-default-model-for-your-organization.md @@ -50,7 +50,7 @@ The organization default applies to every member. To set it: 4. Click “Save changes.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514722139/d05c94072a41ea9090ecf386c53e/c32ee31d-954a-4551-a2da-91677fbd0b6f?expires=1793295900&signature=d613db26ed6b004cc96fc4921e84d420c31737e0771b2818493c2707f397bd6e&req=diUmEs58n4BcUPMW1HO4zelOdjFCJE1OfdGVZ664dGEyylPpQclbfncsp%2BUL%0ANRbYtwXkfs3zhkhzeWo%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514722139/d05c94072a41ea9090ecf386c53e/c32ee31d-954a-4551-a2da-91677fbd0b6f?expires=1793343600&signature=d87a2af244ea82ad04aa26acbad009ca33a3bf13f7cf7d915b0af8fe70be1a1f&req=diUmEs58n4BcUPMW1HO4zelOdjFDKUtBfdGVZ664dGGJoRk3XVc3wxbOai2i%0AeEo2FiEOrHkLQCaHSDA%3D%0A) --- diff --git a/content/support/15694740-manage-model-access-for-your-organization.md b/content/support/15694740-manage-model-access-for-your-organization.md index 468960387f..905a19f18b 100644 --- a/content/support/15694740-manage-model-access-for-your-organization.md +++ b/content/support/15694740-manage-model-access-for-your-organization.md @@ -42,9 +42,9 @@ The organization setting is the ceiling. A role can't grant access to a model th If any custom role uses the model you’re disabling as its default, you’ll be prompted to change that role’s default before the change can be saved. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693921/02ea72756f5163f14e5d158516dc/69102088-cd86-498e-97aa-c8a6e0004419?expires=1793295900&signature=2a179eb61d69b7f0b6a231eb79a42f9b14bb701c6f7c6fb45f6a38e86a3f51c5&req=diUmEs93nohdWPMW1HO4zXlxE%2BS7XtReQf5Pb7M2Q0uG2ro2FB5QgvqX8%2BHJ%0Aj9d1O639MAqDVrjnJ6s%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693921/02ea72756f5163f14e5d158516dc/69102088-cd86-498e-97aa-c8a6e0004419?expires=1793343600&signature=c52853ab25e0fd8f64debc9af87e764267a46c71c7debfe8f4b675681ed978e4&req=diUmEs93nohdWPMW1HO4zXlxE%2BS6U9JRQf5Pb7M2Q0uY3pTn%2B2YCacoionw%2F%0AjQq0QSxV4Rb6H6r%2FvIQ%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693922/bfc5de6626eb19dca1d7caf818ca/c3cd8bb6-f86c-4d01-92da-6ae4ca966662?expires=1793295900&signature=54796bdf9d965486f8829e58f6dd95437c1aa383e90b23a672826787bdd84faa&req=diUmEs93nohdW%2FMW1HO4zTqNsIrHT11eAod9uc510lyQrgrueh5k3%2BDnqaNh%0AtCQEqv3VLRV3AeiMIuY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693922/bfc5de6626eb19dca1d7caf818ca/c3cd8bb6-f86c-4d01-92da-6ae4ca966662?expires=1793343600&signature=e91c002508679d930b536b6a1e213c14adb0201e3b6bad025ba42078184626be&req=diUmEs93nohdW%2FMW1HO4zTqNsIrGQltRAod9uc510lypKS7eILlnj%2FlGxwW1%0ASW59sYfXNxe8eNx9ahU%3D%0A) --- @@ -78,7 +78,7 @@ If any custom role has an effort cap higher than the new organization cap for th Only models the role grants access to can be selected as that role’s default model. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693923/880665a87dbd4776cf19d6063a37/29d30c6d-f9fc-408c-8c72-4320c6d88d14?expires=1793295900&signature=2a8968b10ea5c173650735651514f889dfa8d860aad1e8285ac35f701010e908&req=diUmEs93nohdWvMW1HO4zYj9SPYB5IS0XsqpNqvyFRIIrUXTQlSxaql9YefX%0AiW9lwDNupO3jzhBdeeE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693923/880665a87dbd4776cf19d6063a37/29d30c6d-f9fc-408c-8c72-4320c6d88d14?expires=1793343600&signature=982f49737f5e3ca95363e7ead5cb506c0fc605409960f9811b74b431e77f5c6e&req=diUmEs93nohdWvMW1HO4zYj9SPYA6YK7XsqpNqvyFRJomHOTQMxud6Ec3fTm%0Ae8r%2B0cmwgTsIIKCf%2BcM%3D%0A) --- @@ -96,7 +96,7 @@ Effort limits determine how much computation members on a role can apply per res 5. Click "Save" to save your changes. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693927/7a25673b3b075d72adb3cdc371e3/d2d7cd8d-a713-4e91-a706-f589ac46a9fe?expires=1793295900&signature=2768561c5c98a0b3adba38777294c9a0db1636c42348929b2acae21ed11f0bcc&req=diUmEs93nohdXvMW1HO4ze1xBzC%2BerwQDeA1RkowXUGvAJMtzHGFFCMbnyVt%0AJ8cucgHipkiv32YRX18%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693927/7a25673b3b075d72adb3cdc371e3/d2d7cd8d-a713-4e91-a706-f589ac46a9fe?expires=1793343600&signature=829951c0a87d681429dead471fd83d053b9aeeda372cdd2809490782f3fbb06d&req=diUmEs93nohdXvMW1HO4ze1xBzC%2Fd7ofDeA1RkowXUHvYC9VogWCzKqYDl%2FJ%0A2mm7tJOFutzz0DT0AIk%3D%0A) Members on the role see only effort levels at or below the cap in their model menu. Note that available effort levels differ depending on the model, and some models don’t support effort level settings at all. For an explanation of each level, see **[Change the model, effort, and thinking settings](https://support.claude.com/en/articles/8664678)**. diff --git a/content/support/15936181-get-started-with-1password-for-claude.md b/content/support/15936181-get-started-with-1password-for-claude.md index 6316e9806a..fed5e3c561 100644 --- a/content/support/15936181-get-started-with-1password-for-claude.md +++ b/content/support/15936181-get-started-with-1password-for-claude.md @@ -52,7 +52,7 @@ Once the requirements are in place, you can set up 1Password from a few places i 4. Toggle on **Password managers**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2546126596/ba71ca47e2df21cec62c243831f8/5b1c67e1-607d-4c73-8f61-d1ceb081082a?expires=1793295900&signature=97e3ebb5b1b4291874185e5053a0745a5e9ddc771e2d716bc23e9b8018ffac9a&req=diUjEMh8m4RWX%2FMW1HO4zU5ln2hspMBqGkiu4hEpcPXZLWXXArzPN6ah%2Bv62%0APht9K0gOf5osonhI7LY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2546126596/ba71ca47e2df21cec62c243831f8/5b1c67e1-607d-4c73-8f61-d1ceb081082a?expires=1793343600&signature=f880e3699bd40640a41629263119359697abaa4bd80b9ab09cd7fc1b7afb2c21&req=diUjEMh8m4RWX%2FMW1HO4zU5ln2htqcZlGkiu4hEpcPWfRr%2FOfFT2GlnppGah%0AxYRmdKBVPWKqBh73tqY%3D%0A) Once enabled, eligible users will see the discovery options above. Users still need to install and set up the required apps and extensions themselves. diff --git a/content/support/16607638-understanding-your-pro-or-max-plan-invoices.md b/content/support/16607638-understanding-your-pro-or-max-plan-invoices.md index bf65df6b67..bbbff194d3 100644 --- a/content/support/16607638-understanding-your-pro-or-max-plan-invoices.md +++ b/content/support/16607638-understanding-your-pro-or-max-plan-invoices.md @@ -40,7 +40,7 @@ You can also open any invoice from your account: **Amount due.** The invoice total minus any applied balance. This is what your payment method was charged. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2629072970/c514f489b65072ccad08e803864f/e8c7a7de-905f-4a40-815f-c9c66edcdbf6?expires=1793295900&signature=689a99b6eb24239e065db0496a9d16b786db08092f85130ae83a0a703275c899&req=diYlH8l5n4hYWfMW1HO4zdWraRI951EXPZYKVlMiWEXrLMohJuOCKCHs4lg8%0AatXrLugJA9I9SQ8ExTw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2629072970/c514f489b65072ccad08e803864f/e8c7a7de-905f-4a40-815f-c9c66edcdbf6?expires=1793343600&signature=8abfe6bb03a45ea7af17fee0a75033cbc5abcc1f2bfffa8032c1c99b494e9c5f&req=diYlH8l5n4hYWfMW1HO4zdWraRI86lcYPZYKVlMiWEUi81OP4gD8NqMS8cnV%0Acs4whGu7K%2BVgPH8d%2F2c%3D%0A) ## Billing details on your invoice diff --git a/content/support/16893491-get-started-with-smart-reports.md b/content/support/16893491-get-started-with-smart-reports.md index a08394f29c..0ca235055c 100644 --- a/content/support/16893491-get-started-with-smart-reports.md +++ b/content/support/16893491-get-started-with-smart-reports.md @@ -28,13 +28,13 @@ Each report includes the following sections: Workstreams shows what the group used Claude for most, by sessions and by spend, side by side. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671030907/7b62b605189fe8e9474a20c1eaf2/image.png?expires=1793340000&signature=665b23fbc969de46bb96c3bba88c54769b2caeda665fce629e671e0974395e5a&req=diYgF8l9nYhfXvMW3nq%2BgYjLrMqCQXkwcDmueNPeNxw2h5Pfu5h2n849JYHp%0Am0TWhrQIyVu%2FKoHBa95HUT8lW1A%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671030907/7b62b605189fe8e9474a20c1eaf2/image.png?expires=1793343600&signature=4c5dda68a1c77dea0f3a4154ec2c718541a24575ca740140a3b642936f022c99&req=diYgF8l9nYhfXvMW1HO4zZse%2BmGfTwsKVa%2FWhnGS4GnNnx6yYaolAMOCI0nc%0A3sSvv4RSTeDfziz7cHg%3D%0A) ### Deliverables produced Deliverables produced groups sessions by the type of output that was produced. For example, analysis, documentation, content drafts, and code. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671035220/2a582bc047a6ba46e7dbd6f05d9f/e17881ac-874c-4747-94ca-8679e0301455?expires=1793340000&signature=e5c78d9ae2577dbc8137856b025287f32f750d4aa3ba59fcd62b56f3360acc2c&req=diYgF8l9mINdWfMW3nq%2BgarkVpAdyJl8tp7D4nw4%2FNVVX%2Fpzd1RXCW6z1KmN%0AlUuSfWkPcfDTw9w73cjDVI0CICw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671035220/2a582bc047a6ba46e7dbd6f05d9f/e17881ac-874c-4747-94ca-8679e0301455?expires=1793343600&signature=54b7154c6b43321f9cd3ba820a52dcee9b93cd1a84e0d4d1a62a6258e6d6c7f9&req=diYgF8l9mINdWfMW1HO4zelj06RYl970YDEFlKbF9Y81X9RFfstohQjrVTCB%0A%2FBjOO%2BgssbUW0ZltUkY%3D%0A) ### Cost per session by type of output @@ -48,23 +48,23 @@ Task outcomes shows what each session produced. Most common pain points shows what got in the way, by category. For example, a connector that wasn’t set up, output that didn’t match the ask, approval or sign-in gating, tool failures, or rework loops. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671052365/b69f22b75729e5587563e7ab6830/b1647659-a7ea-403b-89fc-0b150ee97675?expires=1793340000&signature=d62b19eaa882cc5ebe375f7c06ab4a63991075023b9fac6da1ac5d938d656c51&req=diYgF8l7n4JZXPMW3nq%2BgelfR%2BcWVGX06MzUYunlzgTeWlqWA3v7B4bYqAy8%0AYbPgf2%2F5ZI8gQiMidKTuHbDwguY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671052365/b69f22b75729e5587563e7ab6830/b1647659-a7ea-403b-89fc-0b150ee97675?expires=1793343600&signature=26180ed5f8e5db752adc82077d9c2f7088608dd9f4397a5c404ee6665c80354d&req=diYgF8l7n4JZXPMW1HO4zdDitrk2UN5XjFK5P3Uf7RiW59ODj8RqXSalSUvH%0AqG6jpMQsj9pdx%2BbWsH4%3D%0A) Click into a category to see more information: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671053199/b68936dd5d590c5fbcbbc092b332/5ec247b2-cd67-4f3f-97b5-23479b87a5c6?expires=1793340000&signature=b11a0a6e8b2247556b02feea562572780bf85e50b30ad587a74c719246d80f6c&req=diYgF8l7noBWUPMW3nq%2BgWyn0a4cxWSUeBDXzS32B3D7I0C%2FhmLKhsPOARWy%0AkUzaVoA72mmUeQaKgbLF%2FqNXcC0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671053199/b68936dd5d590c5fbcbbc092b332/5ec247b2-cd67-4f3f-97b5-23479b87a5c6?expires=1793343600&signature=3ef357ff0259f45ea75925ce3d80fe5822f95d316ceb34608f667db84a521a73&req=diYgF8l7noBWUPMW1HO4zbuGO4grIroaodOVMLl17PVh5cWyQAbiJwrIJidK%0AQhYolQPGL65Wb1ob5iM%3D%0A) ### Inefficiencies Inefficiencies counts sessions that produced nothing usable and sessions that were personal or off-topic, with their cost (shown only as an aggregate count and cost, with no summaries or drilldown). -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671036122/90dc848a7adf371a872bd89a2f5e/de86945b-ccfe-4e0f-892d-abacc475c5c4?expires=1793340000&signature=a7096fbf914b23533335ae18815d0554e4f656f394b3e59256d608d60d7d5d0e&req=diYgF8l9m4BdW%2FMW3nq%2BgeoSslrziIFDFvdxx0rcKdH6EPcej9FXA8oXDh%2BQ%0Aez%2BiIiM2266lQy7O3%2BNtnndu5y4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671036122/90dc848a7adf371a872bd89a2f5e/de86945b-ccfe-4e0f-892d-abacc475c5c4?expires=1793343600&signature=a89b2bb3b1b012afd4ccea16f74a5ced3f713c7bf6a4d9e8ef776cd28f4aadf4&req=diYgF8l9m4BdW%2FMW1HO4zcYfhgyVCfccBas8rgXn%2Fb22hBkV4BXXkXHFY0DH%0Ak5nsTjrPAOCVLNE4ZzE%3D%0A) ### Complex, autonomous work Complex, autonomous work shows sessions scoring highest on task complexity, time saved, how long Claude worked on its own, and the expertise required. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2771304819/746adaaa5ae3196304f0af43cbdd/image.png?expires=1793340000&signature=10d5f99f93022858c2a47dbc2de6f4b9864f4e661086ba388d8c82ee35df68bd&req=dicgF8p%2BmYleUPMW3nq%2BgYlXrFSOxRoo1FyxHSKGet4prBSDXBLrTSyKJBrc%0AUtSB5%2FbKJl%2BhTRT5aXOAfvjOI4U%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2771304819/746adaaa5ae3196304f0af43cbdd/image.png?expires=1793343600&signature=244e43b05d4d9874c2ca2d61ed1bf22c867914a4f26f2820a94a8cd73e3e0c25&req=dicgF8p%2BmYleUPMW1HO4zRKi0HWAiU1ghdMrWDTaChWTSzEm0Na5ju%2FwcICF%0ADCzLN52TwUOTZ83LOIQ%3D%0A) ### New to the organization @@ -78,7 +78,7 @@ This section shows work that people have automated for themselves. Most expensive sessions lists where spend concentrates. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671032083/2b075387a4a3473f884a8ba26436/image.png?expires=1793340000&signature=44e01bf30a5c0192d621b071d0a3452ad38079fa66adf34e76054b02486ea136&req=diYgF8l9n4FXWvMW3nq%2BgQL8lhi0Y1wehpeDH9GO2SfYTyabdSfMVUPc28HP%0Am5HGjEwccCEJQdvLZdMWiBZkFzQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671032083/2b075387a4a3473f884a8ba26436/image.png?expires=1793343600&signature=9a7e3567bceed89644ce7f90aa546ed9f6ddf87d86015f2e861ad4eb903d4b6b&req=diYgF8l9n4FXWvMW1HO4zdLkImym7kUvnUoxuhUXEhhSVkf6YmL%2BD9TLkFgU%0A57Taj9ac1bPo1PgLXRo%3D%0A) ### Answers to custom questions diff --git a/content/support/16951679-use-claude-in-google-docs-sheets-and-slides.md b/content/support/16951679-use-claude-in-google-docs-sheets-and-slides.md index a3b42feb46..77c1796591 100644 --- a/content/support/16951679-use-claude-in-google-docs-sheets-and-slides.md +++ b/content/support/16951679-use-claude-in-google-docs-sheets-and-slides.md @@ -28,11 +28,11 @@ If your organization already allows Marketplace apps, this takes about two minut 2. Open a Google Docs, Sheets, or Slides file and go to Extensions > Claude > “Open Claude": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2707281468/abc0497defca04936c9a4b97d147/8b17d05f-3fb1-4e49-8d1f-65364ac3f496?expires=1793295000&signature=a97247d7a78a7db5bd3e6433ffbaf39310b02fa34b36232b9df3975f7814a712&req=dicnEct2nIVZUfMW1HO4zRwmJT9uXeFPaAKM49NdBLPueBS0MSxV%2Bu2NL%2Fom%0AoMcW%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2707281468/abc0497defca04936c9a4b97d147/8b17d05f-3fb1-4e49-8d1f-65364ac3f496?expires=1793343600&signature=a58e77bda638c4cab58f1dea1bf2f568b79177bef27b11c3b0a92ca2b19193e7&req=dicnEct2nIVZUfMW1HO4zRwmJT9vUOdJaAKM49NdBLNgif4laJ9QIJT1rKa4%0AA2no%0A) 3. The first time, Google asks you to allow two permissions. Review them and click "Allow": - ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2707282342/f583a396098ff16e3cbd156d4a2a/112c6459-79c6-4fbb-9bc0-748fda6f592f?expires=1793295000&signature=52f3567e7dce3781cd80d6698f280cc5c4e9edcf5dae0798f1870844a1a00440&req=dicnEct2n4JbW%2FMW1HO4zeKY3p8EiQvweBfHlrCfDWcjAth2ei9Up9ePTOoq%0AeIyw%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2707282342/f583a396098ff16e3cbd156d4a2a/112c6459-79c6-4fbb-9bc0-748fda6f592f?expires=1793343600&signature=4c3749c24482202c0d0c1eef8bcd3e0db9c94d4239c23b978eb64366fba545eb&req=dicnEct2n4JbW%2FMW1HO4zeKY3p8FhA32eBfHlrCfDWc33w9SWZ9UJWXXet%2FZ%0AuNT7%0A) 4. Sign in with your Claude account in the sidebar, and optionally enable your connectors. diff --git a/content/support/17005973-manage-pooled-group-budgets-on-enterprise-plans.md b/content/support/17005973-manage-pooled-group-budgets-on-enterprise-plans.md index 77a02bf5d0..c0919d47a5 100644 --- a/content/support/17005973-manage-pooled-group-budgets-on-enterprise-plans.md +++ b/content/support/17005973-manage-pooled-group-budgets-on-enterprise-plans.md @@ -80,7 +80,7 @@ If a user belongs to more than one group with a pooled budget, the largest poole With a custom order, the first pooled budget in your list with budget remaining pays. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719736736/a4ec8e92af4975a87891357e5dbd/6f58b496-432d-4069-ba18-72a6390ab2ea?expires=1793340000&signature=6003ab437a9836e53b9450fe984b5744f3ce1086cb64228ba07c84dbedc25aaa&req=dicmH859m4ZcX%2FMW3nq%2BgY11ANp3WggOlHVbrlHEMA0zjoH1Wgl5wm3WuoZL%0A0BN0PLIh%2FGeJafR%2B4IfN0Y27hCQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719736736/a4ec8e92af4975a87891357e5dbd/6f58b496-432d-4069-ba18-72a6390ab2ea?expires=1793343600&signature=f12daefb1ed5cac878e3c8785ba789e2c4b94fe409f7c917fa8fc0a3831041c3&req=dicmH859m4ZcX%2FMW1HO4zU9wBwcbVYs1TLR6JppsyjRiAuXBn8oa2MgzJL%2BG%0Aao4p%2BBdxsHWxb3yG2X8%3D%0A) **Note:** Budget priority only decides the order in which pooled budgets pay. To choose which group's member monthly limit applies to a user in more than one group, use the **Member limit from groups** setting under **Spending defaults**. diff --git a/content/support/17203415-set-up-claude-for-intune.md b/content/support/17203415-set-up-claude-for-intune.md index b0a215e436..40de24baa6 100644 --- a/content/support/17203415-set-up-claude-for-intune.md +++ b/content/support/17203415-set-up-claude-for-intune.md @@ -70,25 +70,25 @@ To add Claude for Intune for enrolled company-owned devices: 1. In the Microsoft Intune admin center, select "Apps" from the left side navigation panel: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700192269/ce2bf95a18aba11042da50f4c1ad/dda0f9a2-d585-4b09-ae4f-a1ff70b1e010?expires=1793295900&signature=74f8b83a1172f9096740a65795f062c3047ecbd67b96cd8c069d956d659d6305&req=dicnFsh3n4NZUPMW1HO4ze7khjLT625pAMLV2Uu0R4U2xr4u83L1DD7eK30J%0ARKH2%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700192269/ce2bf95a18aba11042da50f4c1ad/dda0f9a2-d585-4b09-ae4f-a1ff70b1e010?expires=1793343600&signature=c15643a16d19905cc78ab2f684af2bea5ce06fc021488b35cb4d89c7e21ac207&req=dicnFsh3n4NZUPMW1HO4ze7khjLS5mhmAMLV2Uu0R4UeTLK3MHVQ%2FFwwvQJK%0ALGoT%0A) 2. Under Platforms, select "iOS/iPadOS": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700195036/b70c6c0bdeff5f2b72568ef4943b/67cc834c-5e91-42da-9d3b-1f32c8dd8c05?expires=1793295900&signature=e309e04781140865590d8b1abd6689d63f0fb76da9b46866b9b050e56f01bf22&req=dicnFsh3mIFcX%2FMW1HO4zeH1oU7luHadQ7hR7Wh%2Bi70wgarLg934wIQdYa4L%0AC4kt%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700195036/b70c6c0bdeff5f2b72568ef4943b/67cc834c-5e91-42da-9d3b-1f32c8dd8c05?expires=1793343600&signature=d91f31895b6539ed9e5a97d603cd343c7d3c43c7c4b8d50293fb4fcdb8c9fc19&req=dicnFsh3mIFcX%2FMW1HO4zeH1oU7ktXCSQ7hR7Wh%2Bi705ua1Fj22ef3Hrlk0J%0AmpgW%0A) 3. Click "+ Create." For the App type, select the "iOS store app," and click the "Select" button on the bottom: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700195791/9a01290b4189e6a39c473af0a448/cfed06da-f35a-4b22-b687-286ea48864c1?expires=1793295900&signature=c84e833253261215a17c86a6f0b1ae52dce0993121be26bc6c332568ea16e576&req=dicnFsh3mIZWWPMW1HO4zTni3cUra5sl2SRx6amjj9FSezSa8dP1rjBfaJgP%0AbIe%2B%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700195791/9a01290b4189e6a39c473af0a448/cfed06da-f35a-4b22-b687-286ea48864c1?expires=1793343600&signature=ce868d56bb7df5371fc1cfa927cabde63d92546e476c8f919883a9fb94b4263c&req=dicnFsh3mIZWWPMW1HO4zTni3cUqZp0q2SRx6amjj9EJ4l7loHJsw1kB5INY%0AcicE%0A) 4. Search "Claude for Intune" and click the "Select" button on the bottom. 5. In **App Information**, set **Minimum operating system** to iOS 18, then click the "Next" button: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700196458/588327ab209e9524c45111a244a1/258697c2-2f82-471b-9104-2bccb1b01614?expires=1793295900&signature=ddcaf96f9f103641f25a3d33aff75278378e8c8ac4463e717b223d1afbda63f8&req=dicnFsh3m4VaUfMW1HO4zbxl5YtVfjcnDNNSLAHCCFrysu0kyrbHwZREFpPq%0AmADK%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700196458/588327ab209e9524c45111a244a1/258697c2-2f82-471b-9104-2bccb1b01614?expires=1793343600&signature=80ccfb3731f191c26406885e178cac4661bd1a42e977d6fe39fcea1a7585daa1&req=dicnFsh3m4VaUfMW1HO4zbxl5YtUczEoDNNSLAHCCFp5geOOeVjiehhigSb3%0A7s3Q%0A) 6. For **Assignments**, add the groups that should get the app: under Required to install it automatically, or under Available for enrolled devices so employees can install it from Company Portal. You can use user groups or device groups. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2741107114/8f15b0d179a54c2ca4effaad8577/55bed25a-4b20-47b0-9e89-7f8adc86c04f?expires=1793295900&signature=9b7a711a6847e01971cf5d42b326e5fa14f1ebb9a5574174148bd79d2487c410&req=dicjF8h%2BmoBeXfMW1HO4zYaZMeu%2BcPaXmN%2B6UXepdg%2Fl1m%2BRg5noPEoB3sT%2F%0AHdym%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2741107114/8f15b0d179a54c2ca4effaad8577/55bed25a-4b20-47b0-9e89-7f8adc86c04f?expires=1793343600&signature=76a6f1196389e9c3060382d33ba9e5f2c4d5ec92c339ac00adf8ab99bb203a84&req=dicjF8h%2BmoBeXfMW1HO4zYaZMeu%2FffCYmN%2B6UXepdg%2BQQBn3tNGHXKmvnH%2F2%0AJd1%2B%0A) 7. Click "Next," review and create. @@ -98,27 +98,27 @@ To add Claude for Intune for enrolled company-owned devices: 1. In the Microsoft Intune admin center, select "Apps" from the left side navigation panel: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700190760/9f6412fe68632cffee29826f7d30/42fdeb30-64af-4089-a976-5094bb6b8292?expires=1793295900&signature=eda6dc05ae046f489f4830f25c440fa6b0d9629e8ff36110a1992a5c70352ebb&req=dicnFsh3nYZZWfMW1HO4zQwrZIkAWtc1LtTCoSp4D6rSsvQ8ILn9LB%2Bvq7II%0AlMKm%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700190760/9f6412fe68632cffee29826f7d30/42fdeb30-64af-4089-a976-5094bb6b8292?expires=1793343600&signature=35a94fcfbe2e54316cdea6791770e3fb1b18234129b7d53bef414ea08d8e67dd&req=dicnFsh3nYZZWfMW1HO4zQwrZIkBV9E6LtTCoSp4D6qaKgViuvSQKdCyp2XP%0AR8Ag%0A) 2. Under **Manage apps**, select "Protection": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700200858/a7ddd4265aeb6d61a7a096297cd5/fc9a1fe2-3d0e-4038-9b2c-f96bd19e4020?expires=1793295900&signature=e6ee043cf65fd6af59d9b16265167ace4434b2b953a10cce3f316a2b6db55999&req=dicnFst%2BnYlaUfMW1HO4zeBHXBw%2F%2FPjknJWY0xu8hzLH0VwqLcnPaXV17E9T%0AUkPQ%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700200858/a7ddd4265aeb6d61a7a096297cd5/fc9a1fe2-3d0e-4038-9b2c-f96bd19e4020?expires=1793343600&signature=837a6cd30c652c58e9baf2376db87984b8c9dbfa0a0936145a97dab05d159aa3&req=dicnFst%2BnYlaUfMW1HO4zeBHXBw%2B8f7rnJWY0xu8hzK0RviNRRIubSd3wZ11%0AfLDW%0A) 3. Click "+ Create" and then select "iOS/iPadOS": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700201382/6240e257b2b498b5fa5ac1111561/11ef4f59-aba1-4d2b-ac58-9aec1dd60a4d?expires=1793295900&signature=7482079bdd1bd7d85f898624b02d1dcb01fa82eead24dd66355f6d22738a052e&req=dicnFst%2BnIJXW%2FMW1HO4zc89y0hUC39HV2VWh%2B9zzEq%2Fjjxzm5wFbE0wXUQz%0AWMU1%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700201382/6240e257b2b498b5fa5ac1111561/11ef4f59-aba1-4d2b-ac58-9aec1dd60a4d?expires=1793343600&signature=8e22c29f456f575b961db31aa772f950672204e755358037d070e1cdb832b12d&req=dicnFst%2BnIJXW%2FMW1HO4zc89y0hVBnlIV2VWh%2B9zzEoqlprffapvZtz8ycgG%0A3ZK4%0A) 4. Enter Name in the **Basics** tab, then click "Next" to **Apps**. Set **Target policy to** "Selected apps." Click "+ Select custom apps": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700201929/2edf45cedc0bc03204f86d01a49e/4d96c12d-962b-43f6-8b3f-668e3247d4c1?expires=1793295900&signature=30337084da56f5c29139fa867f0346fac09bde8c4b915a488c0a869e0fd1ac21&req=dicnFst%2BnIhdUPMW1HO4zVmMRJIWWjgBKETwku7gMstEUp0v64RRcCDsqymZ%0AhohJ%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700201929/2edf45cedc0bc03204f86d01a49e/4d96c12d-962b-43f6-8b3f-668e3247d4c1?expires=1793343600&signature=05eb9044d310115748f6be456946ceb935ce0bc9018ca5fe7da328f4e576029d&req=dicnFst%2BnIhdUPMW1HO4zVmMRJIXVz4OKETwku7gMsu37pF7BjN8OGCpp38R%0A9qKG%0A) 5. Type in the bundle ID `com.anthropic.claudeforintune`. Select it so it appears under **Selected Apps** before clicking "Select": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700202816/3565aea2d1b9c22a5f8d105825c5/3de6d241-6259-463e-a503-a6ca9f2095e0?expires=1793295900&signature=95692e1c067b41833a3519a73ab51fbcf63d6fa91c5f7a9f54aa4e93bdeeacfc&req=dicnFst%2Bn4leX%2FMW1HO4zf6tYiAqwa9%2B12LT9vQL0W5hCwYyH5leqKjZx9Of%0AzGJJ%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700202816/3565aea2d1b9c22a5f8d105825c5/3de6d241-6259-463e-a503-a6ca9f2095e0?expires=1793343600&signature=46c29d2817a6d3d1f644c1dec49e4dea78713fd8774939b9c43ae08945c9a8bc&req=dicnFst%2Bn4leX%2FMW1HO4zf6tYiArzKlx12LT9vQL0W412Xp2xm95pBB%2B40vE%0AWn4r%0A) 6. In Apps, confirm the bundle ID now appears under **Custom apps** before clicking "Next": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700203780/24ed354ef0de87bf0a0c1bc129a1/46eed662-f488-48ee-a4d1-8a9a76079884?expires=1793295900&signature=1f7b1c07f98df84e3a3c8412a91910d7c045a8aec4db09cb1aa999b92ac1f3d1&req=dicnFst%2BnoZXWfMW1HO4zQd95NaI0s3W8F6Cfy2R7u92ICUZ%2F%2FzsJxzAb5GA%0A8Asf%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700203780/24ed354ef0de87bf0a0c1bc129a1/46eed662-f488-48ee-a4d1-8a9a76079884?expires=1793343600&signature=e8ee25b4f4165eafcd6ff7b0f3f69663d874fb91e026b9be3c4f62d46d584828&req=dicnFst%2BnoZXWfMW1HO4zQd95NaJ38vZ8F6Cfy2R7u%2FzWJYFXVdrPfEl5kKo%0AhB23%0A) 7. Configure the Data protection, Access requirements, and Conditional launch settings as needed. diff --git a/content/support/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization.md b/content/support/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization.md index dd5f5946cf..c844b8b255 100644 --- a/content/support/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization.md +++ b/content/support/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization.md @@ -184,11 +184,11 @@ The new unified Claude experience gets its own line in your reports. When a memb **A page of its own.** Admins who can view analytics will find a Chat and Cowork unified page under Apps. It shows daily active users. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719814921/59cd7abb6c99192d741223dd2016/f2fadd45-8cb0-49db-a9a2-c8f367f29c91?expires=1793295900&signature=1b6e1cbde2dedaca5d6891665b75a17bacf11e33b28d1689a3379591f0121906&req=dicmH8F%2FmYhdWPMW1HO4zdLa5QxqaauJf83E7E4Kt4VqYucwjohfHNvckt1f%0AcbiB5TKzFmSB7OxNFOc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719814921/59cd7abb6c99192d741223dd2016/f2fadd45-8cb0-49db-a9a2-c8f367f29c91?expires=1793343600&signature=a0779c0c82896df0aad30d796b8d94d7ad646e1d63b27375c694a43da986d84a&req=dicmH8F%2FmYhdWPMW1HO4zdLa5QxrZK2Gf83E7E4Kt4VfKIxlFEZtQKreZGjm%0A2O6NRjI%2FQ43VUjJ1eBo%3D%0A) **Across the dashboard.** You can pick "Chat and Cowork unified" in the Active users, Active members, Total spend, and Spend by model charts. The See all members table on the Overview page has a "Messages in Chat and Cowork unified" column. The Top connectors and Top skills cards don't include it yet. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719816289/17e3ba22d470c32e8df9b3c20251/385c6be9-7019-451d-85f8-025a6e12a34c?expires=1793295900&signature=ae31508efcf10e7d0536ef93241e8a990e7ef00802475fd9fb0fbd367744badd&req=dicmH8F%2Fm4NXUPMW1HO4zRXO8AwTSYCwJG9o4WcdeVAFSOoFXrmmOGDzhlar%0Af%2FQT8DN1hXlZXQu2OOI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719816289/17e3ba22d470c32e8df9b3c20251/385c6be9-7019-451d-85f8-025a6e12a34c?expires=1793343600&signature=837874ece1075a566f32fea5b0a6c050f9560558ea5fbcbeaa8021133d381e96&req=dicmH8F%2Fm4NXUPMW1HO4zRXO8AwSRIa%2FJG9o4WcdeVBgJv%2BGXf9RPm54in%2Fh%0AZdi53wLsy8%2BqxrAcXgA%3D%0A) **Who sees it.** The page appears for every organization that can turn on the new unified Claude experience, whether or not it is on yet. diff --git a/content/support/8114491-get-started-with-claude.md b/content/support/8114491-get-started-with-claude.md index c9d7b9e2c8..556ce4b1c2 100644 --- a/content/support/8114491-get-started-with-claude.md +++ b/content/support/8114491-get-started-with-claude.md @@ -36,7 +36,7 @@ You use **prompts** to communicate with Claude. The best approach is to speak to Type your prompt into the chat interface and click the submit button to start a conversation with Claude. You can click the "+" button in the lower left or type "/" to view additional options and commands: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1916208578/2cf2ea52f1f884084b57983a8805/image.png?expires=1793295000&signature=6cbb54c570f85caef68469ce49881209d6b882959072f9ce12263506e3eaca9c&req=dSkmEMt%2BlYRYUfMW1HO4zV2J7CzIvYKB9crMELaMZPw7m8MxbcZzPBZ%2B3ljN%0AVZ2GUeiTvaWIKax80sw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1916208578/2cf2ea52f1f884084b57983a8805/image.png?expires=1793343600&signature=54f8a70d42af4a2717dd7891e8b711e0cfd14ebb82a312b69b5c825f677992be&req=dSkmEMt%2BlYRYUfMW1HO4zV2J7CzJsISH9crMELaMZPxUUoFOd4SP1hM3UkZZ%0Aj6Isld4GT57efDU732w%3D%0A) --- diff --git a/content/support/8230524-delete-or-rename-a-conversation.md b/content/support/8230524-delete-or-rename-a-conversation.md index 1433518f52..bb330d51bb 100644 --- a/content/support/8230524-delete-or-rename-a-conversation.md +++ b/content/support/8230524-delete-or-rename-a-conversation.md @@ -44,15 +44,15 @@ These steps apply to Claude for iOS, listed on the App Store as Claude by Anthro 4. If deleting, tap "Delete" again in the confirmation prompt. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599501318/75c28edc693efbe8befd21e4da64/d18a921a-df4b-4788-833c-12c966a32527?expires=1793295900&signature=ec073236b778cb4a67aeafe51febab8bb62a39b4f1e435bfa7154465412bc34f&req=diUuH8x%2BnIJeUfMW1HO4zSc12K1YgWWi1DBI29QsIlFOXshr9a67gG%2BAyaDA%0ADuEXn2M1I2fKBHL%2F1Xk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599501318/75c28edc693efbe8befd21e4da64/d18a921a-df4b-4788-833c-12c966a32527?expires=1793343600&signature=8a291a3436481a36166f0df279d99c5818388b914d88928474358d182102853f&req=diUuH8x%2BnIJeUfMW1HO4zSc12K1ZjGOt1DBI29QsIlHHg7tRkN1ZhKhUC%2Fmk%0A3DRJOCbt2F0YWrZs0Lw%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493852/2e58b92d18f307bb79ae30650f26/1bbe52f3-202b-4d5d-9f9a-eeda4d6952c3?expires=1793295900&signature=a0bf1c16f30a7f8ccbfca6c45c4873dfbb0f755e18022facfd6c0930c559d1f1&req=diUuH813nolaW%2FMW1HO4zTjXM%2BSOJ8Xsj7blKEDtUI0nWNbT9k%2BOAapMEEAV%0A%2FJ22ldCy2NNVsCrnIuA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493852/2e58b92d18f307bb79ae30650f26/1bbe52f3-202b-4d5d-9f9a-eeda4d6952c3?expires=1793343600&signature=d66873fd20b27bad9c9880c0076302e445a97ab8eec05e387378a54801668094&req=diUuH813nolaW%2FMW1HO4zTjXM%2BSPKsPjj7blKEDtUI2VW68RvumHKLcPA01x%0A%2B1GfNVB5GzvhPHTZp5U%3D%0A) You can also delete the conversation you have open: tap the "⋯" button in the top right corner, tap "Delete," then confirm. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493848/997184c386d0e6fb0bd2d7c1f2b6/5d2bc394-25fc-4814-8c2a-2f54d004f83f?expires=1793295900&signature=ed6111276f48f129ecd72f03922cda91ba70f6f0af795cc89ef8bcddf0b078c5&req=diUuH813nolbUfMW1HO4zVCIq5nNwtlPzQl%2BKgU984yWiY8wjSfLlpfFKsCf%0AqwAXB1NvIN5b3GLPmkk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493848/997184c386d0e6fb0bd2d7c1f2b6/5d2bc394-25fc-4814-8c2a-2f54d004f83f?expires=1793343600&signature=bb9f7e97142d4f02645dbcd3dcf20c100dcd63b9aab6f6a2376913b89ec0f2d0&req=diUuH813nolbUfMW1HO4zVCIq5nMz99AzQl%2BKgU984wyHEKz6nYxD6I4SsQx%0AKGNvIUQXZzQaRd4YMlg%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493856/799041da9fa918e90068c5ebf5bd/2e8d5cee-c45a-41d7-a14b-486e50a37f88?expires=1793295900&signature=5afe769c99e104b33287ea9a62b892b86c5dbf80f572a89546dacb29e1328502&req=diUuH813nolaX%2FMW1HO4zVCl4Qvw2GBEEDIU8RT6jk3sj27e8M%2F3iQrUgSuB%0AXvILAUCcB2ntuPxo4%2BE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493856/799041da9fa918e90068c5ebf5bd/2e8d5cee-c45a-41d7-a14b-486e50a37f88?expires=1793343600&signature=d4aa7ceb2812869272971a7870a32ced872b5996db04aeda912f8c77e51cb1c1&req=diUuH813nolaX%2FMW1HO4zVCl4Qvx1WZLEDIU8RT6jk3IRfen9huXJdKhwITR%0AM9fHiPNuAW3MTJtEvCk%3D%0A) ## Delete or rename a conversation on Claude for Android @@ -66,9 +66,9 @@ These steps apply to the Claude for Android, listed on Google Play as Claude by 3. If deleting, tap "Delete" again in the confirmation prompt. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493850/a64e6561222d535f2f5bd03e71f0/5de429c2-d8ed-4e8a-89e8-a13ccaa49767?expires=1793295900&signature=aa005fa7dbd56c9449573eda88f4de94596ada9f4936cf7afacd537508f4b995&req=diUuH813nolaWfMW1HO4zVTddtEuy1V8rqtc0YNNUtJMuARssMDZ3R%2F4seID%0AmfMukDoSK3LvRYwJ88s%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493850/a64e6561222d535f2f5bd03e71f0/5de429c2-d8ed-4e8a-89e8-a13ccaa49767?expires=1793343600&signature=97abafea965a8370fd8eac9d80e32bce1754cae65fd80cc231caf3ba50733bb4&req=diUuH813nolaWfMW1HO4zVTddtEvxlNzrqtc0YNNUtJ0h64HRhZbfl%2BfBl%2Bc%0AMx5H%2FSufQGJNVReRCNs%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493851/f21b39c60e88050d4b0745325f0d/0a8c0d08-dc53-4ef1-8d9f-2b995242c1f9?expires=1793295900&signature=f74c301cf289b787564639060fa053fc18e64c6bb3a563d4fb01147815373510&req=diUuH813nolaWPMW1HO4zUYvwlYJqztV%2FjekULCQNzWMAkcBjbrhLeOanIWN%0APk3zadOCctUib8pDhf8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493851/f21b39c60e88050d4b0745325f0d/0a8c0d08-dc53-4ef1-8d9f-2b995242c1f9?expires=1793343600&signature=628afcff6bae227edb7361ffc41682cf03ae88bf1c3a5eb7fcb995fafae67916&req=diUuH813nolaWPMW1HO4zUYvwlYIpj1a%2FjekULCQNzVkzOcbMstvn21sBmhe%0AZIUfjtm4u8CBtPwkakg%3D%0A) **To delete multiple conversations at once:** @@ -78,9 +78,9 @@ These steps apply to the Claude for Android, listed on Google Play as Claude by 3. Tap the trash icon, then tap "Delete" in the confirmation prompt. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493849/3013a0ab921337b4544f7ffeffa6/e828ec14-fb52-4205-a840-707b6f2a848d?expires=1793295900&signature=38d376a7c39a543b970e679c2685f5b0352ff63cf634353054f2dceac0a52173&req=diUuH813nolbUPMW1HO4zWGamcR2c4jW4AqhTnZa84XwtJckH4daEeaxYnHv%0AM0yL1BGiKd2jgSIQb%2Bw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493849/3013a0ab921337b4544f7ffeffa6/e828ec14-fb52-4205-a840-707b6f2a848d?expires=1793343600&signature=bc26db7a15cbf6024da14ff922ea4fc14c306b1f6c913d2fbad82da2250cde89&req=diUuH813nolbUPMW1HO4zWGamcR3fo7Z4AqhTnZa84X3LJp2gdZTwTT6BcxC%0AQlDYxoZfSUGuztwKygE%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493853/e2507f53cce8a26776a22a457b1a/bd79bb8a-b078-420f-a4e1-75590367aa80?expires=1793295900&signature=b47994d98a47760554502c12152fdc129f7d282921d3cfb3af9d4a5b06a1e417&req=diUuH813nolaWvMW1HO4zQTtEhbzzUUxSBGfF3I2bRjHF1A0zTW9%2FSr%2BWaHS%0A8H4nKZMpg3Nsvmb%2F2OI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493853/e2507f53cce8a26776a22a457b1a/bd79bb8a-b078-420f-a4e1-75590367aa80?expires=1793343600&signature=b42982a93c1fcff78255ad8c8fc2b236d5639c21788125cf46e8dfc1171d0932&req=diUuH813nolaWvMW1HO4zQTtEhbywEM%2BSBGfF3I2bRiwSsYuOJVI3qiELYuC%0A4k%2FlyrEUjri%2FbGTmN3U%3D%0A) ## What happens when you delete a conversation diff --git a/content/support/8325618-paid-plan-billing-faqs.md b/content/support/8325618-paid-plan-billing-faqs.md index 5ef7e451ad..9d1aed3e95 100644 --- a/content/support/8325618-paid-plan-billing-faqs.md +++ b/content/support/8325618-paid-plan-billing-faqs.md @@ -50,7 +50,7 @@ There's no separate option to remove a card, and updating to a new card replaces If you want to use a name other than the one tied to your payment method, check the "Use a different name on invoices" box when adding or updating your payment method in **[Settings > Billing](https://claude.ai/settings/billing)**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922141785/666191101c11030b05f03a668a74/image.png?expires=1793295900&signature=eaee8bf879724631762dbe87499899c228f8d63f2270bdfc1ab00e880938442a&req=dSklFMh6nIZXXPMW1HO4zVXW8W6pYjbFQoNvNFTb5cdbWfOAZ%2FCNwX80%2F41n%0AdDIZiEiRefE%2BZBDEii4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922141785/666191101c11030b05f03a668a74/image.png?expires=1793343600&signature=1bf416e4075bdc2d11b13333cf0d33682345feed8af924a4b5f95f1a0c89b8a2&req=dSklFMh6nIZXXPMW1HO4zVXW8W6obzDKQoNvNFTb5cfkIsH3hgwDHjsFN4lN%0AugyQ2Vg9eLXdNxvWHcY%3D%0A) ## How can I edit a paid invoice? diff --git a/content/support/8887527-customizing-your-appearance-settings.md b/content/support/8887527-customizing-your-appearance-settings.md index 5a4e444ab1..5691e1b691 100644 --- a/content/support/8887527-customizing-your-appearance-settings.md +++ b/content/support/8887527-customizing-your-appearance-settings.md @@ -8,7 +8,7 @@ 3. Select from Light, Match System, and Dark under **Color mode**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260417/d478c757c7115ad58a12026d4caf/AD_4nXc__Qop4X9hknWGfGj_y_DCpLutLruhxIclJIfir0ilsgNMg7X8ksIVnqk1Oce5FKlGIOYu9CKbVsu8DqD7iIY2aC0ZfXMyFTeAdNq-Cao2mXcj_WUpNF0kM2HoYR_dEx6N_cuJow?expires=1793295900&signature=a591a27b383e93d01691e01c2a2fbd96feb0387a6706e58e94eaba07650f5c83&req=dSYjHst4nYVeXvMW1HO4zc2jJqE%2FiY7tSBkgeTglJrpezXzAfjVMT4ObmwZG%0A%2Bxx8ua7T3BC64%2FJflOY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260417/d478c757c7115ad58a12026d4caf/AD_4nXc__Qop4X9hknWGfGj_y_DCpLutLruhxIclJIfir0ilsgNMg7X8ksIVnqk1Oce5FKlGIOYu9CKbVsu8DqD7iIY2aC0ZfXMyFTeAdNq-Cao2mXcj_WUpNF0kM2HoYR_dEx6N_cuJow?expires=1793343600&signature=ba2410f424192b365781c6bd5535cc836e109985f6869c5a6fe341d107c06f8f&req=dSYjHst4nYVeXvMW1HO4zc2jJqE%2BhIjiSBkgeTglJrr2OhjKsDUfzTwRAM7B%0AKZH82hhobtcdstOK32U%3D%0A) ## How to change your font @@ -16,10 +16,10 @@ 2. Select from Default, Match System, and Dyslexic Friendly. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260416/7fc0803d44d8de40f8e6636b2eb6/AD_4nXf0UEDa1i2QmqlQtoB5BgpQ-FfZVzss_7wMVQdvkmEDSfoTxixnG0GSxC6qrOs21HdkXH-I2Yn_GHDAf8yjd6FJtoh9FadALozvIErFp9r8LychDGLPb7OpN1CN4PRcgVAYNCre?expires=1793295900&signature=dffddb128746df1d45329b71376063384f69b8f12434e66ba66323e0a02b9d5e&req=dSYjHst4nYVeX%2FMW1HO4zc896mPnVHQ1QtNFlF5%2FHEfhuH%2Br1IR6S4b67zYm%0AVWgnaTQfhm4rN%2BsIBWE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260416/7fc0803d44d8de40f8e6636b2eb6/AD_4nXf0UEDa1i2QmqlQtoB5BgpQ-FfZVzss_7wMVQdvkmEDSfoTxixnG0GSxC6qrOs21HdkXH-I2Yn_GHDAf8yjd6FJtoh9FadALozvIErFp9r8LychDGLPb7OpN1CN4PRcgVAYNCre?expires=1793343600&signature=af54b8632f9450faa7948670166ae95e22c949d3360a1820b4d2f4cb1d11acf6&req=dSYjHst4nYVeX%2FMW1HO4zc896mPmWXI6QtNFlF5%2FHEdyuV1QWgFtavh%2ByBF1%0AWaGd%2Bnqm%2F073vqfXsBs%3D%0A) ## Can I disable the sidebar? It's not currently possible to completely disable the sidebar. You can click the button on the top right of the sidebar to open or close it. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1941108004/5217903737ddd9bb62fe5d7a904c/CleanShot+2026-01-14+at+09_12_58.png?expires=1793295900&signature=fd6758e683438321485f6d34d79c20557dc08d1b895516a25baca04bd40bac17&req=dSkjF8h%2BlYFfXfMW1HO4zUS%2BBlz0UH7mylfYa7uDb9mhnAYSqDQoWc2EvCsI%0AUy6AdlHwTIRzqLZojMU%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1941108004/5217903737ddd9bb62fe5d7a904c/CleanShot+2026-01-14+at+09_12_58.png?expires=1793343600&signature=9689e9ae97ebfebd2960180402ce0ee5af501e4558cb06565eb7308e5113ba11&req=dSkjF8h%2BlYFfXfMW1HO4zUS%2BBlz1XXjpylfYa7uDb9k4xa7%2FsXk6g79INJM7%0A0LMhNCwS%2F2Y%2B%2FhNbyRk%3D%0A) \ No newline at end of file diff --git a/content/support/9267400-move-your-personal-claude-account-to-a-team-or-enterprise-organization.md b/content/support/9267400-move-your-personal-claude-account-to-a-team-or-enterprise-organization.md index adcd4c2215..7b91822020 100644 --- a/content/support/9267400-move-your-personal-claude-account-to-a-team-or-enterprise-organization.md +++ b/content/support/9267400-move-your-personal-claude-account-to-a-team-or-enterprise-organization.md @@ -132,7 +132,7 @@ For the full walkthrough of your options, deadlines, and what happens to your su You may have both a personal account and an organization account tied to the same email address. You can switch between them by clicking your initials or name in the lower left corner of the screen. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312193347/712f763fc290b2488c103849f20c/0c135a6f-3442-4ee1-9ab7-98673f03ef6e?expires=1793295900&signature=73b15a7241b4bfa7a23300371e11050eaf385c7cb4304c25ff4c0a7e87e87af3&req=diMmFMh3noJbXvMW1HO4zXhPnNM0wRpoufhmlOXMdYaLN7zLe0MKq5GPCRoo%0AurcgrJQ6Q3WpunC2td8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312193347/712f763fc290b2488c103849f20c/0c135a6f-3442-4ee1-9ab7-98673f03ef6e?expires=1793343600&signature=5109eaf715242ab892dc4b3af0cbcf155574557930d0258fe394ca6470234e55&req=diMmFMh3noJbXvMW1HO4zXhPnNM1zBxnufhmlOXMdYZiSr9e%2Bw71DTtyD2z4%0AqSdOryS4oqJbmtpYGwY%3D%0A) A blue checkmark shows which account you're currently using. Click the other account to switch to it and access its separate conversations and projects. diff --git a/content/support/9519177-how-can-i-create-and-manage-projects.md b/content/support/9519177-how-can-i-create-and-manage-projects.md index feb089a440..fae793f19f 100644 --- a/content/support/9519177-how-can-i-create-and-manage-projects.md +++ b/content/support/9519177-how-can-i-create-and-manage-projects.md @@ -104,15 +104,15 @@ Starring a project allows for quick access from your projects and chats list, vi You can move a standalone chat into a project by clicking on the dropdown arrow next to the chat name, then “Add to project”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784190248/0f19c8de18b494a27be252fdfaff/d4e7a5c5-25f5-4623-862b-c593d2dc0b39?expires=1793295900&signature=c22c39c26af004cafdf790df07885532f63752bffd44b2f3c3cb7ee5fdd82940&req=dScvEsh3nYNbUfMW1HO4zQABaGJuQ6UcBSXNVFXQ%2FVERCa4JpGow0x6gA%2BlU%0A7cesFpUWWtKuKDe98JQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784190248/0f19c8de18b494a27be252fdfaff/d4e7a5c5-25f5-4623-862b-c593d2dc0b39?expires=1793343600&signature=912fe6b4bb2b39928068f14802fa45d1b41ebda303070d99f5ac3ebf704e8f62&req=dScvEsh3nYNbUfMW1HO4zQABaGJvTqMTBSXNVFXQ%2FVGMRLDzf18zUHWcEOel%0AoHR8pv9H985t%2B6gDXug%3D%0A) Browse or search for the correct project in the **Move chat** modal that appears, then click on it to move the chat. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784190951/34dc256ccd4c0cf74976f31062e6/55365cf2-059d-41b2-ac95-4b00c4389a76?expires=1793295900&signature=b623fe6d70fa35adf6f6ff0c052b3b0e5c25669f897028da6dc8d83052c9a4b1&req=dScvEsh3nYhaWPMW1HO4zSMECyOywgwIgYbpTjViBxA2JV8UIAMv0GW%2BBIR7%0AkXtlROqUvlz0lRhG9Pk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784190951/34dc256ccd4c0cf74976f31062e6/55365cf2-059d-41b2-ac95-4b00c4389a76?expires=1793343600&signature=1e54646967d3367747def2443d98d52574bb93927cd1bcaa41d24297aeae54a5&req=dScvEsh3nYhaWPMW1HO4zSMECyOzzwoHgYbpTjViBxCwEJrkLs9drc4UhNkd%0AUSXeDjx9TTAouAqit3c%3D%0A) You can also remove chats from projects, or move them between projects, using the same dropdown menu within the chat: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784185682/8625eac15b9fa452f148a6c47250/c53a1bc4-a991-4684-a789-5447ed789d35?expires=1793295900&signature=7779661d4d938577457305b3cd0aca00bdc1b8fc561e4615d1efe15cdbfcaa63&req=dScvEsh2mIdXW%2FMW1HO4zb6DufQuB0ADS2r1%2FGRlqOS55ts1tyBlARN0Z3c8%0ApwGQfiSxvH7fvydl8gE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784185682/8625eac15b9fa452f148a6c47250/c53a1bc4-a991-4684-a789-5447ed789d35?expires=1793343600&signature=cac3e2103dce9d4f70418576c3c13e6b3ddef33d5a3eabd2cb38541028ca2cd4&req=dScvEsh2mIdXW%2FMW1HO4zb6DufQvCkYMS2r1%2FGRlqOT8JtfeuMSG%2BlI4Fp9v%0AWGS3sT2Jcvwux0ZqxRo%3D%0A) --- diff --git a/discovery.json b/discovery.json index e6b4e353b6..0e162bf623 100644 --- a/discovery.json +++ b/discovery.json @@ -1,7 +1,7 @@ { "version": 1, "note": "What the last full run could see outside sources.json. Written by the fetcher so a new source arrives as a diff a human reviews, not as a line in an Actions log nobody reads. Stable facts only: a change here is always news. `review` is the actionable list \u2014 domains we could archive today and do not.", - "updated": "2026-10-29", + "updated": "2026-10-30", "domains": { "anthropic.com": { "status": "frozen", diff --git a/tombstones.json b/tombstones.json index 808e4b415f..bd9c30821e 100644 --- a/tombstones.json +++ b/tombstones.json @@ -1,7 +1,7 @@ { "version": 1, "note": "URLs confirmed gone upstream. Kept so a page that died once does not report as a fresh failure on every later run, which would bury the failure that is actually new. An entry clears itself if the URL answers again -- but only while something still probes it. Entries whose local file was removed are no longer fetched, so they stay as a record of the restructure rather than a live check.", - "updated": "2026-10-29", + "updated": "2026-10-30", "urls": { "https://claude.com/docs/claude-science/annotations": { "since": "2026-09-01", @@ -779,14 +779,6 @@ "since": "2026-10-02", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/apps/chat/projects/list" }, - "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost": { - "since": "2026-10-02", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_report" - }, - "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list": { - "since": "2026-10-02", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_report/list" - }, "https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list_by_user": { "since": "2026-10-02", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/user_cost_report/list" @@ -795,14 +787,6 @@ "since": "2026-10-02", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/summaries/list" }, - "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage": { - "since": "2026-10-02", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_report" - }, - "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list": { - "since": "2026-10-02", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_report/list" - }, "https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list_by_user": { "since": "2026-10-02", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/user_usage_report/list" @@ -1511,6 +1495,10 @@ "since": "2026-10-23", "reason": "moved -> https://support.claude.com/en/articles/17440474-move-from-standalone-claude-design-to-claude" }, + "https://support.claude.com/en/articles/17444146-claude-haiku-4-5-is-leaving-the-model-selector": { + "since": "2026-10-30", + "reason": "moved -> https://support.claude.com/en/articles/17444146-claude-haiku-4-5-was-removed-from-the-model-selector" + }, "https://support.claude.com/en/articles/7996906-reporting-blocking-and-removing-content-from-claude": { "since": "2026-08-25", "reason": "moved -> https://support.claude.com/en/articles/7996906-report-block-and-remove-content-from-claude"